Installation

Install the stable pysh-shell distribution from PyPI or verified GitHub Release packages.

Note: PySH 1.0.0 requires CPython 3.13.0 or newer. Debian 13, Fedora 43, and FreeBSD 14.4 are reference evidence environments, not OS-version allowlists.

Requirements

  • ✓CPython 3.13.0 or newer, with no upper minor-version bound
  • ✓A supported Unix family: Debian-family Linux, RPM-family Linux, or FreeBSD family
  • ✓Unix/POSIX process, terminal, signal, filesystem, and executable-lookup facilities required by the documented shell contract
Warning: PySH installs the explicit pysh command. It is not a /bin/sh provider and must not replace the operating-system shell used by system scripts or package-manager hooks.

Install from PyPI

PyPI installation

$ python3.13 -m pip install --upgrade pip

$ python3.13 -m pip install pysh-shell==1.0.0


$ pysh --version

pysh 1.0.0

$ python -m pysh --version

pysh 1.0.0

The PyPI package name is pysh-shell. It installs the pysh console command and can also be launched with python -m pysh.

GitHub Release native packages

Every stable release publishes wheel and sdist packages plus native .deb, .rpm, and FreeBSD .pkg artifacts.

Debian-family Linux

Debian / Ubuntu / derivatives

# Download the matching release asset first

$ sudo apt install ./pysh-shell_1.0.0-1_all.deb

$ pysh --version

The Debian package requires python3 >= 3.13 and is intended for compatible Debian, Ubuntu, Kali Linux, Linux Mint, Pop!_OS, and related Debian/Ubuntu-derived systems.

RPM-family Linux

Fedora / RHEL-family

# Download the matching release asset first

$ sudo dnf install ./pysh-shell-1.0.0-1.noarch.rpm

$ pysh --version

RPM-family runtime support includes Fedora, RHEL, Rocky Linux, AlmaLinux, and CentOS Stream families when the required CPython and Unix capabilities are present. Fedora 43 is the reference smoke environment.

FreeBSD / GhostBSD

FreeBSD reference package

# The published reference archive is built on FreeBSD 14.4 amd64 / CPython 3.13

$ sudo pkg add "./pysh-shell-1.0.0.pkg"

$ pysh --version

The published .pkg carries a native FreeBSD package ABI. An ABI mismatch does not mean PySH runtime support is absent; use Python packaging or build the canonical package on the target host instead of forcing an incompatible archive.

Windows and WSL

Info: PySH v1 makes no native Windows support claim. When PySH runs inside WSL, the applicable support contract is the Linux distribution running inside that WSL environment.

Verify release assets

GitHub Release verification

$ gh release download v1.0.0 --repo SSobol77/pysh

$ sha256sum -c SHA256SUMS


# Provenance / Sigstore verification

$ gh attestation verify <artifact> --repo SSobol77/pysh --signer-workflow SSobol77/pysh/.github/workflows/release-artifacts.yml

Stable releases publish reproducibility evidence, SHA-256 checksums, one SPDX 2.3 JSON SBOM per package, and GitHub Artifact Attestations. The checksum, provenance, and SBOM controls are complementary.

Upgrade

Upgrade from PyPI

$ python3.13 -m pip install --upgrade pysh-shell

$ pysh --version

Existing ~/.pyshrc.py user configuration is preserved across PyPI and native-package upgrades.

Troubleshooting installation

  • ✓If pysh is not found after a user-level pip install, ensure the Python user-bin directory is on PATH.
  • ✓Do not bypass a FreeBSD package ABI mismatch with forced pkg installation flags.
  • ✓Use pysh --version and python -m pysh --version to confirm the installed distribution.