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')

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

ls @(input('file: '))
touch @([f"file{i}" for i in range(0,10)])

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

Uploaded Source

Built Distributions

xonsh-0.18.4-py312-none-any.whl (637.5 kB view details)

Uploaded Python 3.12

xonsh-0.18.4-py311-none-any.whl (637.6 kB view details)

Uploaded Python 3.11

xonsh-0.18.4-py310-none-any.whl (637.6 kB view details)

Uploaded Python 3.10

xonsh-0.18.4-py39-none-any.whl (629.8 kB view details)

Uploaded Python 3.9

File details

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

File metadata

  • Download URL: xonsh-0.18.4.tar.gz
  • Upload date:
  • Size: 793.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for xonsh-0.18.4.tar.gz
Algorithm Hash digest
SHA256 5ab71e3bd0650036995b457ce91f96be81fb3ef2959173e0396e7e83042e2952
MD5 48925174759913cef49d309afcd07a4b
BLAKE2b-256 d5b1c636b3dd0aad77bc45b6344c0aa4dd19694ebb67052b24bfdef35c23cd3c

See more details on using hashes here.

Provenance

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

Publisher: publish.yml on xonsh/xonsh

Attestations:

File details

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

File metadata

  • Download URL: xonsh-0.18.4-py312-none-any.whl
  • Upload date:
  • Size: 637.5 kB
  • Tags: Python 3.12
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for xonsh-0.18.4-py312-none-any.whl
Algorithm Hash digest
SHA256 b4ffb8497d38d9c50e8b6003cf4c27b440e664c28ceccd605cdfee039edd4043
MD5 8a9b2917c8fd75b54babcd4d7ef26e4c
BLAKE2b-256 fd584dbfacd9b9629b24234a9e1e7d22f63a58b5e9831b92d2dcbda409f07226

See more details on using hashes here.

Provenance

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

Publisher: publish.yml on xonsh/xonsh

Attestations:

File details

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

File metadata

  • Download URL: xonsh-0.18.4-py311-none-any.whl
  • Upload date:
  • Size: 637.6 kB
  • Tags: Python 3.11
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for xonsh-0.18.4-py311-none-any.whl
Algorithm Hash digest
SHA256 c28fb81e18e40a6d8c76f71905848eb0d132215d0fddcfba8bf377aaaa0bec23
MD5 8c8e7c6376467a79b91f2f650227e099
BLAKE2b-256 99b79568ffcb19b730d0a0ade2f54be62e65828b2ddd35ca9be39b28edbf5877

See more details on using hashes here.

Provenance

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

Publisher: publish.yml on xonsh/xonsh

Attestations:

File details

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

File metadata

  • Download URL: xonsh-0.18.4-py310-none-any.whl
  • Upload date:
  • Size: 637.6 kB
  • Tags: Python 3.10
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for xonsh-0.18.4-py310-none-any.whl
Algorithm Hash digest
SHA256 7c043bda3223f55caf72cc87e0c61eb94cffd6b2fbe8295da9dc10604a98e2f9
MD5 59b83e2f27b2f0f406d011f1ae34915c
BLAKE2b-256 97d676339325f999f57fcc32bc138aabddf08c11125ab889e269926b91e95e2f

See more details on using hashes here.

Provenance

The following attestation bundles were made for xonsh-0.18.4-py310-none-any.whl:

Publisher: publish.yml on xonsh/xonsh

Attestations:

File details

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

File metadata

  • Download URL: xonsh-0.18.4-py39-none-any.whl
  • Upload date:
  • Size: 629.8 kB
  • Tags: Python 3.9
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for xonsh-0.18.4-py39-none-any.whl
Algorithm Hash digest
SHA256 7ddea61b34d2ac3f27c8f99810bae040a60b9ab639816880f48a1e144aa9300c
MD5 0a1e6efb62ecda8bfc72ffa8952cd2b3
BLAKE2b-256 c2c6db5ba9c72b4b37ab6aee41f02ccb521ff886cc3453719fcd1dc1164c5144

See more details on using hashes here.

Provenance

The following attestation bundles were made for xonsh-0.18.4-py39-none-any.whl:

Publisher: publish.yml on xonsh/xonsh

Attestations:

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