pip-split-requirements 0.7.0

Creator: bradpython12

Last updated:

Add to Cart

Description:

pipsplitrequirements 0.7.0

pip-split-requirements



Split a pip requirement files according to regular expression patterns rules.
Table of Contents

pip-split-requirements

Installation
Quick start
CLI Usage
Configuration in pyproject.toml
Usage as a pre-commit hook
License



Installation
pipx install pip-split-requirements

Quick start
Assume the following requirements.txt:
--find-links wheelhouse
pkga
git+https://github.com/some/project
pkgb

Running
pip-split-requirements -g slow:git requirements.txt

Will create requirementsgroup-slow.txt:
--find-links wheelhouse
git+https://github.com/some/project

and requirementsgroup-other.txt:
--find-links wheelhouse
pkga
pkgb

CLI Usage
Usage: pip-split-requirements [OPTIONS] REQUIREMENTS_FILE...

Split a pip requirements file into multiple files according to patterns.

Patterns are regular expressions against which requirement lines are
searched to determine if they belong to a group. Group specs are evaluated
in order, and the first match determines in which group the line goes.

Comment lines are ignored.

Option lines are emitted in all groups.

Arguments:
REQUIREMENTS_FILE... The requirements files to split. If not specified,
they are read from pyproject.toml.

Options:
-g, --group-spec TEXT Group specifications in form name:pattern.
-p, --prefix TEXT Each requirements group file will be named
{prefix}-{group_name}.txt. The prefix can
contain path separators, to generate files
into a chosen directory. [default:
requirementsgroup]
--default-group / --no-default-group
Automatically append a group named 'other',
matching all lines not matched by other
groups. [default: default-group]
--remove-empty / --no-remove-empty
Remove empty requirements group files.
[default: no-remove-empty]
-r, --project-root DIRECTORY The project root directory. The generated
requirements files will be relative to this
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 in pyproject.toml
pip-split-requirements can be configured using pyproject.toml. The following values are read from the tool.pip-split_requirements section:

group_specs: list of strings
prefix: string
default_group: boolean
remove_empty: boolean
requirements_files: list of strings

Command line options and argument have precedence over pyproject.toml values.
The following example configuration split requirements.txt and requirements-test.txt
into a group named vcs with requirements containing the word git+https or git+ssh
and another group with everything else, as build/reqgroup-*.txt.
[tool.pip-split-requirements]
prefix = "build/reqgroup"
group_specs = ["vcs:git.(https|ssh)"]
requirements_files = ["requirements.txt", "requirements-test.txt"]

Usage as a pre-commit hook
The following section of .pre-commit-config.yaml will run pip-split-requirements
according using the configuration in pyproject.toml. This pre-commit hook runs when
either pyproject.toml, .pre-commit-config.yaml, or any file matching the pattern
.*requirement.*\.txt change.
- repo: https://github.com/sbidoul/pip-split-requirements
rev: v0.7.0
hooks:
- id: pip-split-requirements

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

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.