# prokname — dev dependency ranges (runtime + dev)
# The authoritative declaration is pyproject.toml
# ([project].dependencies and [project.optional-dependencies].dev).
# Keep this file in sync when pyproject.toml changes.
# Install runtime:  pip install -e .
# Install dev:      pip install -e ".[dev]"  or  pip install -r requirements-dev.txt
#
# Direct dependencies only, like requirements.txt: typer/rich pull their own
# transitive set (click, markdown-it-py, pygments, ...), and copying those
# pins here would just be a second, staler copy of metadata pip resolves.
# Nothing here pins a version that pyproject.toml does not also pin.

# Runtime (mirror of pyproject.toml [project].dependencies)
typer>=0.12,<1.0
rich>=13.0,<15.0

# Dev (mirror of pyproject.toml [project.optional-dependencies].dev)
pytest>=8.0
pytest-cov>=5.0
hypothesis>=6.100
vcrpy>=6.0
ruff>=0.6
# httpx is installed by `.[dev]` because tests/test_api_fixtures.py replays the
# recorded GNA captures through the real adapter, which imports it. A gate that
# cannot import is not a gate.
httpx>=0.27

# Optional `online` extra (pyproject.toml [project.optional-dependencies].online)
# for `prokname check --online` — NOT installed by -e ".[dev]":
#   pip install -e ".[online]"
# lpsn>=1.0      # official DSMZ LPSN API client (pulls python-keycloak/requests/urllib3)
# keyring>=24    # optional OS-keychain storage for LPSN credentials
