Automic VaultAutomic Vault

brew

Install xonsh with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Python-powered, cross-platform, Unix-gazing shell language and command prompt. Version 0.24.0 via Homebrew; verified 2026-07-03.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install xonsh

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install xonsh

MacPorts ports tree · shells/xonsh/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add xonsh

Alpine Linux edge package indexes · xonsh · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install xonsh

Debian stable package indexes · xonsh · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install xonsh

Fedora Rawhide package metadata · xonsh · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#xonsh

nixpkgs package indexes · pkgs/by-name/xo/xonsh/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S xonsh

Arch Linux sync databases · xonsh · source: geo.mirror.pkgbuild.com

openSUSE zypperverified · 92%
sudo zypper install xonsh

openSUSE Tumbleweed package metadata · xonsh · source: download.opensuse.org

overview

Package summary

Python-powered, cross-platform, Unix-gazing shell language and command prompt

Commands and aliases

  • xonsh
  • xonsh-cat
  • xonsh-uname
  • xonsh-uptime

history

Project history and usage

Xonsh is a Python-powered shell and command prompt that treats Python as the command language while adding shell syntax for subprocesses, environment handling, path work, tab completion, and prompts. Its package-nerd hook is that it is both an interactive shell and an installable Python ecosystem: users can script with normal Python objects, run ordinary Unix commands, and extend the prompt with xontribs.

The project sits in the same alternative-shell conversation as fish, zsh, IPython, and Nushell, but its distinguishing bet is conservative and unusual: do not invent a completely new programming language when Python can be the shell language.

Project history

Anthony Scopatz's FAQ says the idea for xonsh came while reviewing the Bash chapter of Effective Computation in Physics and noticing how much shell practice depends on complex conventions for basic programming constructs. The FAQ frames xonsh as an answer to shells that do not fit the user's brain: Python supplies the familiar programming substrate, while xonsh adds enough shell behavior to make it usable as a daily command prompt.

The GitHub repository was created on 2015-01-21. The documentation and README describe xonsh as a superset of Python 3 with seamless integration of shell functionality and commands, implemented by parsing xonsh code into Python AST nodes and deciding between Python mode and subprocess mode when command-like input is ambiguous.

By 2016 xonsh had enough visibility for talks at PyCon and PyBay and coverage in developer publications. Later official talk listings include SciPy 2019 presentations, showing that the project found an audience among scientific Python, data, and systems users who wanted shell ergonomics without leaving the Python runtime.

Adoption history

Xonsh adoption has been strongest among Python-heavy developers, data scientists, and automation users who already value Python syntax and libraries. The project README explicitly demonstrates running subprocesses, mutating PATH, reading files with Python path literals, loading xontribs, and interop with tools such as Jupyter, Starship, and prompt integrations.

Its adoption pattern is less about replacing POSIX shell everywhere and more about creating a daily-driver shell for people who prefer Python's data structures, imports, and expression syntax. The official docs stress cross-platform support across Linux, macOS, Windows, BSD, Jupyter, Android, Raspberry Pi, WSL, Nix, AppImage, Flatpak, and other environments, which made it a natural package-manager item rather than a single-platform shell experiment.

How it is used

Typical use is interactive: set xonsh as a login or terminal shell, keep startup code in xonsh rc files, run normal external commands, and drop into Python expressions when shell text processing would be awkward. The tutorial emphasizes Python-mode versus subprocess-mode, environment variables as Python-accessible values, and explicit subprocess syntax for cases where ambiguity matters.

For automation, xonsh is useful when a task needs both shell pipelines and real Python data handling. Users commonly reach for it to glue command-line tools, JSON output, Python imports, prompt customization, and cross-platform path/environment logic without splitting the workflow between Bash and standalone Python scripts.

Why package nerds care

Xonsh is package-nerd significant because it makes the shell itself an application-runtime choice. Installing it changes not just one command but the language used at the prompt, the configuration files a user maintains, and the extension surface exposed through xontribs.

It is also a useful counterexample to the idea that every shell needs its own bespoke scripting language. Xonsh's design shows a different packaging story: ship a shell that borrows the host language's parser, AST, libraries, and package ecosystem, then add only the command-line affordances needed to make it feel native at a terminal.

Timeline

  • 2015-01-21: The xonsh GitHub repository is created.
  • 2016-06: Xonsh is presented at PyCon and covered by developer press.
  • 2016-09: A PyBay talk appears in the official talks list.
  • 2019-07: Xonsh is presented at SciPy by Anthony Scopatz and Gil Forsyth.
  • 2026: The project documentation describes xonsh as a cross-platform Python-based shell with an ecosystem of xontrib extensions.

Related projects

  • Python is the language substrate xonsh extends for shell use.
  • IPython is a related Python command-line environment that xonsh explicitly contrasts with in its FAQ.
  • fish, zsh, Bash, and Nushell are adjacent shells in the same usability and scripting-design space.
  • xontrib packages are the extension layer for prompt integrations, completions, shell interop, and workflow-specific features.

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:shell

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 1 runtime dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
~/.xonshrc~/.config/xonsh/rc.xsh/etc/xonsh/xonshrc~/.config/xonsh/rc.d//etc/xonsh/rc.d/
Windows
%ALLUSERSPROFILE%\xonsh\xonshrc

