Skip to content

Commit 54d741c

Browse files
committed
build: dev-dependencies.txt with uv
1 parent 376fd1e commit 54d741c

File tree

7 files changed

+199
-8
lines changed

7 files changed

+199
-8
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646

4747
- name: "Install dependencies"
4848
run: |
49-
python -m pip install -r requirements.pip
49+
python -m pip install -r dev-requirements.txt
5050
5151
- name: "Check the docs are up-to-date"
5252
run: |
@@ -88,7 +88,7 @@ jobs:
8888

8989
- name: "Install dependencies"
9090
run: |
91-
python -m pip install -r requirements.pip
91+
python -m pip install -r dev-requirements.txt
9292
9393
- name: "Run tox for ${{ matrix.python }}"
9494
run: |
@@ -121,7 +121,7 @@ jobs:
121121

122122
- name: "Install dependencies"
123123
run: |
124-
python -m pip install -r requirements.pip
124+
python -m pip install -r dev-requirements.txt
125125
126126
- name: "Download coverage data"
127127
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0

.readthedocs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ formats: all
1717

1818
python:
1919
install:
20-
- requirements: requirements.pip
20+
- requirements: dev-requirements.txt
2121
- method: pip
2222
path: .

MANIFEST.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ include CHANGELOG.rst
77
include LICENSE.txt
88
include Makefile
99
include README.rst
10-
include requirements.pip
10+
include dev-requirements.*
1111
include tox.ini
1212

1313
recursive-include cogapp *.py

Makefile

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,27 @@
22

33
.DEFAULT_GOAL := help
44

5-
### Testing
5+
### Development
66

7-
.PHONY: test
7+
.PHONY: venv install test
8+
9+
venv: .venv #- Create a development virtualenv.
10+
.venv:
11+
uv venv --python=3.10 --prompt=cog
12+
13+
install: venv #- Install the development tools.
14+
uv pip sync dev-requirements.txt
815

916
test: #- Run the test suite.
1017
tox -q
1118

19+
# Limit to packages that were released more than 10 days ago.
20+
# https://blog.yossarian.net/2025/11/21/We-should-all-be-using-dependency-cooldowns
21+
upgrade: export UV_CUSTOM_COMPILE_COMMAND=make upgrade
22+
upgrade: export UV_EXCLUDE_NEWER=P10D
23+
upgrade: venv #- Upgrade development tool pins.
24+
uv pip compile -q --universal --upgrade -o dev-requirements.txt dev-requirements.in
25+
1226
### Docs
1327

1428
.PHONY: cogdoc lintdoc dochtml

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Code repository and issue tracker are at
1717

1818
To run the tests::
1919

20-
$ pip install -r requirements.pip
20+
$ pip install -r dev-requirements.txt
2121
$ tox
2222

2323

File renamed without changes.

