Skip to main content

Preserve pinned PIP requirements in repositories you control..

Project description

pip-preserve-requirements

PyPI - Version PyPI - Python Version


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

Installation

pipx install pip-preserve-requirements

Usage

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.

Configuration

pip-preserve-requirements is configured in a dedicated section of pyproject.toml:

Example:

[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

Limitations

At the moment, only git+https and 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 hg);
  • supporting non-VCS URLs, by pushing them to a user-controlled server;
  • supporting regular requirements, by pushing them to a user-controlled index.

License

pip-preserve-requirements is distributed under the terms of the MIT license.

Project details


Download files

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

Source Distribution

pip_preserve_requirements-0.1.0.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

pip_preserve_requirements-0.1.0-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file pip_preserve_requirements-0.1.0.tar.gz.

File metadata

File hashes

Hashes for pip_preserve_requirements-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ced2693d721ac5d5257757b44ba0561355cc7f470979b4897c20c1e7c1dba373
MD5 d3ad787ed04bec0f5b665746e5c01333
BLAKE2b-256 bf2d7e0e0ab87b7745b1ca2ab58fdb5481629201c26cf44453bd0ddbf3e735ba

See more details on using hashes here.

File details

Details for the file pip_preserve_requirements-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pip_preserve_requirements-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 db9458b017d56764807904274cf473b04255bad03a2d7b027d63308094f5407e
MD5 1f1195f032728ae5e357c2fccdb0e9ea
BLAKE2b-256 5b638c1b589a51d883f4df1d3854fbfce743eb07a16b9e3ea7e590bf4bd1e137

See more details on using hashes here.

Supported by

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