awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
xonsh avatar

xonsh/xonsh

0
View on GitHub↗
9,529 stars·730 forks·Python·26 viewsxon.sh↗

Xonsh

Xonsh is a cross-platform command-line interface shell and automation tool that integrates a full Python interpreter with standard shell capabilities. It functions as a Python-powered environment where users can mix native programming logic and external subprocesses within a single shared namespace.

The shell is designed for extensibility, supporting a plugin system, custom event hooks, and the ability to import configurations from other shells such as Bash or Zsh. It differentiates itself by representing system environment variables and paths as mutable Python objects, allowing for programmatic environment management.

The project covers a broad range of automation and productivity capabilities, including polyglot command execution, dynamic prompt customization, and virtual environment management. It also provides tools for command history persistence, path globbing, and shell code formatting.

The environment can be set up across different systems using a Nix flake configuration.

Features

  • Python Interpreter Integration - Integrates a full Python interpreter directly into the shell, allowing users to mix Python code with shell commands.
  • Interactive Programming Shells - Integrates a full Python interpreter with standard shell capabilities for interactive computing and automation.
  • CLI Environment Managers - Provides programmatic management of environment variables and shell context by treating them as Python objects.
  • Polyglot Execution Orchestrators - Allows the seamless execution and data passing between diverse code types and language runtimes within a single session.
  • Cross-Platform Scripting Environments - Ensures consistent shell environment and automation script execution across different operating systems.
  • Development Environment Management - Handles virtual environments, environment variables, and system paths programmatically within a single session.
  • Dynamic Variable Evaluators - Resolves shell variables and substitutions by evaluating Python expressions at runtime.
  • Embedded Expression Execution - Allows programming expressions to be embedded directly within standard shell commands and pipes.
  • Extensible Command-Line Interfaces - Offers a customizable shell supporting plugins, custom event hooks, and configuration imports from other shells.
  • Interactive Programming Shells - Combines a full Python programming language with a command-line interface to provide a cross-platform automation environment.
  • Python Scripting Environments - Creates an environment where Python scripts and shell commands are mixed to manage complex system workflows.
  • Subprocess Management - Provides comprehensive utilities for spawning and controlling external system processes and managing their output streams.
  • Language-Integrated Environments - Provides a command-line interface that integrates a full Python interpreter with standard shell capabilities.
  • Cross-Platform Shell Emulators - Functions as a shell emulator that works across different operating systems with subprocess compatibility.
  • Object-Oriented Environment Mapping - Represents system environment variables and paths as mutable Python objects for programmatic manipulation.
  • Command-Line Interpreters - Acts as a scriptable command-line interpreter that parses shell syntax into Python expressions for OS interaction.
  • Hybrid Execution Models - Evaluates a mixture of native Python code and external subprocesses within a single shared namespace.
  • System Shell Integrations - Integrates modern Python syntax and data structures directly within the command line for system manipulation.
  • Event Hook Systems - Implements an architectural pattern for executing custom logic at defined shell lifecycle events through registered callbacks.
  • System Automation Scripts - Allows writing complex automation scripts by mixing standard shell commands with high-level Python structures.
  • Shell Plugins and Extensions - Implements a plugin system to load external extensions and community contributions for new features and themes.
  • Command Aliasing - Provides mechanisms for mapping shortened names to existing commands using both string substitution and callable functions.
  • Command Completion Systems - Implements a system for generating and managing tab-completion for subprocesses and Python objects.
  • Event-Driven Workflow Triggers - Provides automated triggers and keybindings that initiate custom logic based on shell environment events.
  • Shell Customization Frameworks - Provides frameworks for tailoring the command line via custom prompts, aliases, and event hooks.
  • Shell History Managers - Records sessions using database or file backends with advanced support for filtering, deleting, and syncing.
  • Shell Prompt Customizers - Ships utilities for configuring and styling the command-line interface prompt using configurable fields.
  • Virtual Environment Managers - Provides a dedicated utility to create and activate isolated programming environments.
  • Shell Hook Integrations - Leverages shell-native hooks to trigger custom Python logic on environment state changes, such as directory shifts.
  • ANSI Escape Sequence Renderers - Implements a rendering engine that uses ANSI escape sequences to construct a dynamic and customizable command-line prompt.
  • Command History Persistence - Provides persistent disk-based storage of user-entered commands with support for swappable storage backends.
  • CLI Tools - Listed in the “CLI Tools” section of the Awesome Python awesome list.
  • Command Line Shells - Python-powered, cross-platform Unix shell.
  • Shell Integration - Cross-platform shell powered by the Python language.
  • Shells - Python-based, cross-platform Unix shell language.
  • Shells and Command Line - Python-superset shell language and interactive command prompt.
  • Terminal Shells - Python-powered shell for cross-platform Unix environments.
  • CLI Tools - Python-powered shell.