executables

Installed executables

CommandKindExposureNote
xonshcliglobal executable
xonsh-catcliglobal executable
xonsh-unamecliglobal executable
xonsh-uptimecliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version0.24.0
manager updated2026-07-03
local dataok
upstreamnot checked
latest detectednot detected

https://xon.sh

  • infoRelease/tag comparison is only available for GitHub repositories.https://xon.shnone confidence

install metadata

Package metadata

Package keybrew:xonsh
Version0.24.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/xonsh
Homepagehttps://xon.sh
Repositoryhttps://github.com/xonsh/xonsh
Upstream docshttps://xon.sh/contents.html
LicenseBSD-2-Clause-Views
Source archivehttps://files.pythonhosted.org/packages/1e/82/a70fcbd8e542a55b990c61707c4f26fd42071badd3c08193931706a10323/xonsh-0.24.0.tar.gz
Last updated2026-07-03T13:30:45Z
Pulseupdated
Dependenciespython@3.14
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namexonsh
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

xonsh 0.19.4+dfsg-1

Python-powered, cross-platform, Unix-gazing shell

https://xon.sh/

sudo apt install xonsh
  • Section: shells
  • Architecture: all
  • 2 dependencies
  • 6 optional deps
  • normalized package name match
  • Matched by: Xonsh
Debian stable package indexes · deb.debian.org · Debian stable package indexes: xonsh from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

xonsh-doc 0.19.4+dfsg-1

Python-powered, cross-platform, Unix-gazing shell (documentation)

https://xon.sh/

sudo apt install xonsh-doc
  • Section: doc
  • Architecture: all
  • Source Package: xonsh
  • 1 dependencies
  • normalized package name match
  • Matched by: Xonsh
Debian stable package indexes · deb.debian.org · Debian stable package indexes: xonsh-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

xonsh

nix profile install nixpkgs#xonsh
  • normalized package name match
  • Matched by: Xonsh
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/xo/xonsh/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

xonsh 0.14.4+dfsg-1

Python-powered, cross-platform, Unix-gazing shell

https://xon.sh/

sudo apt install xonsh
  • Section: universe/shells
  • Architecture: all
  • 2 dependencies
  • 5 optional deps
  • normalized package name match
  • Matched by: Xonsh
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: xonsh from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

xonsh-doc 0.14.4+dfsg-1

Python-powered, cross-platform, Unix-gazing shell (documentation)

https://xon.sh/

sudo apt install xonsh-doc
  • Section: universe/doc
  • Architecture: all
  • Source Package: xonsh
  • 1 dependencies
  • normalized package name match
  • Matched by: Xonsh
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: xonsh-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

xonsh 0.22.8-r0

Python-powered, full-featured and cross-platform shell

https://xon.sh

sudo apk add xonsh
  • License: BSD-2-Clause
  • Architecture: x86_64
  • Source Package: xonsh
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Xonsh
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: xonsh from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
apk95%

xonsh-pyc 0.22.8-r0

Precompiled Python bytecode for xonsh

https://xon.sh

sudo apk add xonsh-pyc
  • License: BSD-2-Clause
  • Architecture: x86_64
  • Source Package: xonsh
  • 1 dependencies
  • normalized package name match
  • Matched by: Xonsh
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: xonsh-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
dnf95%

xonsh 0.23.1-2.fc45

A general purpose, Python-ish shell

https://xon.sh

sudo dnf install xonsh
  • License: BSD-2-Clause AND MIT
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: xonsh
  • 4 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Xonsh
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: xonsh from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
pacman95%

xonsh 0.23.8-1

A python-powered shell. Full-featured and cross-platform.

https://xon.sh/

sudo pacman -S xonsh
  • License: BSD-2-Clause
  • Architecture: any
  • 6 dependencies
  • 4 optional deps
  • normalized package name match
  • Matched by: Xonsh
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: xonsh from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
zypper95%

xonsh 0.23.1-1.1

A general purpose, Python-powered shell

https://xon.sh/

sudo zypper install xonsh
  • License: BSD-2-Clause AND BSD-3-Clause
  • Category: Development/Languages/Python
  • Architecture: noarch
  • Source Package: xonsh
  • 3 dependencies
  • 4 provides
  • normalized package name match
  • Matched by: Xonsh
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: xonsh from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

xonsh-doc 0.23.1-1.1

Documentation files for xonsh

https://xon.sh/

sudo zypper install xonsh-doc
  • License: BSD-2-Clause AND BSD-3-Clause
  • Category: Documentation/HTML
  • Architecture: noarch
  • Source Package: xonsh
  • 1 provides
  • normalized package name match
  • Matched by: Xonsh
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: xonsh-doc from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

xonsh

sudo port install xonsh
  • normalized package name match
  • Matched by: Xonsh
MacPorts ports tree · api.github.com · MacPorts ports tree: shells/xonsh/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment