Skip to content

WovenSnake is a modern Python package manager designed to streamline dependency management by weaving packages and their relationships into an organized, optimized ecosystem.

License

Notifications You must be signed in to change notification settings

jackby03/wovensnake

Repository files navigation

WovenSnake Cozy Logo

🧶 WovenSnake

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.
  • 🧶 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.

💿 Installation

🚀 Automatic (Recommended)

Linux / macOS:

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

Windows (PowerShell):

iwr -useb https://raw.githubusercontent.com/jackby03/wovensnake/main/scripts/install.ps1 | iex

🦀 From Source (Rustaceans)

cargo install --path .

🎮 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 donating a warm coffee:

Buy Me a Coffee at ko-fi.com

(Open Collective coming ssssoon...)


🤝 Contributing to the Nest

We welcome all serpents! Whether you're fixing a bug or adding a new fang. Check out CONTRIBUTING.md to get started.

📜 Licenssse

This project is licensed under the MIT License. Ssssee LICENSE for details.

About

WovenSnake is a modern Python package manager designed to streamline dependency management by weaving packages and their relationships into an organized, optimized ecosystem.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •