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.1.tar.gz (125.6 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.1-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: uvault-0.6.1.tar.gz
  • Upload date:
  • Size: 125.6 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.1.tar.gz
Algorithm Hash digest
SHA256 ff4e132598e3c49ed5ebc11ba637fe9f5576397448acd38bc8db4d0c5fe3ee9f
MD5 48dd107be0e1191c0673ab7ea3d5145d
BLAKE2b-256 c5a6f5a4918ccf2256845d8b8d20142152840205c4947f95a73394c65c95a396

See more details on using hashes here.

Provenance

The following attestation bundles were made for uvault-0.6.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: uvault-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 22.2 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 139120c9bb37c63301832a97aae2aa69c57268969d5890df7be11f1a0eb2106a
MD5 9a24efead3724e6e3750b7d15a2f7cbd
BLAKE2b-256 7bcf9a2039d22c29c605328ac9db038f444d8fba0f16da818f8eb48d15faf9d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for uvault-0.6.1-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