the xonsh shell

~ ~

Xonsh (sounds like “consh”) is a modern, full-featured and cross-platform python shell. The language is a superset of Python 3.6+ with additional shell primitives that you are used to from Bash and IPython. It works on all major systems including Linux, OSX, and Windows. Xonsh is meant for the daily use of experts and novices.

Comparison

Xonsh is significantly different from most other shells or shell tools. The following table lists built in features and capabilities that various tools may or may not share.

Bash

zsh

plumbum

fish

IPython

xonsh

Meant as a shell

Native cross-platform

Practical language

Typed variables and objects

Syntax highlighting

Large standard library

Stays readable at scale

Testable

User-patchable

Package and deps manager

AI friendly

Rich history backend

Installation

Xonsh can be installed and run with various package managers, by using appimage, or from a docker container:

Guides

Config Files and Settings

Contributing

We highly encourage contributions to xonsh! If you would like to contribute, it is as easy as forking the repository on GitHub, making your changes, and issuing a pull request. If you have any questions about this process don’t hesitate to join to Xonsh Zulip Community.

See the Developer’s Guide for more information about contributing.

Python versions support policy

Xonsh adopts NEP-0029 in supporting Python versions. Simply speaking a minor Python release (X.*) will be supported for 42 months from its date of initial release. Since Python has adopted yearly release cycle, most of the time, the latest 4 minor versions of Python would be supported at any given time.

Contact Us

If you have questions or comments, please:

Development Spiral