Diff of /pyproject.toml [000000] .. [b9e282]

Switch to unified view

a b/pyproject.toml
1
[build-system]
2
requires = ["setuptools", "wheel"]
3
build-backend = "setuptools.build_meta"
4
5
# We can likely clean up the meta-package once https://github.com/astral-sh/uv/issues/6935 has a resolution.
6
[project]
7
name = "bionemo-meta"
8
readme = "README.md"
9
description = "BioNeMo meta-package."
10
authors = [{ name = "BioNeMo Team", email = "bionemofeedback@nvidia.com" }]
11
requires-python = ">=3.10"
12
classifiers = ["Private :: Do Not Upload", "Programming Language :: Python :: 3.10"]
13
license = { file = "LICENSE/license.txt" }
14
version = "2.0.0"
15
dependencies = [
16
    # **ALL** bionemo sub-packages
17
    'bionemo-core',
18
    'bionemo-esm2',
19
    'bionemo-evo2',
20
    'bionemo-example_model',
21
    'bionemo-fw',
22
    'bionemo-geneformer',
23
    'bionemo-geometric',
24
    'bionemo-llm',
25
    'bionemo-moco',
26
    'bionemo-scdl',
27
    'bionemo-size-aware-batching',
28
    'bionemo-testing',
29
    'bionemo-webdatamodule',
30
    # external
31
    'nemo_run',
32
    'torch==2.3.*',
33
    # internal code
34
    "infra-bionemo",
35
]
36
37
[project.optional-dependencies]
38
build = ['flash-attn', 'pip']
39
40
[tool.uv.workspace]
41
members = ["3rdparty/*", "internal/infra-bionemo/", "sub-packages/bionemo-*/"]
42
43
[tool.uv.sources]
44
# external
45
nemo_run = { git = "https://github.com/NVIDIA/NeMo-Run", rev = "34259bd3e752fef94045a9a019e4aaf62bd11ce2" }
46
# under 3rdparty/
47
nemo_toolkit = { workspace = true }
48
megatron-core = { workspace = true }
49
# in sub-packages/
50
bionemo-core = { workspace = true }
51
bionemo-amplify = { workspace = true }
52
bionemo-esm2 = { workspace = true }
53
bionemo-example_model = { workspace = true }
54
bionemo-fw = { workspace = true }
55
bionemo-geneformer = { workspace = true }
56
bionemo-geometric = { workspace = true }
57
bionemo-llm = { workspace = true }
58
bionemo-moco = { workspace = true }
59
bionemo-noodles = { workspace = true }
60
bionemo-scdl = { workspace = true }
61
bionemo-size-aware-batching = { workspace = true }
62
bionemo-testing = { workspace = true }
63
bionemo-webdatamodule = { workspace = true }
64
# in internal/
65
infra-bionemo = { workspace = true }
66
67
[tool.uv]
68
dev-dependencies = [
69
    "click",
70
    "ipdb",
71
    "nbval",
72
    "pre-commit",
73
    "pyright",
74
    "ruff",
75
    "tach",
76
    "tenacity",
77
]
78
no-build-isolation-package = ["flash-attn"]
79
cache-keys = [{ git = { commit = true } }]
80
81
[tool.black]
82
line-length = 119
83
target-version = ['py310']
84
skip-string-normalization = true
85
86
[tool.ruff]
87
line-length = 119
88
89
[tool.ruff.lint]
90
ignore = ["C901", "D100", "E501", "E741", "RUF005", "RUF010"]
91
select = [
92
    "C",   # Pylint conventions
93
    "D",   # Documentation formatting
94
    "E",   # style stuff, whitespaces
95
    "F",   # important pyflakes lints
96
    "I",   # import sorting
97
    "RUF", # Some Ruff-specific lints, unused noqas, etc.
98
    "W",   # Pylint warnings
99
]
100
101
# Ignore import violations in all `__init__.py` files.
102
[tool.ruff.lint.per-file-ignores]
103
"__init__.py" = ["D104", "E402", "F401", "F403", "F811"]
104
"test_*.py" = ["D"]
105
"conftest.py" = ["D"]
106
"scripts/*.py" = ["D"]
107
"**/*.ipynb" = ["D"]
108
109
[tool.ruff.lint.isort]
110
lines-after-imports = 2
111
known-first-party = ["bionemo", "infra_bionemo"]
112
113
[tool.ruff.lint.pydocstyle]
114
convention = "google"
115
116
[tool.pytest.ini_options]
117
norecursedirs = ["3rdparty"]
118
addopts = ["--durations-min=30.0", "--durations=0", "--ignore=3rdparty"]
119
markers = ["slow: marks tests as slow (deselect with '-m \"not slow\"')"]
120
121
[tool.pyright]
122
include = ["./internal/", "./scripts/", "./sub-packages/"]
123
exclude = ["*/tests/"]
124
executionEnvironments = [
125
    { "root" = ".", pythonVersion = "3.10", extraPaths = [
126
        # 3rd party, git submodules
127
        "./3rdparty/Megatron-LM",
128
        "./3rdparty/NeMo",
129
        # bionemo sub-packages
130
        './sub-packages/bionemo-core/src',
131
        './sub-packages/bionemo-esm2/src',
132
        './sub-packages/bionemo-evo2/src',
133
        './sub-packages/bionemo-example_model/src',
134
        './sub-packages/bionemo-fw/src',
135
        './sub-packages/bionemo-geneformer/src',
136
        './sub-packages/bionemo-geometric/src',
137
        './sub-packages/bionemo-llm/src',
138
        './sub-packages/bionemo-moco/src',
139
        './sub-packages/bionemo-noodles/src',
140
        './sub-packages/bionemo-scdl/src',
141
        './sub-packages/bionemo-size-aware-batching/src',
142
        './sub-packages/bionemo-testing/src',
143
        './sub-packages/bionemo-webdatamodule/src',
144
        # internal
145
        './internal/infra-bionemo/src',
146
    ] },
147
]