Metadata-Version: 2.3
Name: reqs-cli
Version: 0.20240517.2.post1
Author-email: Randy Syring <randy.syring@level12.io>
Requires-Dist: build==1.2.1
Requires-Dist: click==8.1.7
Requires-Dist: coverage==7.5.1
Requires-Dist: iniconfig==2.0.0
Requires-Dist: packaging==24.0
Requires-Dist: pip-tools==7.4.1
Requires-Dist: pip==24.0
Requires-Dist: pluggy==1.5.0
Requires-Dist: pyproject-hooks==1.1.0
Requires-Dist: pytest-cov==5.0.0
Requires-Dist: pytest==8.2.0
Requires-Dist: setuptools==69.5.1
Requires-Dist: wheel==0.43.0
Provides-Extra: dev
Requires-Dist: anyio==4.3.0; extra == 'dev'
Requires-Dist: argcomplete==3.3.0; extra == 'dev'
Requires-Dist: build==1.2.1; extra == 'dev'
Requires-Dist: certifi==2024.2.2; extra == 'dev'
Requires-Dist: cffi==1.16.0; extra == 'dev'
Requires-Dist: cfgv==3.4.0; extra == 'dev'
Requires-Dist: click==8.1.7; extra == 'dev'
Requires-Dist: colorlog==6.8.2; extra == 'dev'
Requires-Dist: coverage==7.5.1; extra == 'dev'
Requires-Dist: cryptography==42.0.7; extra == 'dev'
Requires-Dist: distlib==0.3.8; extra == 'dev'
Requires-Dist: filelock==3.14.0; extra == 'dev'
Requires-Dist: h11==0.14.0; extra == 'dev'
Requires-Dist: hatch==1.11.0; extra == 'dev'
Requires-Dist: hatchling==1.24.2; extra == 'dev'
Requires-Dist: httpcore==1.0.5; extra == 'dev'
Requires-Dist: httpx==0.27.0; extra == 'dev'
Requires-Dist: hyperlink==21.0.0; extra == 'dev'
Requires-Dist: identify==2.5.36; extra == 'dev'
Requires-Dist: idna==3.7; extra == 'dev'
Requires-Dist: iniconfig==2.0.0; extra == 'dev'
Requires-Dist: jaraco-classes==3.4.0; extra == 'dev'
Requires-Dist: jaraco-context==5.3.0; extra == 'dev'
Requires-Dist: jaraco-functools==4.0.1; extra == 'dev'
Requires-Dist: jeepney==0.8.0; extra == 'dev'
Requires-Dist: keyring==25.2.1; extra == 'dev'
Requires-Dist: markdown-it-py==3.0.0; extra == 'dev'
Requires-Dist: mdurl==0.1.2; extra == 'dev'
Requires-Dist: more-itertools==10.2.0; extra == 'dev'
Requires-Dist: nodeenv==1.8.0; extra == 'dev'
Requires-Dist: nox==2024.4.15; extra == 'dev'
Requires-Dist: packaging==24.0; extra == 'dev'
Requires-Dist: pathspec==0.12.1; extra == 'dev'
Requires-Dist: pexpect==4.9.0; extra == 'dev'
Requires-Dist: pip-tools==7.4.1; extra == 'dev'
Requires-Dist: pip==24.0; extra == 'dev'
Requires-Dist: platformdirs==4.2.2; extra == 'dev'
Requires-Dist: pluggy==1.5.0; extra == 'dev'
Requires-Dist: pre-commit==3.7.1; extra == 'dev'
Requires-Dist: ptyprocess==0.7.0; extra == 'dev'
Requires-Dist: pycparser==2.22; extra == 'dev'
Requires-Dist: pygments==2.18.0; extra == 'dev'
Requires-Dist: pyproject-hooks==1.1.0; extra == 'dev'
Requires-Dist: pytest-cov==5.0.0; extra == 'dev'
Requires-Dist: pytest==8.2.0; extra == 'dev'
Requires-Dist: pyyaml==6.0.1; extra == 'dev'
Requires-Dist: rich==13.7.1; extra == 'dev'
Requires-Dist: ruff==0.4.4; extra == 'dev'
Requires-Dist: secretstorage==3.3.3; extra == 'dev'
Requires-Dist: setuptools==69.5.1; extra == 'dev'
Requires-Dist: shellingham==1.5.4; extra == 'dev'
Requires-Dist: sniffio==1.3.1; extra == 'dev'
Requires-Dist: tomli-w==1.0.0; extra == 'dev'
Requires-Dist: tomlkit==0.12.5; extra == 'dev'
Requires-Dist: trove-classifiers==2024.4.10; extra == 'dev'
Requires-Dist: userpath==1.9.2; extra == 'dev'
Requires-Dist: uv==0.1.44; extra == 'dev'
Requires-Dist: virtualenv==20.26.2; extra == 'dev'
Requires-Dist: wheel==0.43.0; extra == 'dev'
Requires-Dist: zstandard==0.22.0; extra == 'dev'
Description-Content-Type: text/markdown

reqs
====

Bootstrap, compile, and sync Python requirements files

# Install

Intended to be used with pipx

- manually & first install: `pipx install -e .../apps/reqs-pkg`; or
- when developing: `cd .../apps/reqs-pkg;` [`reqs`](../reqs-pkg/) `sync`


## Usage

- `reqs bootstrap`: Upgrade pip & install pip-tools
- `reqs compile`:  Compile .in to .txt when needed (based on file modification times)
- `reqs sync`: Compile and then update active venv and maybe pipx to match spec


# Configuration

Configure using `pyproject.toml`:


```toml
# The options shown are the default values and DO NOT need to be specified
# if the default is sufficient.

[tool.reqs]
# Path to the directory containing the .in and .txt requirements files.  Relative to pyproject.toml.
dpath = 'requirements'

# Use pipx to install an editable version of the project.  True for tools like reqs and env-config
# that a developer would want available for different projects.  False for most client projects
# deployed on servers.
sync_pipx = false

[tool.reqs.depends]
# Define dependencies between files so `reqs compile` knows when a .in needs to be compiled and
# what order to use when compiling multiple files.
'base.in' = ''
'dev.in' = 'base.txt'
```
