Skip to content

petrus-v/uvault

Repository files navigation

uvault

PyPI version CI codecov

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.

Key Features

  1. Vaulting of Commits: Never lose code again! Upstream pull requests and branches can be force-pushed or deleted. uvault fetches the exact commits your project depends on and pushes them as immutable tags to your own organization's vault repository.
  2. Easy Local Development: Switch any VCS dependency to local "editable" mode in seconds. uvault develop clones the package locally and seamlessly configures uv to use your local copy so you can test changes and contribute back.
  3. Automatic GitHub Forking: When a dependency's repository doesn't exist in your vault organization, uvault automatically forks the upstream repository using the GitHub API (via the [github] extra), making the setup completely transparent.

Documentation

The complete documentation is available in the docs/ folder:

Credits & Acknowledgements

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.

About

Development and vaulting workflow for uv VCS dependencies.

Resources

License

Contributing

Stars

Watchers

Forks

Contributors

Languages