Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
118 lines (112 loc) · 2.68 KB
/
Copy pathpyproject.toml
File metadata and controls
118 lines (112 loc) · 2.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
[project]
name = "darktable-ai"
version = "0.1.0"
description = "AI model conversion and packaging pipeline for darktable"
requires-python = ">=3.11,<3.13"
license = "GPL-3.0"
readme = "README.md"
dependencies = [
"click>=8.0",
"pyyaml>=6.0",
]
[project.scripts]
dtai = "darktable_ai.cli:main"
[dependency-groups]
core = [
"torch>=2.2.0,<2.7",
"torchvision>=0.17.0,<0.22",
"numpy<2.0",
"onnx>=1.10.0",
"onnxruntime",
"onnxsim",
# headless, not opencv-python: albumentations/albucore pull
# opencv-python-headless, and both variants install into the same
# cv2/ namespace. Two of them race over cv2/__init__.py and CI ends
# up with a half-written package (cv2.imread missing). We use no GUI
# calls, so headless is the single consistent variant.
"opencv-python-headless",
]
nafnet = [
{include-group = "core"},
"onnxconverter-common",
"addict",
"lmdb",
"scikit-image",
"scipy",
"tqdm",
"yapf",
"requests",
"future",
"tb-nightly",
]
nind = [
{include-group = "core"},
"onnxconverter-common",
]
rawnind = [
{include-group = "core"},
"onnxconverter-common",
"rawpy",
"tifffile",
"configargparse",
"pytorch-msssim",
"colour-science",
"ptflops",
]
segnext = [
{include-group = "core"},
"mmcv>=2.2.0",
"albumentations",
"easydict",
"setuptools",
]
bsrgan = [
{include-group = "core"},
]
realplksr = [
{include-group = "core"},
"onnxconverter-common",
"spandrel>=0.4.0",
"safetensors",
]
sam21 = [
{include-group = "core"},
"torch>=2.5.1",
"hydra-core>=1.3.2",
"iopath>=0.1.10",
]
openclip = [
{include-group = "core"},
"open_clip_torch",
]
all-models = [
{include-group = "nafnet"},
{include-group = "nind"},
{include-group = "rawnind"},
{include-group = "segnext"},
{include-group = "bsrgan"},
{include-group = "realplksr"},
{include-group = "sam21"},
{include-group = "openclip"},
]
eval = [
"numpy<2.0",
"onnxruntime",
"Pillow",
"scipy",
]
[tool.uv]
# mmcv/mmengine require opencv-python while albumentations/albucore
# require opencv-python-headless; both install into the same cv2/
# namespace and race over cv2/__init__.py, leaving a half-written
# package on CI (cv2.imread missing). Force the headless variant
# everywhere — mmcv imports cv2 too and we use no GUI calls — so the
# shared venv only ever has one opencv.
override-dependencies = ["opencv-python; sys_platform == 'never'"]
[tool.uv.extra-build-dependencies]
mmcv = ["setuptools<71"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["darktable_ai"]