One short CLI for pip/npm/node/python chores
Project description
Crystal Dependency Manager (crys)
One short command instead of remembering different pip/npm invocations.
Install
cd crystal-dependency-manager
pip install .
This registers a crys command on your PATH (via Python's normal
console-scripts mechanism).
Why
crys doesn't reinvent pip/npm/apt/brew/choco — it just remembers the
long command for you and runs it. A few examples of what's actually
happening behind the scenes:
| You type | crys runs (depending on your OS/tools) |
|---|---|
crys update pip |
python -m pip install --upgrade pip |
crys update npm |
npm install -g npm@latest |
crys update py |
sudo apt update && sudo apt install --only-upgrade python3 (or brew upgrade python, choco upgrade python, ...) |
crys update node |
sudo apt install --only-upgrade nodejs (or brew upgrade node, choco upgrade nodejs, ...) |
crys remove py |
sudo apt remove python3 (or brew uninstall python, choco uninstall python, ...) — with a confirmation prompt first |
crys remove node |
brew uninstall node / apt remove nodejs / choco uninstall nodejs — with a confirmation prompt first |
crys lib install req py |
pip install -r requirements.txt |
crys lib install req node |
npm install |
Every run also prints the exact command it's about to execute (the
cyan $ ... line), so you can see what actually happened and learn
the "real" command if you ever need it without crys.
Commands
crys lib install req py install from requirements.txt (pip)
crys lib install req node install from package.json (npm)
crys update pip upgrade pip itself
crys update npm upgrade npm itself
crys update py upgrade the Python interpreter
crys update node upgrade the Node.js runtime
crys update py lib <name> pip install --upgrade <name>
crys update node lib <name> npm install <name>@latest
crys remove py uninstall Python (asks to confirm)
crys remove node uninstall Node.js (asks to confirm)
crys version py print the Python version
crys version node print the Node.js version
crys uninstall remove Crystal Dependency Manager
crys help show help text
Notes on the risky commands
crys update node/crys update pytry, in order:nvm/pyenv(if present, they just print the right follow-up command since those are shell functions, not real executables), thenbrewon macOS, thenapt/dnf/pacmanon Linux, thenchoco/wingeton Windows.crys remove node/crys remove pyalways ask for confirmation first.crys remove pyon Linux refuses to run automatically, since removing the system Python package can break the OS — it prints the manual command instead.- Everything shells out to the real tool (
pip,npm,brew,apt, etc.) rather than reimplementing package management, socrysstays a thin, predictable wrapper.
Uninstalling
crys uninstall
or manually: pip uninstall crystal-dependency-manager
Project details
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 crys-0.1.1.tar.gz.
File metadata
- Download URL: crys-0.1.1.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
588ee1a337f03ef642c8da90b705306358352c4cc7c2e0c59b7392ced07af575
|
|
| MD5 |
002b0bdeb709efc2a3c4e91926345a36
|
|
| BLAKE2b-256 |
f2ac31bc94642d4e18765b734dec88129a1a133f5903f480c4f4dbfa369b8c6c
|
File details
Details for the file crys-0.1.1-py3-none-any.whl.
File metadata
- Download URL: crys-0.1.1-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4030df257f7590244096bbf15f257ff345f3b998b09a79c23e89cdbd4ec9b805
|
|
| MD5 |
17c80cd378b4ce94d55c00ff2a598008
|
|
| BLAKE2b-256 |
f2440d4dfd52ad08385b97dbea65c23affae6611f9938c5bebc1e8788d6df2c1
|