Development and vaulting workflow for uv VCS dependencies.
Secure your Python projects against deleted or force-pushed upstream commits. uvault automatically vaults transient VCS references (like GitHub PRs) into your organization's own repositories, while allowing developers to instantly switch dependencies into local editable mode—fully integrated with pyproject.toml and uv.
- Vaulting of Commits: Never lose code again! Upstream pull requests and branches can be force-pushed or deleted.
uvaultfetches the exact commits your project depends on and pushes them as immutable tags to your own organization's vault repository. - Easy Local Development: Switch any VCS dependency to local "editable" mode in seconds.
uvault developclones the package locally and seamlessly configuresuvto use your local copy so you can test changes and contribute back. - Automatic GitHub Forking: When a dependency's repository doesn't exist in your vault organization,
uvaultautomatically forks the upstream repository using the GitHub API (via the[github]extra), making the setup completely transparent.
The complete documentation is available in the docs/ folder:
- Quickstart & Key Features - Learn what
uvaultis and how to get started quickly. - How-To Guides - Step-by-step guides for installing and using
uvaultin your day-to-day workflow. - CLI & Configuration Reference - Detailed information on
pyproject.tomlconfiguration ([tool.uvault]) and all CLI commands (sync,add,develop).
A huge thank you to Stéphane Bidoul for his continuous inspiration, and particularly for the work on pip-preserve-requirements which strongly influenced the vision and design of this project.