Star history

Star history chart for xonsh/xonshStar history chart for xonsh/xonsh

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Xonsh

These projects share indexed features with Xonsh. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • nushell/nushellnushell avatar

    nushell/nushell

    39,743View on GitHub↗

    Nushell is a cross-platform shell and programming language designed to treat all input and output as structured data rather than raw text streams. By enforcing data types and command signatures, it provides a consistent environment for building robust, pipeline-oriented workflows. The shell allows users to chain commands that pass structured objects between stages, enabling complex data processing and automation tasks that remain predictable across different operating systems. What distinguishes the project is its focus on interactive data exploration and modular extensibility. Users can quer

    Rustnushellrustshell
    View on GitHub↗39,743
  • oils-for-unix/oilsoils-for-unix avatar

    oils-for-unix/oils

    3,288View on GitHub↗

    Oils is a Unix shell interpreter and scripting language runtime that combines a modern shell language with POSIX and Bash compatibility. It functions as a structured data shell, integrating JSON and J8 formats to manage complex data without relying on string parsing. The system is distinguished by a C++ transpiled interpreter that converts a subset of Python source code into strongly typed C++ for high-performance execution. It features a garbage-collected typed runtime that supports prototype-based polymorphism, lexical closures, and reference-based variable mutation. To decouple shell logic

    Python
    View on GitHub↗3,288
  • donnemartin/gitsomedonnemartin avatar

    donnemartin/gitsome

    7,674View on GitHub↗

    Gitsome is a command-line interface tool for managing repositories, issues, and pull requests via the GitHub and GitHub Enterprise APIs. It provides an interactive shell environment featuring an embedded Python interpreter for programmatic automation and dynamic scripting, alongside a project bootstrapping utility for generating standard license and gitignore templates. The tool distinguishes itself with a schema-driven autocomplete engine that parses remote API definitions in real-time to provide context-aware command suggestions. It also implements an index-based navigation system that allo

    Python
    View on GitHub↗7,674
  • sorin-ionescu/preztosorin-ionescu avatar

    sorin-ionescu/prezto

    14,552View on GitHub↗

    Prezto is a Zsh configuration framework and shell environment manager designed to organize environment variables, aliases, and startup scripts through a modular file structure. It functions as a plugin collection and prompt theme engine, utilizing Zsh-native scripting to manage shell behavior across different platforms. The framework distinguishes itself through a modular-based configuration and submodule-driven extensions, allowing users to load discrete functional modules and update core components via Git. It features a dedicated prompt engine that integrates repository metadata and system

    Shell
    View on GitHub↗14,552
Compare all 30 related projects→

Frequently asked questions

What does xonsh/xonsh do?

Xonsh is a cross-platform command-line interface shell and automation tool that integrates a full Python interpreter with standard shell capabilities. It functions as a Python-powered environment where users can mix native programming logic and external subprocesses within a single shared namespace.

What are the main features of xonsh/xonsh?

The main features of xonsh/xonsh are: Python Interpreter Integration, Interactive Programming Shells, CLI Environment Managers, Polyglot Execution Orchestrators, Cross-Platform Scripting Environments, Development Environment Management, Dynamic Variable Evaluators, Embedded Expression Execution.

Which projects share features with xonsh/xonsh?

Projects with overlapping indexed features include: nushell/nushell — Nushell is a cross-platform shell and programming language designed to treat all input and output as structured data… oils-for-unix/oils — Oils is a Unix shell interpreter and scripting language runtime that combines a modern shell language with POSIX and… donnemartin/gitsome — Gitsome is a command-line interface tool for managing repositories, issues, and pull requests via the GitHub and… sorin-ionescu/prezto — Prezto is a Zsh configuration framework and shell environment manager designed to organize environment variables,… ipython/ipython — IPython is an interactive computing environment and programmable extension of the Python read-eval-print loop. It… oilshell/oil — Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who…