Skip to content

Commit 728dc7a

Browse files
authored
Generate Python requirement files from pyproject.toml
* Remove requirements*.in files * Update Python requirements
1 parent d457333 commit 728dc7a

File tree

6 files changed

+63
-89
lines changed

6 files changed

+63
-89
lines changed

Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
.PHONY: pip-compile
22
pip-compile: # Compile pip requirements
3-
pip-compile --allow-unsafe --output-file requirements.txt requirements.in
4-
pip-compile --allow-unsafe --output-file requirements-dev.txt requirements-dev.in
3+
pip-compile --allow-unsafe --output-file requirements.txt pyproject.toml
4+
pip-compile --allow-unsafe --extra dev --output-file requirements-dev.txt pyproject.toml
55

66
.PHONY: pip-upgrade
77
pip-upgrade: # Upgrade pip requirements
8-
pip-compile --allow-unsafe --upgrade --output-file requirements.txt requirements.in
9-
pip-compile --allow-unsafe --upgrade --output-file requirements-dev.txt requirements-dev.in
8+
pip-compile --allow-unsafe --upgrade --output-file requirements.txt pyproject.toml
9+
pip-compile --allow-unsafe --upgrade --extra dev --output-file requirements-dev.txt pyproject.toml
1010

1111
.PHONY: pip-sync
1212
pip-sync: # Sync virtualenv

pyproject.toml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,28 @@
1+
[project]
2+
name = "archivematica-acceptance-tests"
3+
description = "Archivematica Automated User Acceptance Tests (AMAUAT)"
4+
requires-python = ">=3.9"
5+
# The project.version field is required in pyproject.toml files, even if this
6+
# project is not yet versioned. Using a placeholder for now.
7+
version = "0.0.0"
8+
dependencies = [
9+
"amclient",
10+
"behave",
11+
"lxml",
12+
"metsrw",
13+
"pexpect",
14+
"requests",
15+
"selenium",
16+
"tenacity",
17+
]
18+
19+
[project.optional-dependencies]
20+
dev = [
21+
"pip-tools",
22+
"ruff",
23+
"tox",
24+
]
25+
126
[tool.ruff]
227
target-version = "py39"
328

requirements-dev.in

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

requirements-dev.txt

Lines changed: 25 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -2,78 +2,64 @@
22
# This file is autogenerated by pip-compile with Python 3.9
33
# by the following command:
44
#
5-
# pip-compile --allow-unsafe --output-file=requirements-dev.txt requirements-dev.in
5+
# pip-compile --allow-unsafe --extra=dev --output-file=requirements-dev.txt pyproject.toml
66
#
77
amclient==1.5.0
8-
# via -r requirements.txt
8+
# via archivematica-acceptance-tests (pyproject.toml)
99
attrs==25.3.0
1010
# via
11-
# -r requirements.txt
1211
# outcome
1312
# trio
1413
behave==1.3.1
15-
# via -r requirements.txt
14+
# via archivematica-acceptance-tests (pyproject.toml)
1615
build==1.3.0
1716
# via pip-tools
1817
cachetools==6.1.0
1918
# via tox
2019
certifi==2025.8.3
2120
# via
22-
# -r requirements.txt
2321
# requests
2422
# selenium
2523
chardet==5.2.0
2624
# via tox
2725
charset-normalizer==3.4.3
28-
# via
29-
# -r requirements.txt
30-
# requests
26+
# via requests
3127
click==8.1.8
3228
# via pip-tools
3329
colorama==0.4.6
3430
# via
35-
# -r requirements.txt
3631
# behave
3732
# tox
3833
cucumber-expressions==18.0.1
39-
# via
40-
# -r requirements.txt
41-
# behave
34+
# via behave
4235
cucumber-tag-expressions==6.2.0
43-
# via
44-
# -r requirements.txt
45-
# behave
36+
# via behave
4637
distlib==0.4.0
4738
# via virtualenv
4839
exceptiongroup==1.3.0
4940
# via
50-
# -r requirements.txt
5141
# trio
5242
# trio-websocket
5343
filelock==3.19.1
5444
# via
5545
# tox
5646
# virtualenv
5747
h11==0.16.0
58-
# via
59-
# -r requirements.txt
60-
# wsproto
48+
# via wsproto
6149
idna==3.10
6250
# via
63-
# -r requirements.txt
6451
# requests
6552
# trio
6653
importlib-metadata==8.7.0
6754
# via build
6855
lxml==6.0.0
6956
# via
70-
# -r requirements.txt
57+
# archivematica-acceptance-tests (pyproject.toml)
7158
# metsrw
7259
metsrw==0.6.1
73-
# via -r requirements.txt
60+
# via archivematica-acceptance-tests (pyproject.toml)
7461
outcome==1.3.0.post0
7562
# via
76-
# -r requirements.txt
7763
# trio
7864
# trio-websocket
7965
packaging==25.0
@@ -83,108 +69,84 @@ packaging==25.0
8369
# tox
8470
parse==1.20.2
8571
# via
86-
# -r requirements.txt
8772
# behave
8873
# parse-type
8974
parse-type==0.6.6
90-
# via
91-
# -r requirements.txt
92-
# behave
75+
# via behave
9376
pexpect==4.9.0
94-
# via -r requirements.txt
77+
# via archivematica-acceptance-tests (pyproject.toml)
9578
pip-tools==7.5.0
96-
# via -r requirements-dev.in
79+
# via archivematica-acceptance-tests (pyproject.toml)
9780
platformdirs==4.3.8
9881
# via
9982
# tox
10083
# virtualenv
10184
pluggy==1.6.0
10285
# via tox
10386
ptyprocess==0.7.0
104-
# via
105-
# -r requirements.txt
106-
# pexpect
87+
# via pexpect
10788
pyproject-api==1.9.1
10889
# via tox
10990
pyproject-hooks==1.2.0
11091
# via
11192
# build
11293
# pip-tools
11394
pysocks==1.7.1
114-
# via
115-
# -r requirements.txt
116-
# urllib3
95+
# via urllib3
11796
requests==2.32.4
11897
# via
119-
# -r requirements.txt
12098
# amclient
99+
# archivematica-acceptance-tests (pyproject.toml)
121100
ruff==0.12.9
122-
# via -r requirements-dev.in
101+
# via archivematica-acceptance-tests (pyproject.toml)
123102
selenium==4.35.0
124-
# via -r requirements.txt
103+
# via archivematica-acceptance-tests (pyproject.toml)
125104
six==1.17.0
126105
# via
127-
# -r requirements.txt
128106
# behave
129107
# parse-type
130108
sniffio==1.3.1
131-
# via
132-
# -r requirements.txt
133-
# trio
109+
# via trio
134110
sortedcontainers==2.4.0
135-
# via
136-
# -r requirements.txt
137-
# trio
111+
# via trio
138112
tenacity==9.1.2
139-
# via -r requirements.txt
113+
# via archivematica-acceptance-tests (pyproject.toml)
140114
tomli==2.2.1
141115
# via
142-
# -r requirements.txt
143116
# behave
144117
# build
145118
# pip-tools
146119
# pyproject-api
147120
# tox
148121
tox==4.28.4
149-
# via -r requirements-dev.in
122+
# via archivematica-acceptance-tests (pyproject.toml)
150123
trio==0.30.0
151124
# via
152-
# -r requirements.txt
153125
# selenium
154126
# trio-websocket
155127
trio-websocket==0.12.2
156-
# via
157-
# -r requirements.txt
158-
# selenium
128+
# via selenium
159129
typing-extensions==4.14.1
160130
# via
161-
# -r requirements.txt
162131
# exceptiongroup
163132
# selenium
164133
# tox
165134
# virtualenv
166135
urllib3[socks]==2.5.0
167136
# via
168-
# -r requirements.txt
169137
# amclient
170138
# requests
171139
# selenium
172140
virtualenv==20.34.0
173141
# via tox
174142
websocket-client==1.8.0
175-
# via
176-
# -r requirements.txt
177-
# selenium
143+
# via selenium
178144
wheel==0.45.1
179145
# via pip-tools
180146
win-unicode-console==0.5
181-
# via
182-
# -r requirements.txt
183-
# behave
147+
# via behave
184148
wsproto==1.2.0
185-
# via
186-
# -r requirements.txt
187-
# trio-websocket
149+
# via trio-websocket
188150
zipp==3.23.0
189151
# via importlib-metadata
190152

