the xonsh shell

~ ~

Xonsh is a Python-ish, BASHwards-looking shell language and command prompt. The language is a superset of Python 3.4+ with additional shell primitives that you are used to from Bash 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.

At a glance

Installation

You can install xonsh using conda, pip, or from source.

conda:

$ conda install -c xonsh xonsh

Note

For the bleeding edge development version use conda -c xonsh/channel/dev xonsh

pip:

$ pip install xonsh

source: Download the source from github (zip file), then run the following from the source directory,

$ python setup.py install

Arch Linux users can install xonsh from the Arch User Repository with e.g. yaourt or aura:

yaourt:

$ yaourt -Sa xonsh      # yaourt will call sudo when needed

aura:

$ sudo aura -A xonsh

If you run into any problems, please let us know!

Comparison

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

  Bash zsh plumbum fish IPython xonsh
Sane language    
Easily scriptable  
Native cross-platform support    
Meant as a shell    
Tab completion  
Man-page completion        
Large standard library      
Typed variables    
Syntax highlighting       in notebook w/ prompt-toolkit
Pun in name      
Rich history          

Dependencies

Xonsh currently has the following external dependencies,

Run Time:

  1. Python v3.4+
  2. PLY
  3. prompt-toolkit (optional)

Documentation:

  1. Sphinx <http://sphinx-doc.org/> (which uses

    reStructuredText <http://sphinx-doc.org/rest.html>)

  2. Numpydoc

  3. Cloud Sphinx Theme

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 ask the mailing list (xonsh@googlegroups.com).

Contact Us

If you have questions or comments, please send them to the mailing list xonsh@googlegroups.com, page us on IRC, check out this fine blog, contact the author directly, or open an issue on GitHub. Join the mailing list here!