Multi-environment package manager for Python with dependency isolation
Project description
EnvKnit
Multi-version Python package manager — isolate environments, lock dependencies, and run multiple package versions side by side.
Quick Start
envknit init # creates envknit.yaml
envknit add "requests>=2.28"
envknit add "numpy>=1.24,<2.0" --env ml
envknit lock # creates envknit.lock.yaml
envknit install # installs to ~/.envknit/packages/
envknit run -- python -m pytest
Installation
CLI — download the standalone binary from the Releases page:
# Linux
curl -L https://github.com/wgsim/EnvKnit/releases/latest/download/envknit-linux-amd64 -o envknit
chmod +x envknit && sudo mv envknit /usr/local/bin/
# macOS (Apple Silicon)
curl -L https://github.com/wgsim/EnvKnit/releases/latest/download/envknit-macos-arm64 -o envknit
chmod +x envknit && sudo mv envknit /usr/local/bin/
Library:
pip install envknit # requires Python 3.10+
Documentation
Guides
| Document | Description |
|---|---|
| Getting Started | Installation, first run, 20-minute tutorial |
| Concepts | How EnvKnit works: store, PYTHONPATH, import hook |
| CLI Scripts | Running pytest, black, mypy with envknit run |
| Python Version | python_version field, mise/pyenv integration |
| Node Version | node_version field, fnm/nvm/mise integration |
| Python API | use(), worker(), configure_from_lock() API reference |
| CI Integration | GitHub Actions integration |
| Environments | Managing multiple environments |
Reference
| Document | Description |
|---|---|
| CLI Reference | Complete CLI command reference |
| Config Schema | envknit.yaml and global config fields |
| Lock Schema | envknit.lock.yaml structure |
Contributing
git clone https://github.com/wgsim/EnvKnit.git
cd EnvKnit
cargo test # Rust CLI
pip install -e ".[dev]" && python -m pytest # Python library
License
MIT
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
envknit-0.1.0.tar.gz
(247.6 kB
view details)
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
envknit-0.1.0-py3-none-any.whl
(90.2 kB
view details)
File details
Details for the file envknit-0.1.0.tar.gz.
File metadata
- Download URL: envknit-0.1.0.tar.gz
- Upload date:
- Size: 247.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41e93488aba4fbcb9a534ba3632dd024b9a20d8999eca57362d0dd3f5014525e
|
|
| MD5 |
f3557308b1cf86e099da749fb543732e
|
|
| BLAKE2b-256 |
fe711502b0c75b1ea7a2fc711bf9e77f0c33b6a181e8ea1a1d8668c62cb37b08
|
File details
Details for the file envknit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: envknit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 90.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1403c59ceeee0578ae2f4040c773e9aab5101be3db7096c5a0c8282af4f7422
|
|
| MD5 |
b1341c69da6569f0de6e95db35fb7a3f
|
|
| BLAKE2b-256 |
bf8cbbc9f3f29005fd7771b9ee20b418607124955bee4f913142990569673bc9
|