requirements.in

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

requirements.txt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22
# This file is autogenerated by pip-compile with Python 3.9
33
# by the following command:
44
#
5-
# pip-compile --allow-unsafe --output-file=requirements.txt requirements.in
5+
# pip-compile --allow-unsafe --output-file=requirements.txt pyproject.toml
66
#
77
amclient==1.5.0
8-
# via -r requirements.in
8+
# via archivematica-acceptance-tests (pyproject.toml)
99
attrs==25.3.0
1010
# via
1111
# outcome
1212
# trio
1313
behave==1.3.1
14-
# via -r requirements.in
14+
# via archivematica-acceptance-tests (pyproject.toml)
1515
certifi==2025.8.3
1616
# via
1717
# requests
@@ -36,10 +36,10 @@ idna==3.10
3636
# trio
3737
lxml==6.0.0
3838
# via
39-
# -r requirements.in
39+
# archivematica-acceptance-tests (pyproject.toml)
4040
# metsrw
4141
metsrw==0.6.1
42-
# via -r requirements.in
42+
# via archivematica-acceptance-tests (pyproject.toml)
4343
outcome==1.3.0.post0
4444
# via
4545
# trio
@@ -51,17 +51,17 @@ parse==1.20.2
5151
parse-type==0.6.6
5252
# via behave
5353
pexpect==4.9.0
54-
# via -r requirements.in
54+
# via archivematica-acceptance-tests (pyproject.toml)
5555
ptyprocess==0.7.0
5656
# via pexpect
5757
pysocks==1.7.1
5858
# via urllib3
5959
requests==2.32.4
6060
# via
61-
# -r requirements.in
6261
# amclient
62+
# archivematica-acceptance-tests (pyproject.toml)
6363
selenium==4.35.0
64-
# via -r requirements.in
64+
# via archivematica-acceptance-tests (pyproject.toml)
6565
six==1.17.0
6666
# via
6767
# behave
@@ -71,7 +71,7 @@ sniffio==1.3.1
7171
sortedcontainers==2.4.0
7272
# via trio
7373
tenacity==9.1.2
74-
# via -r requirements.in
74+
# via archivematica-acceptance-tests (pyproject.toml)
7575
tomli==2.2.1
7676
# via behave
7777
trio==0.30.0

0 commit comments

Comments
 (0)