Skip to content

Commit 937aa5a

Browse files
committed
Migrate requirement files to pyproject.toml
Using dependency groups allows for finer control over the development dependencies. `dev` is the uv default so it installs all other groups. The `uv.lock` file captures these dependencies and enforces version resolution safety.
1 parent c4f380d commit 937aa5a

File tree

6 files changed

+538
-30
lines changed

6 files changed

+538
-30
lines changed

pyproject.toml

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,28 @@ classifiers = [
1919
"Programming Language :: Python :: 3 :: Only",
2020
"Programming Language :: Python :: Implementation :: CPython",
2121
]
22-
dynamic = ["dependencies", "optional-dependencies", "version"]
22+
dynamic = ["version"]
23+
24+
dependencies = []
25+
26+
[dependency-groups]
27+
lint = [
28+
"mypy",
29+
]
30+
tool = [
31+
"pre-commit",
32+
"nox",
33+
]
34+
test = [
35+
"pytest",
36+
"pytest-randomly",
37+
"coverage",
38+
]
39+
dev = [
40+
{include-group = "lint"},
41+
{include-group = "test"},
42+
{include-group = "tool"},
43+
]
2344

2445
[project.urls]
2546
homepage = "https://github.com/[ORG NAME]/[REPO NAME]"
@@ -30,13 +51,6 @@ homepage = "https://github.com/[ORG NAME]/[REPO NAME]"
3051
[tool.setuptools_scm]
3152
# Purposely left empty
3253

33-
[tool.setuptools.dynamic.dependencies]
34-
file = ["requirements/requirements.txt"]
35-
36-
[tool.setuptools.dynamic.optional-dependencies]
37-
dev = { file = ["requirements/requirements-dev.txt"] }
38-
test = { file = ["requirements/requirements-test.txt"] }
39-
4054
[tool.black]
4155
line-length = 100
4256
target-version = ['py39']

requirements/requirements-dev.txt

Lines changed: 0 additions & 4 deletions
This file was deleted.

requirements/requirements-test.txt

Lines changed: 0 additions & 6 deletions
This file was deleted.

requirements/requirements.in

Lines changed: 0 additions & 6 deletions
This file was deleted.

requirements/requirements.txt

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)