The Xonsh Shell

~ ~

Xonsh (sounds like “consh”) is a full-featured and cross-platform Python-based shell. The language is a superset of Python 3 with seamless integration of shell functionality and commands. It works on all major systems including Linux, macOS, and Windows. Xonsh is meant for the daily use of experts and novices.

Comparison

The following table lists built in features and capabilities that various tools may or may not share.

Traditional
bash, zsh

Next-generation
fish, nu, elvish

Python‑based
IPython, plumbum

Xonsh
shell

Meant as a shell

🟢 🟢 🟢

First-class objects

🟢 🟢

Native cross-platform

🟢 🟢

Large standard library

🟢

General-purpose language

🟢

Built-in testability

🟢

Maintains clarity at scale

🟢

User-patchable

🟢

Package and deps manager

🟢

AI-friendly

🟢

Installation

Xonsh can be installed and run with various methods:

Docs

Beginner

The fundamentals of using Xonsh, including basic commands, syntax, and how subprocesses work in practice. This section introduces key concepts step by step and helps you build a solid foundation for working in the shell.

Regular User

How to use Xonsh efficiently in daily workflows by configuring environment variables, aliases, and history. It also covers customization options, keyboard shortcuts, and practical tips to improve productivity and streamline your command-line experience.

Creator

How to extend Xonsh by building projects, creating extensions, and customizing tab-completion. This section also explores deeper integrations, event handling, and advanced customization techniques for building powerful developer tools.

Contributor

The internal architecture of Xonsh and how to work with its API. It also guides you through contributing to the project, understanding the codebase, and collaborating with others.