dev-requirements.txt

Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
# This file was autogenerated by uv via the following command:
2+
# make upgrade
3+
alabaster==1.0.0
4+
# via sphinx
5+
babel==2.17.0
6+
# via sphinx
7+
backports-tarfile==1.2.0 ; python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x'
8+
# via jaraco-context
9+
build==1.4.0
10+
# via
11+
# -r dev-requirements.in
12+
# check-manifest
13+
cachetools==6.2.4
14+
# via tox
15+
certifi==2026.1.4
16+
# via requests
17+
cffi==2.0.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x' and platform_python_implementation != 'PyPy' and sys_platform == 'linux'
18+
# via cryptography
19+
chardet==5.2.0
20+
# via tox
21+
charset-normalizer==3.4.4
22+
# via requests
23+
check-manifest==0.51
24+
# via -r dev-requirements.in
25+
colorama==0.4.6
26+
# via
27+
# build
28+
# sphinx
29+
# tox
30+
coverage==7.13.1
31+
# via -r dev-requirements.in
32+
cryptography==46.0.3 ; platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux'
33+
# via secretstorage
34+
distlib==0.4.0
35+
# via virtualenv
36+
docutils==0.21.2 ; python_full_version < '3.11'
37+
# via
38+
# readme-renderer
39+
# sphinx
40+
docutils==0.22.4 ; python_full_version >= '3.11'
41+
# via
42+
# readme-renderer
43+
# sphinx
44+
filelock==3.20.3
45+
# via
46+
# tox
47+
# virtualenv
48+
id==1.5.0
49+
# via twine
50+
idna==3.11
51+
# via requests
52+
imagesize==1.4.1
53+
# via sphinx
54+
importlib-metadata==8.7.1 ; (python_full_version < '3.10.2' and platform_machine == 'ppc64le') or (python_full_version < '3.10.2' and platform_machine == 's390x') or (python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x')
55+
# via
56+
# build
57+
# keyring
58+
jaraco-classes==3.4.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
59+
# via keyring
60+
jaraco-context==6.1.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
61+
# via keyring
62+
jaraco-functools==4.4.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
63+
# via keyring
64+
jeepney==0.9.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux'
65+
# via
66+
# keyring
67+
# secretstorage
68+
jinja2==3.1.6
69+
# via sphinx
70+
keyring==25.7.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
71+
# via twine
72+
markdown-it-py==4.0.0
73+
# via rich
74+
markupsafe==3.0.3
75+
# via jinja2
76+
mdurl==0.1.2
77+
# via markdown-it-py
78+
more-itertools==10.8.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
79+
# via
80+
# jaraco-classes
81+
# jaraco-functools
82+
nh3==0.3.2
83+
# via readme-renderer
84+
packaging==25.0
85+
# via
86+
# build
87+
# pyproject-api
88+
# sphinx
89+
# tox
90+
# twine
91+
platformdirs==4.5.1
92+
# via
93+
# tox
94+
# virtualenv
95+
pluggy==1.6.0
96+
# via tox
97+
pycparser==2.23 ; implementation_name != 'PyPy' and platform_machine != 'ppc64le' and platform_machine != 's390x' and platform_python_implementation != 'PyPy' and sys_platform == 'linux'
98+
# via cffi
99+
pygments==2.19.2
100+
# via
101+
# readme-renderer
102+
# rich
103+
# sphinx
104+
pyproject-api==1.10.0
105+
# via tox
106+
pyproject-hooks==1.2.0
107+
# via build
108+
pywin32-ctypes==0.2.3 ; platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'win32'
109+
# via keyring
110+
readme-renderer==44.0
111+
# via twine
112+
requests==2.32.5
113+
# via
114+
# id
115+
# requests-toolbelt
116+
# sphinx
117+
# twine
118+
requests-toolbelt==1.0.0
119+
# via twine
120+
rfc3986==2.0.0
121+
# via twine
122+
rich==14.2.0
123+
# via twine
124+
roman-numerals==4.1.0 ; python_full_version >= '3.11'
125+
# via sphinx
126+
secretstorage==3.5.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux'
127+
# via keyring
128+
setuptools==80.9.0
129+
# via check-manifest
130+
snowballstemmer==3.0.1
131+
# via sphinx
132+
sphinx==8.1.3 ; python_full_version < '3.11'
133+
# via -r dev-requirements.in
134+
sphinx==9.0.4 ; python_full_version == '3.11.*'
135+
# via -r dev-requirements.in
136+
sphinx==9.1.0 ; python_full_version >= '3.12'
137+
# via -r dev-requirements.in
138+
sphinxcontrib-applehelp==2.0.0
139+
# via sphinx
140+
sphinxcontrib-devhelp==2.0.0
141+
# via sphinx
142+
sphinxcontrib-htmlhelp==2.1.0
143+
# via sphinx
144+
sphinxcontrib-jsmath==1.0.1
145+
# via sphinx
146+
sphinxcontrib-qthelp==2.0.0
147+
# via sphinx
148+
sphinxcontrib-serializinghtml==2.0.0
149+
# via sphinx
150+
tomli==2.4.0 ; python_full_version < '3.11'
151+
# via
152+
# build
153+
# check-manifest
154+
# pyproject-api
155+
# sphinx
156+
# tox
157+
tox==4.34.1
158+
# via
159+
# -r dev-requirements.in
160+
# tox-gh
161+
tox-gh==1.6.1
162+
# via -r dev-requirements.in
163+
twine==6.2.0
164+
# via -r dev-requirements.in
165+
typing-extensions==4.15.0 ; python_full_version < '3.11'
166+
# via
167+
# cryptography
168+
# tox
169+
# virtualenv
170+
urllib3==2.6.3
171+
# via
172+
# requests
173+
# twine
174+
virtualenv==20.36.1
175+
# via tox
176+
zipp==3.23.0 ; (python_full_version < '3.10.2' and platform_machine == 'ppc64le') or (python_full_version < '3.10.2' and platform_machine == 's390x') or (python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x')
177+
# via importlib-metadata

0 commit comments

Comments
 (0)