wovensnake 0.3.4

A high-performance Python package manager built with Rust.
Documentation

Crates.io Documentation CI Status License Ko-Fi

"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.lock ensures every install is identical.
  • ๐Ÿ“ฆ Global Cache: Shared storage in ~/.wovensnake/cache to 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:

curl -fsSL https://raw.githubusercontent.com/jackby03/wovensnake/main/scripts/install.sh | bash

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)

cargo install --path .

โ™ป๏ธ Updating

Re-run the installer โ€” it will overwrite the existing binary:

curl -fsSL https://raw.githubusercontent.com/jackby03/wovensnake/main/scripts/install.sh | bash

๐Ÿ—‘๏ธ Uninstalling

macOS / 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 | bash

Or if woven is already working:

woven self-uninstall

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.

woven init

2. Add a New Thread (add)

Adds a package from PyPI to your project and installs it immediately.

woven add requests

3. Knit Dependencies (install)

Reads your pattern, gathers materials, and weaves the environment.

woven install

4. Run in the Nest (run)

Execute any command within the context of your virtual environment.

woven run python main.py

5. Tidy Up (remove)

Gently removes a package and its unused threads.

woven remove flask

6. View the Tapestry (list)

Admire the packages currently woven into your project.

woven list

7. Fresh Start (clean)

Clears the virtual environment and local packages. Use --all to clear the global cache too.

woven clean

๐Ÿงธ 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.