Skip to main content

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.
  4. Status Monitoring: Instantly check the health of all your VCS dependencies. uvault status shows if PRs are merged or closed, flags new remote commits, and automatically detects orphaned commits caused by upstream force-pushes.

Documentation

The complete documentation is available in the docs/ folder:

Contributing

Contributions are welcome! If you're interested in improving uvault, please check out our Contributing Guide for details on setting up your development environment, running tests, and submitting PRs.

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uvault-0.6.0.tar.gz (124.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uvault-0.6.0-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file uvault-0.6.0.tar.gz.

File metadata

  • Download URL: uvault-0.6.0.tar.gz
  • Upload date:
  • Size: 124.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for uvault-0.6.0.tar.gz
Algorithm Hash digest
SHA256 c66b47f6c332a3c08df63418409d7379b250b6518034a5114819bda855a41c46
MD5 ede2e4dfc2a279cc9d40f0ba55484dbd
BLAKE2b-256 1e8e5a0c133602c72a4ea5ce77e5c57e3fc834e93f4baa44c2589ff0505f6295

See more details on using hashes here.

Provenance

The following attestation bundles were made for uvault-0.6.0.tar.gz:

Publisher: release.yml on petrus-v/uvault

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file uvault-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: uvault-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for uvault-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0ce9be328a2f8eed8f9f8a173b815bd9388bba951215ee12a46db6daa02d481b
MD5 0b6a390d50763bb42e94e2eb5de3a75a
BLAKE2b-256 a4b019ebaf59acd6a199aa536f08819cb4761e97de4815645fbd65a90b78c267

See more details on using hashes here.

Provenance

The following attestation bundles were made for uvault-0.6.0-py3-none-any.whl:

Publisher: release.yml on petrus-v/uvault

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page