Skip to content

Commit 6e9d43b

Browse files
committed
Migrated dependencies to a single pyproject.toml file for use with the new Python package manager uv
1 parent e98a63e commit 6e9d43b

File tree

2 files changed

+12087
-672
lines changed

2 files changed

+12087
-672
lines changed

pyproject.toml

Lines changed: 274 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@ version = "2025.1"
55
description = "Open Data Hub / OpenShift AI Notebook / Workbench images, and tests for the same in Python."
66
readme = "README.md"
77
package-mode = false
8-
requires-python = ">=3.12,<3.13"
9-
10-
# https://docs.astral.sh/uv/concepts/projects/dependencies/#managing-dependencies
11-
dependencies = []
8+
requires-python = ">=3.11,<3.13"
129

1310
[dependency-groups]
11+
12+
############################
13+
# Python Dependency Groups #
14+
############################
15+
1416
dev = [
1517
"pre-commit",
1618
"pyright",
@@ -32,13 +34,280 @@ dev = [
3234
"openshift-python-wrapper",
3335
]
3436

37+
base = [
38+
39+
"wheel~=0.45.1",
40+
"setuptools~=75.8.2",
41+
]
42+
43+
jupyter-base = [
44+
"jupyterlab==4.2.7",
45+
"jupyter-server~=2.15.0",
46+
"jupyter-server-proxy~=4.4.0",
47+
"jupyter-server-terminals~=0.5.3",
48+
"jupyterlab-git~=0.50.1",
49+
"nbdime~=4.0.2",
50+
"nbgitpuller~=1.2.2",
51+
]
52+
53+
elyra-base = [
54+
"odh-elyra==4.2.0",
55+
"jupyterlab-lsp~=5.1.0",
56+
"jupyterlab-widgets~=3.0.13",
57+
"jupyter-resource-usage~=1.1.1",
58+
]
59+
60+
elyra-preferred = [
61+
"jupyter-bokeh~=4.0.5",
62+
]
63+
64+
elyra-trustyai = [
65+
"jupyter-bokeh~=3.0.5",
66+
]
67+
68+
db-connectors = [
69+
"pymongo~=4.11.2",
70+
"psycopg~=3.2.5",
71+
"pyodbc~=5.2.0",
72+
"mysql-connector-python~=9.2.0"
73+
]
74+
75+
# onnxconverter-common ~=1.13.0 required for skl2onnx, as upgraded version is not compatible with protobuf
76+
datascience-base = [
77+
"boto3 ~=1.37.8",
78+
"kafka-python-ng ~=2.2.3",
79+
"kfp ~=2.12.1",
80+
"plotly ~=6.0.0",
81+
"scipy ~=1.15.2",
82+
"skl2onnx ~=1.18.0",
83+
"onnxconverter-common ~=1.13.0",
84+
"codeflare-sdk ~=0.27.0",
85+
"kubeflow-training ==1.9.0"
86+
]
87+
88+
datascience-preferred = [
89+
"matplotlib~=3.10.1",
90+
"numpy~=2.2.3",
91+
"pandas~=2.2.3",
92+
"scikit-learn~=1.6.1",
93+
]
94+
95+
datascience-tensorflow = [
96+
"matplotlib~=3.10.1",
97+
"numpy~=1.26.4",
98+
"pandas~=2.2.3",
99+
"scikit-learn~=1.6.1",
100+
]
101+
102+
datascience-trustyai = [
103+
"matplotlib ~=3.6.3",
104+
"numpy ~=1.24.1",
105+
"pandas ~=1.5.3",
106+
"scikit-learn ~=1.2.1"
107+
]
108+
109+
tensorflowcuda= [
110+
"tensorflow[and-cuda]~=2.18.0",
111+
"tensorboard~=2.18.0",
112+
"tf2onnx~=1.16.1",
113+
]
114+
tensorflowrocm = [
115+
"tensorflow-rocm~=2.14.0.600",
116+
"tensorboard~=2.14.0",
117+
"tf2onnx~=1.16.1",
118+
]
119+
pytorchcuda = [
120+
"tensorboard~=2.19.0",
121+
"torch==2.6.0",
122+
"torchvision==0.21.0",
123+
]
124+
pytorchrocm = [
125+
"tensorboard~=2.18.0",
126+
"torch==2.6.0",
127+
"torchvision==0.21.0",
128+
"pytorch-triton-rocm~=3.2.0",
129+
]
130+
trustyai = [
131+
"torch==2.6.0",
132+
"transformers~=4.49.0",
133+
"datasets~=3.4.1",
134+
"accelerate~=1.5.2",
135+
"trustyai~=0.6.1",
136+
]
137+
138+
#########################
139+
# Workbench Image Groups #
140+
#########################
141+
142+
jupyter-minimal-image = [
143+
{ include-group = "dev" },
144+
{ include-group = "base" },
145+
{ include-group = "jupyter-base" },
146+
]
147+
148+
jupyter-datascience-image = [
149+
{ include-group = "dev" },
150+
{ include-group = "base" },
151+
{ include-group = "jupyter-base" },
152+
{ include-group = "elyra-base" },
153+
{ include-group = "elyra-preferred" },
154+
{ include-group = "datascience-base" },
155+
{ include-group = "datascience-preferred" },
156+
{ include-group = "db-connectors" },
157+
]
158+
159+
jupyter-tensorflow-image = [
160+
{ include-group = "dev" },
161+
{ include-group = "base" },
162+
{ include-group = "jupyter-base" },
163+
{ include-group = "elyra-base" },
164+
{ include-group = "elyra-preferred" },
165+
{ include-group = "datascience-base" },
166+
{ include-group = "datascience-tensorflow" },
167+
{ include-group = "db-connectors" },
168+
{ include-group = "tensorflowcuda" },
169+
]
170+
171+
jupyter-tensorflow-rocm-image = [
172+
{ include-group = "dev" },
173+
{ include-group = "base" },
174+
{ include-group = "jupyter-base" },
175+
{ include-group = "elyra-base" },
176+
{ include-group = "elyra-preferred" },
177+
{ include-group = "datascience-base" },
178+
{ include-group = "datascience-tensorflow" },
179+
{ include-group = "db-connectors" },
180+
{ include-group = "tensorflowrocm" },
181+
]
182+
183+
jupyter-pytorch-image = [
184+
{ include-group = "dev" },
185+
{ include-group = "base" },
186+
{ include-group = "jupyter-base" },
187+
{ include-group = "elyra-base" },
188+
{ include-group = "elyra-preferred" },
189+
{ include-group = "datascience-base" },
190+
{ include-group = "datascience-preferred" },
191+
{ include-group = "db-connectors" },
192+
{ include-group = "pytorchcuda" },
193+
]
194+
195+
jupyter-pytorch-rocm-image = [
196+
{ include-group = "dev" },
197+
{ include-group = "base" },
198+
{ include-group = "jupyter-base" },
199+
{ include-group = "elyra-base" },
200+
{ include-group = "elyra-preferred" },
201+
{ include-group = "datascience-base" },
202+
{ include-group = "datascience-preferred" },
203+
{ include-group = "db-connectors" },
204+
{ include-group = "pytorchrocm" },
205+
]
206+
207+
jupyter-trustyai-image = [
208+
{ include-group = "dev" },
209+
{ include-group = "base" },
210+
{ include-group = "jupyter-base" },
211+
{ include-group = "elyra-base" },
212+
{ include-group = "elyra-trustyai" },
213+
{ include-group = "datascience-base" },
214+
{ include-group = "datascience-trustyai" },
215+
{ include-group = "db-connectors" },
216+
{ include-group = "trustyai" },
217+
]
218+
219+
[tool.uv.sources]
220+
torch = [
221+
{ index = "pytorch-cuda", group = "pytorchcuda" },
222+
{ index = "pytorch-cuda", group = "trustyai" },
223+
{ index = "pytorch-rocm", group = "pytorchrocm" },
224+
]
225+
torchvision = [
226+
{ index = "pytorch-cuda", group = "pytorchcuda" },
227+
{ index = "pytorch-rocm", group = "pytorchrocm" },
228+
]
229+
pytorch-triton-rocm = [
230+
{ index = "pytorch-rocm" },
231+
]
232+
233+
234+
[[tool.uv.index]]
235+
name = "pytorch-cuda"
236+
url = "https://download.pytorch.org/whl/cu126"
237+
explicit = true
238+
239+
[[tool.uv.index]]
240+
name = "pytorch-rocm"
241+
url = "https://download.pytorch.org/whl/rocm6.2.4"
242+
explicit = true
243+
244+
[[tool.uv.index]]
245+
name = "pypi"
246+
url = "https://pypi.org/simple/"
247+
explicit = true
248+
249+
[[tool.uv.dependency-metadata]]
250+
name = "tf2onnx"
251+
version = "1.16.1"
252+
requires-dist = ["protobuf"]
253+
254+
[[tool.uv.dependency-metadata]]
255+
name = "tensorflow-rocm"
256+
version = "2.14.0.600"
257+
requires-dist = [
258+
"tensorflow-cpu-aws; platform_machine != 'x86_64'",
259+
"tensorflow-estimator",
260+
"tensorflow-io-gcs-filesystem",
261+
]
262+
35263
[tool.uv]
36264
package = false
37265
environments = [
38-
"sys_platform == 'darwin'",
39266
"sys_platform == 'linux'",
40267
]
41268

269+
conflicts = [
270+
[
271+
{ group = "elyra-preferred" },
272+
{ group = "elyra-trustyai" }
273+
],
274+
[
275+
{ group = "elyra-preferred" },
276+
{ group = "trustyai" }
277+
],
278+
[
279+
{ group = "datascience-preferred" },
280+
{ group = "trustyai" },
281+
{ group = "tensorflowcuda" },
282+
],
283+
[
284+
{ group = "datascience-tensorflow" },
285+
{ group = "trustyai" }
286+
],
287+
[
288+
{ group = "datascience-preferred" },
289+
{ group = "datascience-trustyai" },
290+
{ group = "datascience-tensorflow" },
291+
],
292+
[
293+
{ group = "tensorflowcuda" },
294+
{ group = "tensorflowrocm" },
295+
{ group = "pytorchcuda" },
296+
{ group = "pytorchrocm" },
297+
{ group = "trustyai" },
298+
],
299+
[
300+
{ group = "tensorflowcuda" },
301+
{ group = "tensorflowrocm" },
302+
{ group = "datascience-base" },
303+
],
304+
[
305+
{ group = "tensorflowcuda" },
306+
{ group = "trustyai" },
307+
{ group = "datascience-trustyai" },
308+
]
309+
]
310+
42311
# https://github.com/astral-sh/uv/issues/3957#issuecomment-2659350181
43312
[build-system]
44313
requires = ["uv-build"]

0 commit comments

Comments
 (0)