-
Notifications
You must be signed in to change notification settings - Fork 5
/
pyproject.toml
116 lines (102 loc) · 3.35 KB
/
pyproject.toml
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
# Refs:
# https://packaging.python.org/en/latest/specifications/declaring-project-metadata/#example
# https://setuptools.pypa.io/en/latest/userguide/dependency_management.html#dependencies-management-in-setuptools
[build-system]
requires = ["setuptools", "setuptools-scm", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "itwinai"
version = "0.2.3"
description = "AI and ML workflows module for scientific digital twins."
readme = "README.md"
requires-python = ">=3.10"
license = { file = "LICENSE" }
keywords = ["ml", "ai", "hpc"]
maintainers = [
{ name = "Matteo Bunino", email = "[email protected]" },
{ name = "Jarl Sondre Sæther", email = "[email protected]" },
{ name = "Anna Lappe", email = "[email protected]" },
]
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python",
]
dependencies = [
"wandb",
"mlflow",
"jsonargparse[signatures]",
"pyyaml",
"omegaconf",
"rich>=13.5.3",
"typer>=0.9.0",
"wheel",
"pydantic",
# "prov4ml@git+https://github.com/HPCI-Lab/ProvML@main", # Prov4ML
# "prov4ml@git+https://github.com/matbun/ProvML@main",
"pandas",
"seaborn",
]
# dynamic = ["version", "description"]
[project.optional-dependencies]
torch = [
"torch==2.4.*",
"lightning==2.*",
"torchmetrics>=1.6.0",
"torchvision>=0.19.1",
"torchaudio>=2.4.1",
]
dev = [
"pytest>=7.4.2",
"pytest-mock>=3.11.1",
"pytest-cov>=4.1.0",
"ipykernel",
"ipython",
"isort",
"tensorflow==2.16.*", # needed by tests on tensorboard
]
docs = [
"sphinx-rtd-theme==2.0.0",
"nbsphinx==0.9.4",
"myst-parser==2.0.0",
"IPython",
"tensorflow==2.16.*",
]
macos = ["prov4ml[apple]@git+https://github.com/matbun/ProvML@new-main"]
nvidia = ["prov4ml[nvidia]@git+https://github.com/matbun/ProvML@new-main"]
amd = ["prov4ml[amd]@git+https://github.com/matbun/ProvML@new-main"]
[project.urls]
Homepage = "https://www.intertwin.eu/"
Documentation = "https://itwinai.readthedocs.io/"
Repository = "https://github.com/interTwin-eu/itwinai"
# Changelog = "https://github.com/me/spam/blob/master/CHANGELOG.md"
[project.scripts]
itwinai = "itwinai.cli:app"
# [project.gui-scripts]
# spam-gui = "spam:main_gui"
# [project.entry-points."spam.magical"]
# tomatoes = "spam:main_tomatoes"
[tool.pytest.ini_options]
markers = [
"integration: integration tests (deselect with '-m \"not integration\"')",
"hpc: needs SLURM and HPC resources (multiple GPUs/nodes). (deselect with '-m \"not hpc\"')",
"torch_dist: runs with torch DDP distributed strategy. (deselect with '-m \"not torch_dist\"')",
"deepspeed_dist: runs with torch DeepSpeed distributed strategy. (deselect with '-m \"not deepspeed_dist\"')",
"horovod_dist: runs with torch Horovod distributed strategy. (deselect with '-m \"not horovod_dist\"')",
"functional: functional tests. (deselect with '-m \"not functional\"')",
"memory_heavy: high memory footprint. (deselect with '-m \"not heavy_memory\"')",
]
# [tool.isort]
# profile = "black"
# known_first_party = ["itwinai"]
# Ruff configuration: https://docs.astral.sh/ruff/configuration/
[tool.ruff]
line-length = 95
[tool.ruff.lint]
select = ["E", "F", "I", "W"]
ignore = ["E203"]
fixable = ["ALL"]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = false
line-ending = "auto"