Skip to content

Commit e020dd3

Browse files
committed
ci: Cover more test dependencies with pins
Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
1 parent 473d4ee commit e020dd3

3 files changed

Lines changed: 61 additions & 35 deletions

File tree

constraints-dev.txt

Lines changed: 52 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
accelerate==1.0.1 # via -r requirements-cuda.txt, -r requirements-rocm.txt, peft, trl
1+
absl-py==2.3.0 # via tensorboard
2+
accelerate==1.0.1 # via peft, trl, -r requirements-cuda.txt, -r requirements-rocm.txt
23
aiofiles==24.1.0 # via -r requirements.txt
34
aiohappyeyeballs==2.6.1 # via aiohttp
4-
aiohttp==3.12.2 # via fsspec
5+
aiohttp==3.12.4 # via fsspec
56
aiosignal==1.3.2 # via aiohttp
67
annotated-types==0.7.0 # via pydantic
78
anyio==4.9.0 # via httpx, jupyter-server
@@ -17,22 +18,24 @@ beautifulsoup4==4.13.4 # via nbconvert
1718
bitsandbytes==0.46.0 # via -r requirements-cuda.txt
1819
bleach==6.2.0 # via nbconvert
1920
cachetools==6.0.0 # via tox
20-
certifi==2025.4.26 # via httpcore, httpx, requests
21+
certifi==2025.4.26 # via httpcore, httpx, requests, sentry-sdk
2122
cffi==1.17.1 # via argon2-cffi-bindings
2223
cfgv==3.4.0 # via pre-commit
2324
chardet==5.2.0 # via tox
2425
charset-normalizer==3.4.2 # via requests
26+
click==8.2.1 # via wandb
2527
colorama==0.4.6 # via tox
2628
comm==0.2.2 # via ipykernel, ipywidgets
2729
contourpy==1.3.2 # via matplotlib
2830
cycler==0.12.1 # via matplotlib
29-
datasets==3.6.0 # via -r requirements.txt, trl
31+
datasets==3.6.0 # via trl, -r requirements.txt
3032
debugpy==1.8.14 # via ipykernel
3133
decorator==5.2.1 # via ipython
3234
deepspeed==0.16.9 # via -r requirements-deepspeed.txt
3335
defusedxml==0.7.1 # via nbconvert
3436
dill==0.3.8 # via datasets, multiprocess, pylint
3537
distlib==0.3.9 # via virtualenv
38+
docker-pycreds==0.4.0 # via wandb
3639
einops==0.8.1 # via deepspeed, flash-attn
3740
executing==2.2.0 # via stack-data
3841
fastjsonschema==2.21.1 # via nbformat
@@ -42,21 +45,25 @@ fonttools==4.58.1 # via matplotlib
4245
fqdn==1.5.1 # via jsonschema
4346
frozenlist==1.6.0 # via aiohttp, aiosignal
4447
fsspec==2025.3.0 # via datasets, huggingface-hub, torch
48+
gitdb==4.0.12 # via gitpython
49+
gitpython==3.1.44 # via wandb
50+
grpcio==1.71.0 # via tensorboard
4551
h11==0.16.0 # via httpcore
4652
hf-xet==1.1.2 # via huggingface-hub
4753
hjson==3.1.0 # via deepspeed
4854
httpcore==1.0.9 # via httpx
4955
httpx==0.28.1 # via jupyterlab
50-
huggingface-hub==0.32.2 # via -r requirements-dev.txt, accelerate, datasets, peft, tokenizers, transformers
56+
huggingface-hub==0.32.3 # via accelerate, datasets, peft, tokenizers, transformers, -r requirements-dev.txt
5157
identify==2.6.12 # via pre-commit
5258
idna==3.10 # via anyio, httpx, jsonschema, requests, yarl
59+
iniconfig==2.1.0 # via pytest
5360
instructlab-dolomite==0.2.0 # via -r requirements.txt
54-
ipykernel==6.29.5 # via -r requirements-dev.txt, jupyter, jupyter-console, jupyterlab
55-
ipython==9.2.0 # via -r requirements-dev.txt, ipykernel, ipywidgets, jupyter-console
61+
ipykernel==6.29.5 # via jupyter, jupyter-console, jupyterlab, -r requirements-dev.txt
62+
ipython==9.2.0 # via ipykernel, ipywidgets, jupyter-console, -r requirements-dev.txt
5663
ipython-pygments-lexers==1.1.1 # via ipython
5764
ipywidgets==8.1.7 # via jupyter
5865
isoduration==20.11.0 # via jsonschema
59-
isort==6.0.1 # via -r requirements-dev.txt, pylint
66+
isort==6.0.1 # via pylint, -r requirements-dev.txt
6067
jedi==0.19.2 # via ipython
6168
jinja2==3.1.6 # via jupyter-server, jupyterlab, jupyterlab-server, nbconvert, torch
6269
json5==0.12.0 # via jupyterlab-server
@@ -78,8 +85,9 @@ jupyterlab-widgets==3.0.15 # via ipywidgets
7885
kiwisolver==1.4.8 # via matplotlib
7986
liger-kernel==0.5.10 # via -r requirements-cuda.txt
8087
llvmlite==0.44.0 # via numba
88+
markdown==3.8 # via tensorboard
8189
markdown-it-py==3.0.0 # via rich
82-
markupsafe==3.0.2 # via jinja2, nbconvert
90+
markupsafe==3.0.2 # via jinja2, nbconvert, werkzeug
8391
matplotlib==3.10.3 # via -r requirements-dev.txt
8492
matplotlib-inline==0.1.7 # via ipykernel, ipython
8593
mccabe==0.7.0 # via pylint
@@ -89,17 +97,19 @@ mpmath==1.3.0 # via sympy
8997
msgpack==1.1.0 # via deepspeed
9098
multidict==6.4.4 # via aiohttp, yarl
9199
multiprocess==0.70.16 # via datasets
100+
mypy==1.16.0 # via -r requirements-dev.txt
101+
mypy-extensions==1.1.0 # via mypy
92102
nbclient==0.10.2 # via nbconvert
93103
nbconvert==7.16.6 # via jupyter, jupyter-server
94104
nbformat==5.10.4 # via jupyter-server, nbclient, nbconvert
95105
nest-asyncio==1.6.0 # via ipykernel
96-
networkx==3.4.2 # via torch
106+
networkx==3.5 # via torch
97107
ninja==1.11.1.4 # via deepspeed
98108
nodeenv==1.9.1 # via pre-commit
99109
notebook==7.4.3 # via jupyter
100110
notebook-shim==0.2.4 # via jupyterlab, notebook
101111
numba==0.61.2 # via -r requirements.txt
102-
numpy==1.26.4 # via -r requirements-dev.txt, -r requirements.txt, accelerate, bitsandbytes, contourpy, datasets, deepspeed, matplotlib, numba, pandas, peft, transformers
112+
numpy==1.26.4 # via accelerate, bitsandbytes, contourpy, datasets, deepspeed, matplotlib, numba, pandas, peft, tensorboard, transformers, -r requirements-dev.txt, -r requirements.txt
103113
nvidia-cublas-cu12==12.4.5.8 # via nvidia-cudnn-cu12, nvidia-cusolver-cu12, torch
104114
nvidia-cuda-cupti-cu12==12.4.127 # via torch
105115
nvidia-cuda-nvrtc-cu12==12.4.127 # via torch
@@ -110,84 +120,96 @@ nvidia-curand-cu12==10.3.5.147 # via torch
110120
nvidia-cusolver-cu12==11.6.1.9 # via torch
111121
nvidia-cusparse-cu12==12.3.1.170 # via nvidia-cusolver-cu12, torch
112122
nvidia-cusparselt-cu12==0.6.2 # via torch
113-
nvidia-ml-py==12.575.51 # via deepspeed
114123
nvidia-nccl-cu12==2.21.5 # via torch
115124
nvidia-nvjitlink-cu12==12.4.127 # via nvidia-cusolver-cu12, nvidia-cusparse-cu12, torch
116125
nvidia-nvtx-cu12==12.4.127 # via torch
117126
overrides==7.7.0 # via jupyter-server
118-
packaging==25.0 # via -r requirements.txt, accelerate, datasets, deepspeed, huggingface-hub, ipykernel, jupyter-events, jupyter-server, jupyterlab, jupyterlab-server, matplotlib, nbconvert, peft, pyproject-api, tox, transformers
127+
packaging==25.0 # via accelerate, datasets, deepspeed, huggingface-hub, ipykernel, jupyter-events, jupyter-server, jupyterlab, jupyterlab-server, matplotlib, nbconvert, peft, pyproject-api, pytest, tensorboard, tox, transformers, -r requirements.txt
119128
pandas==2.2.3 # via datasets
120129
pandocfilters==1.5.1 # via nbconvert
121130
parso==0.8.4 # via jedi
131+
pathspec==0.12.1 # via mypy
122132
peft==0.15.2 # via -r requirements.txt
123133
pexpect==4.9.0 # via ipython
124134
pillow==11.2.1 # via matplotlib
125-
platformdirs==4.3.8 # via jupyter-core, pylint, tox, virtualenv
126-
pluggy==1.6.0 # via tox
135+
platformdirs==4.3.8 # via jupyter-core, pylint, tox, virtualenv, wandb
136+
pluggy==1.6.0 # via pytest, tox
127137
pre-commit==4.2.0 # via -r requirements-dev.txt
128138
prometheus-client==0.22.0 # via jupyter-server
129139
prompt-toolkit==3.0.51 # via ipython, jupyter-console
130140
propcache==0.3.1 # via aiohttp, yarl
131-
psutil==7.0.0 # via accelerate, deepspeed, ipykernel, peft
141+
protobuf==6.31.1 # via tensorboard, wandb
142+
psutil==7.0.0 # via accelerate, deepspeed, ipykernel, peft, wandb
132143
ptyprocess==0.7.0 # via pexpect, terminado
133144
pure-eval==0.2.3 # via stack-data
134-
py-cpuinfo==9.0.0 # via -r requirements.txt, deepspeed
145+
py-cpuinfo==9.0.0 # via deepspeed, -r requirements.txt
135146
pyarrow==20.0.0 # via datasets
136147
pycparser==2.22 # via cffi
137-
pydantic==2.11.5 # via -r requirements.txt, deepspeed, pylint-pydantic
148+
pydantic==2.11.5 # via deepspeed, pylint-pydantic, wandb, -r requirements.txt
138149
pydantic-core==2.33.2 # via pydantic
139150
pygments==2.19.1 # via ipython, ipython-pygments-lexers, jupyter-console, nbconvert, rich
140-
pylint==3.3.7 # via -r requirements-dev.txt, pylint-plugin-utils, pylint-pydantic
151+
pylint==3.3.7 # via pylint-plugin-utils, pylint-pydantic, -r requirements-dev.txt
141152
pylint-plugin-utils==0.8.2 # via pylint-pydantic
142153
pylint-pydantic==0.3.5 # via -r requirements-dev.txt
143154
pyparsing==3.2.3 # via matplotlib
144155
pyproject-api==1.9.1 # via tox
156+
pytest==8.3.5 # via -r requirements-dev.txt
145157
python-dateutil==2.9.0.post0 # via arrow, jupyter-client, matplotlib, pandas
146158
python-json-logger==3.3.0 # via jupyter-events
147159
pytz==2025.2 # via pandas
148-
pyyaml==6.0.2 # via -r requirements.txt, accelerate, datasets, huggingface-hub, jupyter-events, peft, pre-commit, transformers
160+
pyyaml==6.0.2 # via accelerate, datasets, huggingface-hub, jupyter-events, peft, pre-commit, transformers, wandb, -r requirements.txt
149161
pyzmq==26.4.0 # via ipykernel, jupyter-client, jupyter-console, jupyter-server
150162
referencing==0.36.2 # via jsonschema, jsonschema-specifications, jupyter-events
151163
regex==2024.11.6 # via transformers
152-
requests==2.32.3 # via datasets, huggingface-hub, jupyterlab-server, transformers
164+
requests==2.32.3 # via datasets, huggingface-hub, jupyterlab-server, transformers, wandb
153165
rfc3339-validator==0.1.4 # via jsonschema, jupyter-events
154166
rfc3986-validator==0.1.1 # via jsonschema, jupyter-events
155167
rich==14.0.0 # via -r requirements.txt
156168
rpds-py==0.25.1 # via jsonschema, referencing
157-
ruff==0.11.11 # via -r requirements-dev.txt
169+
ruff==0.11.12 # via -r requirements-dev.txt
158170
safetensors==0.5.3 # via accelerate, instructlab-dolomite, peft, transformers
159171
send2trash==1.8.3 # via jupyter-server
160-
six==1.17.0 # via python-dateutil, rfc3339-validator
172+
sentry-sdk==2.29.1 # via wandb
173+
setproctitle==1.3.6 # via wandb
174+
setuptools==80.9.0 # via jupyterlab, tensorboard, wandb
175+
six==1.17.0 # via docker-pycreds, python-dateutil, rfc3339-validator, tensorboard
176+
smmap==5.0.2 # via gitdb
161177
sniffio==1.3.1 # via anyio
162178
soupsieve==2.7 # via beautifulsoup4
163179
stack-data==0.6.3 # via ipython
164180
sympy==1.13.1 # via torch
181+
tensorboard==2.19.0 # via -r requirements-dev.txt
182+
tensorboard-data-server==0.7.2 # via tensorboard
165183
terminado==0.18.1 # via jupyter-server, jupyter-server-terminals
166184
tinycss2==1.4.0 # via bleach
167185
tokenizers==0.21.1 # via transformers
168186
tomlkit==0.13.2 # via pylint
169-
torch==2.6.0 # via -c constraints-dev.txt.in, -r requirements.txt, accelerate, bitsandbytes, deepspeed, flash-attn, instructlab-dolomite, liger-kernel, peft
187+
torch==2.6.0 # via accelerate, bitsandbytes, deepspeed, flash-attn, instructlab-dolomite, liger-kernel, peft, -c constraints-dev.txt.in, -r requirements.txt
170188
tornado==6.5.1 # via ipykernel, jupyter-client, jupyter-server, jupyterlab, notebook, terminado
171-
tox==4.26.0 # via -r requirements-dev.txt, tox-current-env
189+
tox==4.26.0 # via tox-current-env, -r requirements-dev.txt
172190
tox-current-env==0.0.16 # via -r requirements-dev.txt
173191
tqdm==4.67.1 # via datasets, deepspeed, huggingface-hub, peft, transformers
174192
traitlets==5.14.3 # via comm, ipykernel, ipython, ipywidgets, jupyter-client, jupyter-console, jupyter-core, jupyter-events, jupyter-server, jupyterlab, matplotlib-inline, nbclient, nbconvert, nbformat
175-
transformers==4.52.3 # via -r requirements.txt, instructlab-dolomite, peft, trl
193+
transformers==4.52.4 # via instructlab-dolomite, peft, trl, -r requirements.txt
176194
triton==3.2.0 # via liger-kernel, torch
177-
trl==0.18.0 # via -r requirements.txt
195+
trl==0.18.1 # via -r requirements.txt
178196
types-python-dateutil==2.9.0.20250516 # via arrow
179-
typing-extensions==4.13.2 # via anyio, beautifulsoup4, huggingface-hub, ipython, pydantic, pydantic-core, referencing, torch, typing-inspection
197+
types-pyyaml==6.0.12.20250516 # via -r requirements-dev.txt
198+
types-requests==2.32.0.20250515 # via types-tqdm
199+
types-tqdm==4.67.0.20250516 # via -r requirements-dev.txt
200+
typing-extensions==4.13.2 # via anyio, beautifulsoup4, huggingface-hub, ipython, mypy, pydantic, pydantic-core, referencing, torch, typing-inspection, wandb
180201
typing-inspection==0.4.1 # via pydantic
181202
tzdata==2025.2 # via pandas
182203
uri-template==1.3.0 # via jsonschema
183-
urllib3==2.4.0 # via requests
204+
urllib3==2.4.0 # via requests, sentry-sdk, types-requests
184205
virtualenv==20.31.2 # via pre-commit, tox
206+
wandb==0.19.11 # via -r requirements-dev.txt
185207
wcwidth==0.2.13 # via prompt-toolkit
186208
webcolors==24.11.1 # via jsonschema
187209
webencodings==0.5.1 # via bleach, tinycss2
188210
websocket-client==1.8.0 # via jupyter-server
211+
werkzeug==3.1.3 # via tensorboard
189212
wheel==0.45.1 # via -r requirements.txt
190213
widgetsnbextension==4.0.14 # via ipywidgets
191214
xxhash==3.5.0 # via datasets
192215
yarl==1.20.0 # via aiohttp
193-
setuptools==80.9.0 # via jupyterlab

