"Dependencies, neatly woven." ๐๐งถ
WovenSnake is a cozy, high-performance Python package manager built with Rust. It knits your dependencies together securely, keeping your environment warm and tidy.
Managing packages shouldn't be a tangle. WovenSnake keeps things organized:
- โก Swift Knitting: Parallel resolution and installation that finishes before your tea is ready.
- ๐ Secure Stitching: Deterministic
wovenpkg.lockensures every install is identical. - ๐ฆ Global Cache: Shared storage in
~/.wovensnake/cacheto avoid downloading the same package twice. - ๐ Truly Cross-Platform: Native binaries for macOS (arm64 & x86_64), Linux, and Windows โ no Rosetta 2 penalty on Apple Silicon.
- ๐งถ Self-Mending: Automatically removes loose threads (unused packages) to keep your project clean.
- ๐ Zero-Config Home: Creates virtual environments automatically, so your packages have a safe place to live.
| Operating System | Architecture | Status |
|---|---|---|
| macOS | Apple Silicon (arm64) | โ Supported |
| macOS | Intel (x86_64) | โ Supported |
| Linux | x86_64 | โ Supported |
| Linux | aarch64 | โ Supported |
| Windows | x86_64 | โ Supported |
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/jackby03/wovensnake/main/scripts/install.sh | bashThe installer auto-detects your architecture (arm64 or x86_64), downloads the right binary, and optionally adds woven to your PATH. Pass --yes to skip all prompts.
Windows (PowerShell):
iwr -useb https://raw.githubusercontent.com/jackby03/wovensnake/main/scripts/install.ps1 | iexDownload the binary for your platform from the latest release:
| Platform | Binary |
|---|---|
| macOS (Apple Silicon) | woven-macos-arm64 |
| macOS (Intel) | woven-macos-amd64 |
| Linux (x86_64) | woven-linux-amd64 |
| Windows (x86_64) | woven-windows-amd64.exe |
cargo install --path .Re-run the installer โ it will overwrite the existing binary:
curl -fsSL https://raw.githubusercontent.com/jackby03/wovensnake/main/scripts/install.sh | bashmacOS / Linux โ run the uninstall script (works even if woven is broken or not in PATH):
curl -fsSL https://raw.githubusercontent.com/jackby03/wovensnake/main/scripts/uninstall.sh | bashOr if woven is already working:
woven self-uninstallBoth options remove the binary, the global cache (~/.wovensnake), and clean the PATH entry from your shell rc files. Add --yes to skip the confirmation prompt.
Prepares wovenpkg.json for your project.
woven initInstall all dependencies from wovenpkg.json, or add and install specific packages in one step:
woven install # install everything in wovenpkg.json
woven install requests # add requests and install
woven install requests flask # add multiple packages
woven install flask==3.0.0 # add a specific versionExecute any command within the context of your virtual environment.
woven run python main.pyGently removes a package and its unused threads.
woven remove flaskAdmire the packages currently woven into your project.
woven listClears the virtual environment and local packages. Use --all to clear the global cache too.
woven cleanBuilding such a cozy tool takes care and patience. If WovenSnake brought you comfort, consider supporting:
We follow a Trunk-Based Development workflow with strict CI verification. Check out CONTRIBUTING.md to get started.
This project is licensed under the MIT License. Ssssee LICENSE for details.
