Skip to main content

Nyah 🐈

A polished, cross-platform package manager wrapper.
Nyah unifies winget, chocolatey, scoop, apt, dnf, pacman, apk, flatpak, pkg, npm, and pip behind a single consistent CLI.


Philosophy

  • Wrapper only. Nyah never hosts packages or resolves dependencies itself.
  • Zero cloud. No telemetry, no package registry, no server.
  • Lightweight. Installs as a Python package; no binaries required.

Quick Start

pip install nyah          # install
nyah doctor               # check system health
nyah install git          # install a package
nyah search neovim        # find a package

Installation

pip install nyah
# or from source:
git clone https://github.com/yourname/nyah && cd nyah
pip install -e .

Commands

Package Management

Command Description
nyah install <pkg> [<pkg2>...] Install one or more packages
nyah install <pkg> with <backend> Force a specific backend
nyah remove <pkg> Remove a package
nyah reinstall <pkg> Remove then re-install
nyah purge <pkg> Remove + delete leftover config/cache dirs
nyah repair <pkg> Attempt to repair a broken install
nyah upgrade [<pkg>...] Upgrade packages
nyah update Refresh package database
nyah list List installed packages
nyah search <query> Search for packages

Information

Command Description
nyah info <pkg> Detailed package info (version, homepage, license, location)
nyah which <pkg> Locate executable, backend, and version
nyah homepage <pkg> Open package homepage in browser

Developer Setups

Quickly bootstrap an entire developer environment:

nyah setup python     # git + python + vscode + pipx
nyah setup rust       # git + rust + llvm + vscode
nyah setup cpp        # git + cmake + llvm + vscode
nyah setup web        # git + node + vscode
nyah setup node       # git + node + yarn + vscode
nyah setup gamedev    # git + cmake + python + vscode
nyah setup ai         # git + python + vscode + pipx + cuda

Workspace Manifests

Create a nyah.toml in your project directory:

[packages]
git    = true
python = true
vscode = true
rust   = true

Then just run:

nyah install    # reads nyah.toml automatically

Export / Import / Sync

nyah export                    # save package list to packages.json
nyah export -o mylist.json     # custom filename
nyah import mylist.json        # install missing packages
nyah sync mylist.json          # sync: install missing, skip installed

Backup & Restore

nyah backup                      # creates nyah_backup.json
nyah backup -o my_backup.json    # custom filename
nyah restore nyah_backup.json    # restore packages + config

Backup includes: installed packages, preferred backend, all config, and command history.

Backend Management

nyah backend              # show current, installed, available backends
nyah use winget           # switch preferred backend
nyah enable scoop         # install a new backend (Windows)

History

nyah history                        # all history
nyah history --filter install       # only installs
nyah history --filter remove        # only removals
nyah history --last 10              # last 10 entries

Health & Doctor

nyah health      # check installed dev tools (Git, Python, Node, Java, Rust, Go, CMake, VS...)
nyah doctor      # full system diagnostic (OS, arch, PATH, admin status, backends)
nyah doctor --fix  # auto-repair common issues

Cache

nyah cache size    # show cache disk usage
nyah cache clean   # remove stale entries (keeps config + history)
nyah cache clear   # delete entire cache

Config

nyah config                    # list all config keys
nyah config get preferred_backend
nyah config set colors false
nyah config set preferred_backend chocolatey

Misc

nyah version       # Nyah and backend versions
nyah --help        # full help
nyah --debug       # verbose error output

Supported Backends

Backend Platform Auto-install
winget Windows ✔
chocolatey Windows ✔
scoop Windows ✔
apt Linux (Debian/Ubuntu) –
dnf Linux (Fedora/RHEL) –
pacman Linux (Arch) –
apk Linux (Alpine) –
flatpak Linux ✔ (via apt/dnf)
pkg FreeBSD –
npm Any (Node.js) –
pip Any (Python) –
git Any –

Architecture

nyah/
├── cli.py          ← Argument parsing + output formatting
├── dispatcher.py   ← All business logic
├── config.py       ← ~/.nyah/config.json
├── detector.py     ← Discovers installed package managers
├── logger.py       ← Colored console output
├── backend/
│   ├── base.py     ← Abstract backend interface
│   ├── winget.py
│   ├── chocolatey.py
│   ├── scoop.py
│   ├── apt.py
│   ├── dnf.py
│   ├── pacman.py
│   ├── apk.py
│   ├── flatpak.py
│   ├── pkg.py
│   ├── npm.py
│   ├── pip.py
│   └── git.py
└── test_nyah.py    ← Full test suite (50+ tests)

Contributing

  1. Fork the repo
  2. Add your feature in the right backend or dispatcher method
  3. Write a test in test_nyah.py
  4. Run pytest nyah/test_nyah.py -q — all must pass
  5. Open a PR

License

MIT

Metadata

Release files for nyah 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nyah 0.1.1
File Size Uploaded
nyah-0.1.1.tar.gz 44.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nyah 0.1.1
File Interpreter ABI Platform
nyah-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 101.2 kB

Release files / nyah-0.1.1.tar.gz

Download URL nyah-0.1.1.tar.gz
Size 44.7 kB
Tags Source
SHA-256 checksum
How to use checksums
af74a42cb73e3aa249901640be0b52bb82f3c6f6b31b1e02ae0c17820438b10c
BLAKE2b-256 checksum
How to use checksums
98ab5a13ccfb26c3bc8afc635063b1744ca7148eeb16c2d2e7f07f93f39564e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / nyah-0.1.1-py3-none-any.whl

Download URL nyah-0.1.1-py3-none-any.whl
Size 56.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fe63a34fa99be2891dd7be0c895d6894304a29cc8b1808e54de255d757c7f494
BLAKE2b-256 checksum
How to use checksums
995f0fc51847a8619f30753505d82ba18413809e4eb5ca7a6b0157f70eae40f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page