requirements-dev.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,20 @@ numpy
88
pre-commit>=3.0.4
99
pylint>=2.16.2
1010
pylint-pydantic
11+
pytest
1112
ruff
1213
tox>=4.4.2
1314
tox-current-env
1415

16+
mypy>=1.10.0
17+
types-tqdm
18+
types-PyYAML
19+
1520
ipython
1621
ipykernel
1722
jupyter
1823

1924
huggingface_hub
25+
26+
wandb
27+
tensorboard

tox.ini

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,6 @@ passenv =
2323
HF_HOME
2424
INSTRUCTLAB_NCCL_TIMEOUT_MS
2525
deps =
26-
pytest
27-
wandb
28-
tensorboard
2926
-r requirements-dev.txt
3027
commands = {envpython} -m pytest tests/unit {posargs}
3128
# NOTE: {posargs} is a placeholder for input positional arguments
@@ -39,7 +36,6 @@ passenv =
3936
HF_HOME
4037
INSTRUCTLAB_NCCL_TIMEOUT_MS
4138
deps =
42-
pytest
4339
-r requirements-dev.txt
4440
-r requirements-cuda.txt
4541
commands = {envpython} -m pytest tests/smoke {posargs}
@@ -97,7 +93,7 @@ basepython = {[testenv:py3]basepython}
9793
skip_install = true
9894
skipsdist = true
9995
deps =
100-
mypy>=1.10.0,<2.0
96+
mypy
10197
types-tqdm
10298
types-PyYAML
10399
pytest

0 commit comments

Comments
 (0)