"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)
โป๏ธ Updating
Re-run the installer โ it will overwrite the existing binary:
|
๐๏ธ Uninstalling
macOS / Linux โ run the uninstall script (works even if woven is broken or not in PATH):
|
Or if woven is already working:
Both 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.
๐ฎ How to Use
1. Start a New Pattern (init)
Prepares wovenpkg.json for your project.
2. Knit Dependencies (install)
Install all dependencies from wovenpkg.json, or add and install specific packages in one step:
3. Run in the Nest (run)
Execute any command within the context of your virtual environment.
4. Tidy Up (remove)
Gently removes a package and its unused threads.
5. View the Tapestry (list)
Admire the packages currently woven into your project.
6. 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.