xonsh

xon.sh ↗

Combine Python expressions and shell commands in one Python-based command prompt.

SI Score
80/100
Pricing
Not confirmed
Free plan
Not confirmed
Sign-up required
Not confirmed

Ask SI about xonsh

Answers use saved listing facts and recorded sources.
Homepage screenshot
Screenshot of the xonsh homepage

What it does

xonsh is a Python-based shell that brings Python expressions together with familiar shell commands, pipelines, and environment access. Its documentation covers interactive use, scripts, and extensions called xontribs, with installation routes including pip, AppImage, and containers. It runs on Windows, macOS, Linux, and Android. The project warns that xonsh is not POSIX-compatible, so it should not be treated as a drop-in replacement for every shell script or system login shell.

Try it in a terminal profile

The official installation guide offers several approaches, including pip install 'xonsh[full]' for a Python environment. After installation, start the prompt with xonsh. In the tutorial, Python assignments and shell commands can be combined; for example, set name = 'report' and run echo @(name). The project recommends adding xonsh as a profile in a terminal emulator rather than replacing the system shell. That distinction matters: the language includes shell operations but is not POSIX-compatible, so existing POSIX scripts may need adaptation. Extensions, called xontribs, provide another way to customize a shell environment.

The GitHub Releases page lists version 0.25.0, dated 2026-10-22 in its release notes. The current main-branch commit feed lists ci(nix): update flake.lock at 2026-10-25T10:23:54Z. The official LICENSE uses the two-condition BSD license text. These are maintenance and license findings, not hands-on test results.

Strengths

  • Use Python expressions and shell commands in the same prompt.
  • The installation guide documents package, AppImage, and container routes.
  • The project documents extensions through xontribs and supports several operating systems.

Watch out for

  • xonsh is not POSIX-compatible, so existing shell scripts may not work unchanged.
  • The installation guide advises against replacing the system login shell unless the user understands the consequences.

Best for

  • Interactive terminal work that benefits from Python libraries and shell commands in one environment
  • Developers who want to customize a Python-based shell with xontrib extensions

Sources