"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.
๐ต Why WovenSnake?
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.
๐ป Platform Support
| 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 |
๐ฟ Installation
๐ Automatic (Recommended)
macOS / Linux:
|
The 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 | iex
๐ฆ Pre-built Binaries
Download 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 |
๐ฆ From Source (Rustaceans)
๐ฎ How to Use
1. Start a New Pattern (init)
Prepares wovenpkg.json for your project.
2. Add a New Thread (add)
Adds a package from PyPI to your project and installs it immediately.
3. Knit Dependencies (install)
Reads your pattern, gathers materials, and weaves the environment.
4. Run in the Nest (run)
Execute any command within the context of your virtual environment.
5. Tidy Up (remove)
Gently removes a package and its unused threads.
6. View the Tapestry (list)
Admire the packages currently woven into your project.
7. Fresh Start (clean)
Clears the virtual environment and local packages. Use --all to clear the global cache too.
๐งธ Support the Nest
Building such a cozy tool takes care and patience. If WovenSnake brought you comfort, consider supporting:
๐ค Contributing to the Nest
We follow a Trunk-Based Development workflow with strict CI verification. Check out CONTRIBUTING.md to get started.
๐ Licenssse
This project is licensed under the MIT License. Ssssee LICENSE for details.