A cross-platform package manager wrapper
Project description
Nyah ๐
A polished, cross-platform package manager wrapper.
Nyah unifieswinget,chocolatey,scoop,apt,dnf,pacman,apk,flatpak,pkg,npm, andpipbehind 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
- Fork the repo
- Add your feature in the right backend or dispatcher method
- Write a test in
test_nyah.py - Run
pytest nyah/test_nyah.py -qโ all must pass - Open a PR
License
MIT
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nyah-0.1.0.tar.gz.
File metadata
- Download URL: nyah-0.1.0.tar.gz
- Upload date:
- Size: 44.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96951b5feefd419a29c36394f19ce1d0eec013c9d8378d3cfd82ceb00f3fb59f
|
|
| MD5 |
0f10e428c167085b2b182a4732758819
|
|
| BLAKE2b-256 |
4572a9cb6343c2ea5fafdc336181b42b761c72e5bd9e314cd9f5ca4af030d6a6
|
File details
Details for the file nyah-0.1.0-py3-none-any.whl.
File metadata
- Download URL: nyah-0.1.0-py3-none-any.whl
- Upload date:
- Size: 56.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f99a000167430da660eb2f1cf22e4356289fae9bb7652bad0018b09335d45bd7
|
|
| MD5 |
bd05a6134df940361486a58cdf71caae
|
|
| BLAKE2b-256 |
23b1f56a1fbee657bf995e8d7d4e21b2dcbcfbae29386c8b9817a012fa2b8464
|