-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
96 lines (86 loc) · 2.87 KB
/
pyproject.toml
File metadata and controls
96 lines (86 loc) · 2.87 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
[project]
name = "aare-forecast"
version = "0.1.0"
description = "Forecasting temperature (and water level) for the Swiss river Aare"
requires-python = ">=3.11"
dependencies = []
[dependency-groups]
dev = [
"aare",
"aare-train[gpu-auto,dvc]",
"aare-logging",
"aare-timescale",
"basedpyright>=1.36.1",
"gunicorn>=23.0.0",
"httpx>=0.28.1",
"ipykernel>=6.29.5",
"ipywidgets>=8.1.5",
"jupyter>=1.1.1",
"jupyterlab>=4.3.4",
"marimo>=0.18.4",
"mlflow>=2.22.0",
"nbstripout>=0.8.1",
"optuna>=4.3.0",
"optuna-dashboard>=0.18.0",
"pandas-stubs>=2.3.0.250703",
"plotly>=6.1.2",
"polars>=1.35.2",
"psutil>=7.0.0",
"psycopg[binary,pool]>=3.2.9",
"pynvml>=12.0.0",
"pypots>=0.19",
"ruff>=0.9.5",
"statsmodels>=0.14.4",
]
[tool.ruff]
line-length = 120
[tool.pyright]
pythonVersion = "3.12"
pythonPlatform = "Linux"
reportRedeclaration = "warning"
reportMissingImports = "error"
reportUnusedCallResult = false
reportExplicitAny = false
reportUnannotatedClassAttribute = "information"
reportAny = "information"
ignore = [
"src/aare-train/src/aare_train/compat/optuna_lightning_integration.py",
"src/aare-train/src/aare_train/wrappers/timesfm.py",
"notebooks/",
"reports/",
]
# fixes `lib` absolute imports, all "aare-*" packages are installed so no need
executionEnvironments = [
{ root = "src/forecast-service", pythonVersion = "3.12", extraPaths = ["src/forecast-service", ] },
{ root = "src/forecast-api", pythonVersion = "3.12", extraPaths = ["src/forecast-api", ] },
]
# needed explicitly otherwise the overrides below are ignored
[tool.uv]
package = false
# can only have this in the top-level pyproject.toml, package-specific one are ignored
override-dependencies = [
# these are dependencies (of darts) with many deps that we're not using
"xgboost; sys_platform == 'never'",
"statsforecast; sys_platform == 'never'",
"pyod; sys_platform == 'never'",
# these are large dependencies of packages that we (probably) cannot remove fully (e.g. matplotlib)
# but don't break anything if removed
"fontTools; sys_platform == 'never'",
"aiohttp; sys_platform == 'never'",
# many large packages we simply cannot remove like xarray, scipy, statsmodels, matplotlib
# because darts or its dependencies import them
# these dependencies are only used during development, so they could be removed
# in the final images, but not here because then uv sync always ignores them.
# "networkx; sys_platform == 'never'",
# "pygments; sys_platform == 'never'",
# "pygit2; sys_platform == 'never'",
# "shap; sys_platform == 'never'",
# "cryptography; sys_platform == 'never'",
]
[tool.uv.workspace]
members = ["src/*"]
[tool.uv.sources]
aare = { workspace = true }
aare-train = { workspace = true }
aare-logging = { workspace = true }
aare-timescale = { workspace = true }