Preserve pinned PIP requirements in repositories you control..
Preserve pinned PIP requirements in repositories you control.
It ensure pinned git references in pip requirements files are pushed to a repo you control, and have a tag associated with the commit, so they are preserved from garbage collection.
Table of Contents
pipx install pip-preserve-requirements
Usage: pip-preserve-requirements [OPTIONS] REQUIREMENTS_FILE... Ensure pinned VCS references in pip requirements files have a git tag. Arguments: REQUIREMENTS_FILE... The requirements files to look for requirements tag. [required] Options: --tag-prefix TEXT The prefix to use when creating git tag names. [default: ppr-] --match-any-tag Whether to consider that any tag on the commit is sufficient. If not, ensure commits are tagged with the requested prefix. -r, --project-root DIRECTORY The project root directory. Default options and arguments are read from pyproject.toml in this directory. [default: .] --install-completion [bash|zsh|fish|powershell|pwsh] Install completion for the specified shell. --show-completion [bash|zsh|fish|powershell|pwsh] Show completion for the specified shell, to copy it or customize the installation. --help Show this message and exit.
pip-preserve-requirements is configured in a dedicated section of
[tool.pip-preserve-requirements] tag_prefix = "ppr-" # ensure a tag with the above prefix is present, if true, consider any tag is valid match_any_tag = false [[tool.pip-preserve-requirements.vcs_vaults]] # any git provider which accepts URLs of the form https://host/owner/repo # or ssh://git@host/owner/repo provider = "github.com" owner = "acme" # set to true for private repos ssh_only = false # the vault where to push VCS reference default = true
At the moment, only
git+ssh URLs are supported.
The following improvements would be considered in scope, although there is no current plan to work on them:
- supporting other VCS (such as
- supporting non-VCS URLs, by pushing them to a user-controlled server;
- supporting regular requirements, by pushing them to a user-controlled index.
pip-preserve-requirements is distributed under the terms of the
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for pip_preserve_requirements-0.3.0.tar.gz
Hashes for pip_preserve_requirements-0.3.0-py3-none-any.whl