Contribute Media
A thank you to everyone who has made this possible: Read More

Xonsh - put some Python in your Shell


Xonsh is a Python-ish, BASHwards-looking shell language and command prompt. The language is a superset of Python 3.4+ with additional support for the best parts of shells that you are used to, such as Bash, zsh, fish, and IPython. It works on all major systems including Linux, Mac OSX, and Windows. Xonsh is meant for the daily use of experts and novices alike. ‚Äč Abstract Programmers spend their time at a command line interface often sticking to default shell. A lot of progress have been made for the friendliness, usability, extensibility of shell. We thus introduce Xonsh which attempt to bring the command line shell to the 21st century.

Xonsh is general purpose shell that combines Python and the best features of Bash, zsh, IPython and fish. Written in Python and relying only the standard library and PLY, the xonsh language is a strict superset of Python that compiles to a Python AST. The shell can provides exciting features: rich history, tab completion from bash and man pages, syntax highlighting, auto-suggestion, foreign-function aliases and more!

Wether you are a novice who is looking to use use the command line, or an Python expert Xonsh is made for you.

Because xonsh is Python, it automatically has all the available python ecosystem at your fingertip. Xonsh makes meshing and intertwining python code with command-line interfaces as seamless as possible. Have you ever wanted to use regular expressions to glob files? No problem! Ever wanted to curl a remote resource right into json.loads()? Now you can. Do you not want to leave the command line to use pandas, NLTK or add two numbers together? No big deal.

The xonsh homepage is at

Bio: I am a PostDoc at UC Berkeley Institute for Data science, and have been a core Developer of IPython and Jupyter for a couple of years. With a background in Physics I spend most of my time developing tools for the scientific community and for education as well as promoting Python 3.


Improve this page