Skip to main content

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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

envknit-0.1.0-py3-none-any.whl (90.2 kB view details)

Uploaded Python 3

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

Hashes for envknit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 41e93488aba4fbcb9a534ba3632dd024b9a20d8999eca57362d0dd3f5014525e
MD5 f3557308b1cf86e099da749fb543732e
BLAKE2b-256 fe711502b0c75b1ea7a2fc711bf9e77f0c33b6a181e8ea1a1d8668c62cb37b08

See more details on using hashes here.

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

Hashes for envknit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e1403c59ceeee0578ae2f4040c773e9aab5101be3db7096c5a0c8282af4f7422
MD5 b1341c69da6569f0de6e95db35fb7a3f
BLAKE2b-256 bf8cbbc9f3f29005fd7771b9ee20b418607124955bee4f913142990569673bc9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page