-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
119 lines (101 loc) · 3.16 KB
/
Copy pathpyproject.toml
File metadata and controls
119 lines (101 loc) · 3.16 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
119
[build-system]
requires = ["setuptools>=61", "wheel", "build", "setuptools_scm[toml]>=8"]
build-backend = "setuptools.build_meta"
[project]
name = "weightslab"
dynamic = ["version"]
description = "Paving the way between black-box and white-box modeling."
readme = "README.md"
authors = [
{ name = "Alexandru-Andrei Rotaru", email = "alexandru@graybx.com" },
{ name = "Guillaue Pelluet", email = "guillaue@graybx.com" }
]
license = { text = "BSD 2-clause" }
requires-python = ">=3.10"
classifiers = [
"Development Status :: 1 - Planning",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3.10",
]
# Runtime dependencies for the base package.
#
# Packaging note:
# - Avoid strict `==` pins in published libraries to reduce resolver conflicts for users.
# - Prefer compatible ranges, then pin exact versions only in CI/lockfiles.
dependencies = [
# Core data / persistence
"numpy>=1.25.2,<2.0; python_version < '3.13'",
"numpy>=2.1,<3; python_version >= '3.13'",
"pandas>=2.2.3,<3",
"duckdb>=1.1,<2", # signal/sample/instance history store
"PyYAML>=6.0.3,<7",
"dill>=0.3.8,<0.5",
"zstandard>=0.22,<1",
"h5py>=3.10,<4",
"xxhash>=3.4,<4.1",
"tables>=3.9,<4", # h5 deps
# PyTorch stack
"torch>=2.1,<2.9; python_version < '3.13'",
"torch==2.9; python_version >= '3.13'",
"torchvision>=0.16,<0.24; python_version < '3.13'",
"torchvision>=0.24,<1; python_version >= '3.13'",
"torchmetrics>=1.9",
# Serving / schema
"grpcio>=1.80,<2",
"protobuf>=4.25,<7",
"pydantic>=2.7,<3",
# Imaging
"Pillow>=10,<12",
# Modeling
"onnx>=1.15,<=1.20",
# Utility used in examples and progress reporting
"tqdm>=4.66,<5",
# Environment variable loading (used by agent service)
"python-dotenv>=1,<2",
# Agent service runtime deps (imported by default module graph)
"langchain-core>=0.3,<2",
"langchain-ollama>=0.2,<2",
"langchain-openai>=0.2,<2",
]
[project.optional-dependencies]
# Optional: ultralytics onboarding
ultralytics = [
"ultralytics>=8.4.16",
]
# Optional: runtime backend for ONNX model execution
onnx = [
"onnxruntime>=1.17,<2",
"onnxscript>=0.6.2,<0.7",
]
# Optional: developer tooling used for local development / codegen
dev = [
"grpcio-tools>=1.62,<2",
"torchinfo>=1.8,<2",
"httpx>=0.27,<1",
]
utest = [
"torchaudio>=2.1,<2.9; python_version < '3.13'",
"torchaudio>=2.9,<3; python_version >= '3.13'",
"torchmetrics>=1.3,<2",
"pytorch-lightning>=2.2,<3",
"tensorboard>=2.14,<3",
"graphviz>=0.20,<1",
"pytest>=9.0.2",
]
[project.scripts]
weightslab = "weightslab.ui_docker_bridge:main"
[project.urls]
Homepage = "https://github.com/GrayboxTech/weightslab"
[tool.setuptools.package-data]
"weightslab.ui" = ["*.yml", "*.yaml", "*.sh", "*.ps1"]
[tool.setuptools.packages.find]
where = ["."]
include = ["weightslab", "weightslab.*"]
[tool.setuptools_scm]
# Write the generated version into a small module so your package can import it at runtime
write_to = "weightslab/_version.py"
# Optional: choose version/local schemes — defaults are usually fine
version_scheme = "guess-next-dev"
local_scheme = "no-local-version"