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

Switch to side-by-side view

--- a
+++ b/pyproject.toml
@@ -0,0 +1,147 @@
+[build-system]
+requires = ["setuptools", "wheel"]
+build-backend = "setuptools.build_meta"
+
+# We can likely clean up the meta-package once https://github.com/astral-sh/uv/issues/6935 has a resolution.
+[project]
+name = "bionemo-meta"
+readme = "README.md"
+description = "BioNeMo meta-package."
+authors = [{ name = "BioNeMo Team", email = "bionemofeedback@nvidia.com" }]
+requires-python = ">=3.10"
+classifiers = ["Private :: Do Not Upload", "Programming Language :: Python :: 3.10"]
+license = { file = "LICENSE/license.txt" }
+version = "2.0.0"
+dependencies = [
+    # **ALL** bionemo sub-packages
+    'bionemo-core',
+    'bionemo-esm2',
+    'bionemo-evo2',
+    'bionemo-example_model',
+    'bionemo-fw',
+    'bionemo-geneformer',
+    'bionemo-geometric',
+    'bionemo-llm',
+    'bionemo-moco',
+    'bionemo-scdl',
+    'bionemo-size-aware-batching',
+    'bionemo-testing',
+    'bionemo-webdatamodule',
+    # external
+    'nemo_run',
+    'torch==2.3.*',
+    # internal code
+    "infra-bionemo",
+]
+
+[project.optional-dependencies]
+build = ['flash-attn', 'pip']
+
+[tool.uv.workspace]
+members = ["3rdparty/*", "internal/infra-bionemo/", "sub-packages/bionemo-*/"]
+
+[tool.uv.sources]
+# external
+nemo_run = { git = "https://github.com/NVIDIA/NeMo-Run", rev = "34259bd3e752fef94045a9a019e4aaf62bd11ce2" }
+# under 3rdparty/
+nemo_toolkit = { workspace = true }
+megatron-core = { workspace = true }
+# in sub-packages/
+bionemo-core = { workspace = true }
+bionemo-amplify = { workspace = true }
+bionemo-esm2 = { workspace = true }
+bionemo-example_model = { workspace = true }
+bionemo-fw = { workspace = true }
+bionemo-geneformer = { workspace = true }
+bionemo-geometric = { workspace = true }
+bionemo-llm = { workspace = true }
+bionemo-moco = { workspace = true }
+bionemo-noodles = { workspace = true }
+bionemo-scdl = { workspace = true }
+bionemo-size-aware-batching = { workspace = true }
+bionemo-testing = { workspace = true }
+bionemo-webdatamodule = { workspace = true }
+# in internal/
+infra-bionemo = { workspace = true }
+
+[tool.uv]
+dev-dependencies = [
+    "click",
+    "ipdb",
+    "nbval",
+    "pre-commit",
+    "pyright",
+    "ruff",
+    "tach",
+    "tenacity",
+]
+no-build-isolation-package = ["flash-attn"]
+cache-keys = [{ git = { commit = true } }]
+
+[tool.black]
+line-length = 119
+target-version = ['py310']
+skip-string-normalization = true
+
+[tool.ruff]
+line-length = 119
+
+[tool.ruff.lint]
+ignore = ["C901", "D100", "E501", "E741", "RUF005", "RUF010"]
+select = [
+    "C",   # Pylint conventions
+    "D",   # Documentation formatting
+    "E",   # style stuff, whitespaces
+    "F",   # important pyflakes lints
+    "I",   # import sorting
+    "RUF", # Some Ruff-specific lints, unused noqas, etc.
+    "W",   # Pylint warnings
+]
+
+# Ignore import violations in all `__init__.py` files.
+[tool.ruff.lint.per-file-ignores]
+"__init__.py" = ["D104", "E402", "F401", "F403", "F811"]
+"test_*.py" = ["D"]
+"conftest.py" = ["D"]
+"scripts/*.py" = ["D"]
+"**/*.ipynb" = ["D"]
+
+[tool.ruff.lint.isort]
+lines-after-imports = 2
+known-first-party = ["bionemo", "infra_bionemo"]
+
+[tool.ruff.lint.pydocstyle]
+convention = "google"
+
+[tool.pytest.ini_options]
+norecursedirs = ["3rdparty"]
+addopts = ["--durations-min=30.0", "--durations=0", "--ignore=3rdparty"]
+markers = ["slow: marks tests as slow (deselect with '-m \"not slow\"')"]
+
+[tool.pyright]
+include = ["./internal/", "./scripts/", "./sub-packages/"]
+exclude = ["*/tests/"]
+executionEnvironments = [
+    { "root" = ".", pythonVersion = "3.10", extraPaths = [
+        # 3rd party, git submodules
+        "./3rdparty/Megatron-LM",
+        "./3rdparty/NeMo",
+        # bionemo sub-packages
+        './sub-packages/bionemo-core/src',
+        './sub-packages/bionemo-esm2/src',
+        './sub-packages/bionemo-evo2/src',
+        './sub-packages/bionemo-example_model/src',
+        './sub-packages/bionemo-fw/src',
+        './sub-packages/bionemo-geneformer/src',
+        './sub-packages/bionemo-geometric/src',
+        './sub-packages/bionemo-llm/src',
+        './sub-packages/bionemo-moco/src',
+        './sub-packages/bionemo-noodles/src',
+        './sub-packages/bionemo-scdl/src',
+        './sub-packages/bionemo-size-aware-batching/src',
+        './sub-packages/bionemo-testing/src',
+        './sub-packages/bionemo-webdatamodule/src',
+        # internal
+        './internal/infra-bionemo/src',
+    ] },
+]