Skip to main content

Python-powered shell. Full-featured and cross-platform.

Project description

xonsh is a Python-powered shell. Full-featured and cross-platform. The language is a superset of Python 3.6+ with additional shell primitives. Xonsh word was made from conch (🐚, @) and indicates belonging to the command shells world.

Xonsh is the Shell

Xonsh is Python

cd $HOME

id $(whoami)

cat /etc/passwd | grep root > ~/root.txt

$PROMPT = '@ '
2 + 2

var = "hello".upper()

import json; json.loads('{"a":1}')

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

Xonsh is the Shell in Python

Xonsh is Python in the Shell

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

$PATH.append('/tmp')

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

id = $(@json docker ps --format json)['ID']
name = 'foo' + 'bar'.upper()
echo @(name) > /tmp/@(name)

ls @(input('file: '))

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

If you like xonsh, :star: the repo, write a tweet and stay tuned by watching releases.

Join to xonsh.zulipchat.com GitHub Actions codecov.io repology.org

First steps

Install xonsh from pip:

python -m pip install 'xonsh[full]'

And visit https://xon.sh for more information:

Extensions

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

Projects that use xonsh or compatible

  • conda and mamba: Modern package managers.

  • Starship: Cross-shell prompt.

  • zoxide: A smarter cd command.

  • gitsome: Supercharged Git/shell autocompleter with GitHub integration.

  • xxh: Using xonsh wherever you go through the SSH.

  • any-nix-shell: xonsh support for the nix run and nix-shell environments of the Nix package manager.

  • lix: A modern, delicious implementation of the Nix package manager.

  • x-cmd: x-cmd is a vast and interesting collection of tools guided by the Unix philosophy.

  • rever: Cross-platform software release tool.

  • Regro autotick bot: Regro Conda-Forge autoticker.

Jupyter-based interactive notebooks via xontrib-jupyter:

  • Jupyter and JupyterLab: Interactive notebook platform.

  • euporie: Terminal based interactive computing environment.

  • Jupytext: Clear and meaningful diffs when doing Jupyter notebooks version control.

The xonsh shell community

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

We welcome new contributors!

Credits

  • Thanks to Zulip for supporting the xonsh community!

Project details


Release history Release notifications | RSS feed

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.18.2.tar.gz (791.5 kB view details)

Uploaded Source

Built Distributions

xonsh-0.18.2-py312-none-any.whl (637.0 kB view details)

Uploaded Python 3.12

xonsh-0.18.2-py311-none-any.whl (637.0 kB view details)

Uploaded Python 3.11

xonsh-0.18.2-py310-none-any.whl (637.0 kB view details)

Uploaded Python 3.10

xonsh-0.18.2-py39-none-any.whl (629.2 kB view details)

Uploaded Python 3.9

File details

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

File metadata

  • Download URL: xonsh-0.18.2.tar.gz
  • Upload date:
  • Size: 791.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for xonsh-0.18.2.tar.gz
Algorithm Hash digest
SHA256 c5073d154f14c210d855aff4863f69ce9215be084ed5562899bdf1c934f7a53b
MD5 182da77b9e4cd5b124dfaf8d1c2f8445
BLAKE2b-256 64e8ea068dfef7a1d49bd947a4a006a9188130bbb7dc08fd5e9fdb426a283cfc

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: xonsh-0.18.2-py312-none-any.whl
  • Upload date:
  • Size: 637.0 kB
  • Tags: Python 3.12
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for xonsh-0.18.2-py312-none-any.whl
Algorithm Hash digest
SHA256 df8010b4af4eeaa7602a0bcd590f2b613337b66d255fcd8478f43046e4e2e6bc
MD5 e6cd933ade0b3a8e0fb101582a23150d
BLAKE2b-256 c479c8ccc1c6674f040634caf54421a41d8e5a2c08ebf207e109f84b14763310

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: xonsh-0.18.2-py311-none-any.whl
  • Upload date:
  • Size: 637.0 kB
  • Tags: Python 3.11
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for xonsh-0.18.2-py311-none-any.whl
Algorithm Hash digest
SHA256 ca48d859cdccdf38b6d42277f5aa32ad2e02899fd80e86a67bd81a483f9b676a
MD5 149b54cab102cd0d29a62638a668d13b
BLAKE2b-256 ba9fcb6001aa99d38b4694a8a03fe0cb5530f1b715a565d2470df6c2d414543e

See more details on using hashes here.

Provenance

File details

Details for the file xonsh-0.18.2-py310-none-any.whl.

File metadata

  • Download URL: xonsh-0.18.2-py310-none-any.whl
  • Upload date:
  • Size: 637.0 kB
  • Tags: Python 3.10
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for xonsh-0.18.2-py310-none-any.whl
Algorithm Hash digest
SHA256 efebe62cfe101b48772b732b456293608abb6008e96b225ff3c32307241b10bb
MD5 12edf4bca62027753127806ba1807224
BLAKE2b-256 9d3ad76d7802a25d6ecb13915e0b68ca6888a5c48d215033e832612fc3f1b80c

See more details on using hashes here.

Provenance

File details

Details for the file xonsh-0.18.2-py39-none-any.whl.

File metadata

  • Download URL: xonsh-0.18.2-py39-none-any.whl
  • Upload date:
  • Size: 629.2 kB
  • Tags: Python 3.9
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for xonsh-0.18.2-py39-none-any.whl
Algorithm Hash digest
SHA256 e666aeed5503178d671a0a3b6347510b640bb7c2b36ef0e1794252947c799351
MD5 754241f7e43ed7defb0bf9bb8235f480
BLAKE2b-256 08958d714b36a8fbb9f715a65939a967014145771780b255bf2542a4b60c84e3

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page