From 946de07d476d11b49cbab3dd80c863203d7f1c6d Mon Sep 17 00:00:00 2001 From: dschlueter Date: Tue, 7 Jul 2026 10:36:00 +0200 Subject: [PATCH] build: make pyproject the single source of dependency truth requirements.txt / requirements-dev.txt used to duplicate the dependency pins from pyproject.toml by hand, which can silently drift. Point them at the package itself (`.` and `-e .[dev]`) so the pins live in exactly one place; `pip install -r requirements*.txt` keeps working. Co-Authored-By: Claude Opus 4.8 --- requirements-dev.txt | 11 ++++------- requirements.txt | 8 ++++---- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 697d674..77948ef 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,7 +1,4 @@ -# Development/test dependencies (mirrors [project.optional-dependencies].dev -# in pyproject.toml). --r requirements.txt -pytest>=7.4 -ruff>=0.6 -mypy>=1.11 -types-requests +# Development install. Editable package plus the [dev] extra (pytest, ruff, +# mypy, ...). pyproject.toml remains the single source of truth; there is no +# manual dependency mirror to keep in sync. +-e .[dev] diff --git a/requirements.txt b/requirements.txt index b3cd6be..e361a6e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -# Runtime dependencies (mirrors [project.dependencies] in pyproject.toml). -# Provided for users who want to verify/install dependencies without pip's -# PEP 517 build isolation, e.g. `pip install -r requirements.txt`. -requests>=2.31,<3 +# Runtime install. pyproject.toml is the single source of truth for +# dependencies; this file just installs the package (and thus its declared +# runtime dependencies) so `pip install -r requirements.txt` keeps working. +.