Skip to main content
Xonsh
=====

.. raw:: html

<img src="https://avatars.githubusercontent.com/u/17418188?s=200&v=4" alt="Xonsh shell icon." align="left" width="100px">

**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 platforms, including Linux, macOS, Windows, BSD, Jupyter, Android, Raspberry Pi and Nix.

.. raw:: html

<br clear="left"/>

.. list-table::
:widths: 1 1

* - **Xonsh is the Shell**
- **Xonsh is Python**

* - .. code-block:: shell

cd $HOME

id $(whoami) > ~/id.txt

cat /etc/passwd | grep root

$PROMPT = '@ '


- .. code-block:: python

2 + 2

var = "hello".upper()

@.imp.json.loads('{"a":1}')

[i for i in range(0,10)]

* - **Xonsh is the Shell in Python**
- **Xonsh is Python in the Shell**

* - .. code-block:: python

len($(curl -L https://xon.sh))

$PATH.append('/tmp')

p'/etc/passwd'.read_text().find('usr')

$(@json podman ps --format json)['ID']

- .. code-block:: python

name = 'snail'
echo @(name) > /tmp/@(name)

with p'/tmp/dir'.mkdir().cd():
touch @(input('File: '))

aliases['e'] = 'echo @(2+2)'
aliases['a'] = lambda args: print(args)

* - **Xonsh is Everywhere**
- **Xonsh is an Ecosystem**

* - .. code-block:: python

$PATH
# ['/bin', '/sbin'] # Linux
# ['/homebrew/bin'] # macOS
# ['/usr/local/bin'] # FreeBSD
# ['/mnt/c/Windows/System32'] # WSL
# [r'c:\Windows\System32'] # Windows
# ['/nix/store/0-python/bin'] # Nix
# ['/data/termux/usr/bin'] # Termux
# ['/tmp/.mount_x/usr/bin/'] # AppImage
# ['/app/bin'] # Flatpak

$PATH = ['/my/own/path']


- .. code-block:: python

xontrib load term_integration \
prompt_starship \
powerline \
dracula \
chatgpt \
django \
jupyter \
1password \
github_copilot \
history_encrypt

* - **Xonsh is a Meta-Shell**
- **Xonsh is User-extensible**


* - .. code-block:: python

xontrib load sh \
fish_completer

osqueryi ! SELECT platform FROM os_version

def nudf(cmd):
return @.imp.pandas.DataFrame(
$(@json nu -c @(cmd+'| to json')))
nudf!(ls -la)

aliases['ai'] = 'ollama run llama3'
ai! how to remove images in podman

- .. code-block:: python

@events.on_ptk_create
def custom_keybindings(bindings, **kw):
@bindings.add(Keys.ControlI)
def say_whoami(event):
echo $(whoami)

@events.on_postcommand
def _prompt_err_cmd(cmd, rtn, out, ts):
if rtn != 0:
$XONSH_PROMPT_NEXT_CMD = cmd.rstrip()

If you like xonsh, :star: the repo and spread the word about xonsh.

.. class:: center

.. image:: https://img.shields.io/badge/Zulip%20Community-xonsh-green
:target: https://xonsh.zulipchat.com/
:alt: Join to xonsh.zulipchat.com

.. image:: https://repology.org/badge/tiny-repos/xonsh.svg
:target: https://repology.org/project/xonsh/versions
:alt: repology.org

.. image:: https://img.shields.io/badge/Docker%20Hub-xonsh-blue
:target: https://hub.docker.com/u/xonsh
:alt: hub.docker.com

.. image:: https://img.shields.io/badge/AppImage-xonsh-lightblue
:target: https://xon.sh/appimage.html
:alt: AppImage

.. image:: https://github.com/xonsh/xonsh/actions/workflows/test.yml/badge.svg
:target: https://github.com/xonsh/xonsh/actions/workflows/test.yml
:alt: GitHub Actions


First steps
***********

- `Installation <https://xon.sh/install.html>`_ - isolated environment, package, container or portable AppImage.
- `Tutorial <https://xon.sh/tutorial.html>`_ - step by step introduction in Xonsh.

Extensions
**********

Xonsh has an extension/plugin system. We call these additions ``xontribs``.

- `Xontribs on Github <https://github.com/topics/xontrib>`_
- `Awesome xontribs <https://github.com/xonsh/awesome-xontribs>`_
- `Core xontribs <https://xon.sh/api/_autosummary/xontribs/xontrib.html>`_
- `Create a xontrib step by step from template <https://github.com/xonsh/xontrib-template>`_

Projects that use Xonsh or compatible
*************************************

- `Assistant <https://gitlab.com/waser-technologies/technologies/assistant>`_: An AI-powered shell with a full Xonsh terminal and a multi-agent LLM system.
- `CrateDB <https://github.com/crate>`_: The Database for Real-Time Analytics and Hybrid Search.
- `conda <https://conda.io/projects/conda/en/latest/>`_ and `mamba <https://mamba.readthedocs.io/en/latest/>`_: Cross-platform package managers.
- `Starship <https://starship.rs/>`_: Cross-shell prompt.
- `zoxide <https://github.com/ajeetdsouza/zoxide>`_: A smarter cd command.
- `gitsome <https://github.com/donnemartin/gitsome>`_: Supercharged Git/shell autocompleter with GitHub integration.
- `xxh <https://github.com/xxh/xxh>`_: Using Xonsh wherever you go through the SSH.
- `kash <https://github.com/jlevy/kash>`_: The knowledge agent shell.
- `Snakemake <https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#xonsh>`_: A workflow management system to create reproducible and scalable data analyses.
- `any-nix-shell <https://github.com/haslersn/any-nix-shell>`_: Xonsh support for the ``nix run`` and ``nix-shell`` environments of the Nix package manager.
- `lix <https://github.com/lix-project/lix>`_: A modern, delicious implementation of the Nix package manager.
- `x-cmd <https://www.x-cmd.com/>`_: x-cmd is a vast and interesting collection of tools guided by the Unix philosophy.
- `rever <https://regro.github.io/rever-docs/>`_: Cross-platform software release tool.
- `Regro autotick bot <https://github.com/regro/cf-scripts>`_: Regro Conda-Forge autoticker.

Jupyter-based interactive notebooks via `xontrib-jupyter <https://github.com/xonsh/xontrib-jupyter>`_:

- `Jupyter and JupyterLab <https://jupyter.org/>`_: Interactive notebook platform.
- `Euporie <https://github.com/joouha/euporie>`_: Terminal based interactive computing environment.
- `Jupytext <https://jupytext.readthedocs.io/>`_: Clear and meaningful diffs when doing Jupyter notebooks version control.

Compiling, packaging, or accelerating Xonsh:

- `AppImage <https://github.com/appimage>`_ is a format for distributing Linux applications and can be used to `create a standalone xonsh package <https://xon.sh/appimage.html>`_.
- `Nuitka <https://github.com/Nuitka/Nuitka>`_ is an optimizing Python compiler that can `build a native Xonsh binary <https://github.com/xonsh/xonsh/issues/2895#issuecomment-3665753657>`_.
- `RustPython <https://github.com/RustPython/RustPython/>`_ is a Python interpreter written in Rust that can `run xonsh on top of Rust <https://github.com/xonsh/xonsh/issues/5082#issue-1611837062>`_.


Welcome to the Xonsh shell community
************************************

The Xonsh shell is developed by a community of volunteers. There are a few ways to help out:

- Write a note or an article about Xonsh.
- Send a link to Xonsh to your favorite blogger.
- Add Xonsh support in third party tool: `package manager <https://github.com/topics/package-manager>`_, `terminal emulator <https://github.com/topics/terminal-emulators>`_, `console tool <https://github.com/topics/console>`_, `IDE <https://github.com/topics/ide>`_.
- Give a star to Xonsh repository and to `xontribs <https://github.com/topics/xontrib>`_ you like.
- Solve a `popular issue <https://github.com/xonsh/xonsh/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc>`_ or `high priority issue <https://github.com/xonsh/xonsh/issues?q=is%3Aopen+is%3Aissue+label%3Apriority-high+sort%3Areactions-%2B1-desc>`_ or a `good first issue <https://github.com/xonsh/xonsh/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22+sort%3Areactions-%2B1-desc>`_. You can start with the `Developer guide <https://xon.sh/devguide.html>`_. Feel free to use LLM e.g. `Github Copilot <https://github.com/copilot>`_.
- Take an `idea <https://github.com/xonsh/xontrib-template/issues?q=is%3Aopen+is%3Aissue+label%3Aidea+sort%3Areactions-%2B1-desc>`_ and `create a new xontrib <https://github.com/xonsh/xontrib-template#why-use-this-template>`_.
- Contribute to `Xonsh API <https://github.com/xonsh/xonsh/tree/main/xonsh/api>`_.
- Become Xonsh core developer by deep diving into xonsh internals. E.g. we feel a lack of Windows support.
- Test Xonsh with compiler, interpreter, optimizer and report upstream issues (e.g. `Nuitka <https://github.com/xonsh/xonsh/issues/2895#issuecomment-3665753657>`_, `RustPython <https://github.com/xonsh/xonsh/issues/5082#issue-1611837062>`_).
- Design more `logos and images <https://github.com/anki-code/xonsh-logo>`_, improve `Xonsh website <https://xon.sh/>`_ (`src <https://github.com/xonsh/xonsh/blob/12f12ce94f1b6c92218e22fbdaaa846e16ac8b2d/docs/_templates/index.html#L9>`_).
- `Become a sponsor to Xonsh <https://github.com/sponsors/xonsh>`_.

We welcome new contributors!

Credits
*******

- Thanks to `Zulip <https://zulip.com/>`_ for supporting the `Xonsh community <https://xonsh.zulipchat.com/>`_!
- Thanks to `HELLOTUX <https://www.hellotux.com/>`_ for distributing the `Xonsh t-shirts, backpacks and more <https://www.hellotux.com/xonsh>`_!
- Thanks to ADS.FUND for supporting `Xonsh token <https://ads.fund/token/0xadf7478450b69a349ed9634b18584d2d3da81464>`_!

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xonsh-0.24.2.tar.gz (1.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

xonsh-0.24.2-py314-none-any.whl (822.3 kB view details)

Uploaded Python 3.14

xonsh-0.24.2-py313-none-any.whl (822.2 kB view details)

Uploaded Python 3.13

xonsh-0.24.2-py312-none-any.whl (821.7 kB view details)

Uploaded Python 3.12

xonsh-0.24.2-py311-none-any.whl (821.7 kB view details)

Uploaded Python 3.11

File details

Details for the file xonsh-0.24.2.tar.gz.

File metadata

  • Download URL: xonsh-0.24.2.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for xonsh-0.24.2.tar.gz
Algorithm Hash digest
SHA256 461244cf1de8ed28d0c07cc548342b9e7969d46e17ef8d71b5d3064307930a25
MD5 b655e98dba3d745cd2f7926504228e32
BLAKE2b-256 c128974f44afd5c05bcfb012d52a91b514e629706048c85d669a29eab2f0369a

See more details on using hashes here.

Provenance

The following attestation bundles were made for xonsh-0.24.2.tar.gz:

Publisher: publish.yml on xonsh/xonsh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xonsh-0.24.2-py314-none-any.whl.

File metadata

  • Download URL: xonsh-0.24.2-py314-none-any.whl
  • Upload date:
  • Size: 822.3 kB
  • Tags: Python 3.14
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for xonsh-0.24.2-py314-none-any.whl
Algorithm Hash digest
SHA256 158c155a179b6883f2289b3788bb12d18988feb59c6ab6224009306c0214b83d
MD5 dfd103e9951a3cb62c138eb2e88bb093
BLAKE2b-256 5f637a0e86b907ee1ff7d0e20d0e90777d261abed2e15da1896d3ca76cfef76e

See more details on using hashes here.

Provenance

The following attestation bundles were made for xonsh-0.24.2-py314-none-any.whl:

Publisher: publish.yml on xonsh/xonsh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xonsh-0.24.2-py313-none-any.whl.

File metadata

  • Download URL: xonsh-0.24.2-py313-none-any.whl
  • Upload date:
  • Size: 822.2 kB
  • Tags: Python 3.13
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for xonsh-0.24.2-py313-none-any.whl
Algorithm Hash digest
SHA256 da19e84ad0361c0c8052f5119fd08bd111995df60fa233b8a61a3d66ea253d78
MD5 5e68ede96d7c885f8f17fc4591cda290
BLAKE2b-256 086aaaae1f889eec7f015aa8b7041f807871cb18a2c2bc8f0564c5ca70f4bc16

See more details on using hashes here.

Provenance

The following attestation bundles were made for xonsh-0.24.2-py313-none-any.whl:

Publisher: publish.yml on xonsh/xonsh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xonsh-0.24.2-py312-none-any.whl.

File metadata

  • Download URL: xonsh-0.24.2-py312-none-any.whl
  • Upload date:
  • Size: 821.7 kB
  • Tags: Python 3.12
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for xonsh-0.24.2-py312-none-any.whl
Algorithm Hash digest
SHA256 68e93b77bbf9e2a26f70bf323a1c311014dc2aed9ebcf036e68e7fe59ed0849c
MD5 d51e3c469d0c5961639041d7b7bf5f16
BLAKE2b-256 b0779a9b1e1fcf377b412bb45626be1af9a97414f8a3aa96df566e06b8ebb092

See more details on using hashes here.

Provenance

The following attestation bundles were made for xonsh-0.24.2-py312-none-any.whl:

Publisher: publish.yml on xonsh/xonsh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xonsh-0.24.2-py311-none-any.whl.

File metadata

  • Download URL: xonsh-0.24.2-py311-none-any.whl
  • Upload date:
  • Size: 821.7 kB
  • Tags: Python 3.11
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for xonsh-0.24.2-py311-none-any.whl
Algorithm Hash digest
SHA256 60015217f74663d52c4038e495546710ecdffeb0beae96834b4ac3ea970a3927
MD5 727bff5fe545627665c4476ac187d955
BLAKE2b-256 16322dc9f6142d6744fa584a59507030a851971e4088af86f187437344f60315

See more details on using hashes here.

Provenance

The following attestation bundles were made for xonsh-0.24.2-py311-none-any.whl:

Publisher: publish.yml on xonsh/xonsh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.24.2 This release

5 files

0.24.1

5 files

0.24.0

5 files

0.23.8

5 files

0.23.7

5 files

0.23.6

5 files

0.23.5

5 files

0.23.4

5 files

0.23.3

5 files

0.23.2

5 files

0.23.1

5 files

0.23.0

5 files

0.22.8

4 files

0.22.7

4 files

0.22.6

4 files

0.22.5

4 files

0.22.4

4 files

0.22.3

4 files

0.22.2

4 files

0.22.1

4 files

0.22.0

4 files

0.21.2

4 files

0.21.1

4 files

0.21.0

4 files

0.20.0

4 files

0.19.9

6 files

0.19.8

6 files

0.19.3

6 files

0.19.2

6 files

0.19.1

6 files

0.19.0

6 files

0.18.4

5 files

0.18.3

5 files

0.18.2

5 files

0.18.1

5 files

0.17.0

5 files

0.16.0

5 files

0.15.1

5 files

0.15.0

5 files

0.14.4

5 files

0.14.3

5 files

0.14.2

5 files

0.14.1

5 files

0.14.0

5 files

0.13.4

5 files

0.13.3

4 files

0.13.2

4 files

0.13.1

4 files

0.13.0

4 files

0.12.6

4 files

0.12.5

4 files

0.12.4

1 file

0.12.3

2 files

0.12.2

2 files

0.12.1

1 file

0.12.0

1 file

0.11.0

1 file

0.10.1

1 file

0.10.0

1 file

0.9.27

1 file

0.9.26

1 file

0.9.25

1 file

0.9.24

1 file

0.9.23

1 file

0.9.22

1 file

0.9.21

1 file

0.9.20

1 file

0.9.19

1 file

0.9.18

1 file

0.9.17

1 file

0.9.16

1 file

0.9.15

1 file

0.9.14

1 file

0.9.13

1 file

0.9.12

1 file

0.9.11

1 file

0.9.10

1 file

0.9.9

1 file

0.9.8

1 file

0.9.7

1 file

0.9.6

1 file

0.9.5

1 file

0.9.4

1 file

0.9.3

1 file

0.9.2

1 file

0.9.1

1 file

0.9.0

1 file

0.8.12

1 file

0.8.11

1 file

0.8.10

1 file

0.8.9

1 file

0.8.8

1 file

0.8.7

1 file

0.8.6

1 file

0.8.5

1 file

0.8.4

1 file

0.8.3

1 file

0.8.2

1 file

0.8.1

1 file

0.8.0

1 file

0.7.10

1 file

0.7.9

1 file

0.7.8

1 file

0.7.7

1 file

0.7.6

1 file

0.7.5

1 file

0.7.4

1 file

0.7.3

1 file

0.7.2

1 file

0.7.1

1 file

0.7.0

1 file

0.6.10

1 file

0.6.9

1 file

0.6.8

1 file

0.6.7

1 file

0.6.6

1 file

0.6.5

1 file

0.6.4

1 file

0.6.3

1 file

0.6.2

1 file

0.6.1

1 file

0.6.0

1 file

0.5.12

1 file

0.5.10

1 file

0.5.9

1 file

0.5.8

1 file

0.5.7

1 file

0.5.6

1 file

0.5.5

1 file

0.5.4

1 file

0.5.3

1 file

0.5.2

1 file

0.5.1

1 file

0.5.0

1 file

0.4.7

1 file

0.4.6

1 file

0.4.5

1 file

0.4.4

1 file

0.4.3

1 file

0.4.2

1 file

0.4.1

1 file

0.4.0

1 file

0.3.4

1 file

0.3.3

1 file

0.3.2

1 file

0.3.1

1 file

0.3.0

1 file

0.2.7

1 file

0.2.6

1 file

0.2.5

1 file

0.2.4

1 file

0.2.3

1 file

0.2.2

1 file

0.2.1

1 file

0.2.0

1 file

0.1.6

1 file

0.1.5

1 file

0.1.4

1 file

0.1.3

1 file

0.1.2

1 file

0.1.1

1 file

0.1.0

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page