Jjeremyboltzbump version
6fed419e创建于 2025年9月8日历史提交
[build-system]
requires = ["setuptools >= 61.0"]
build-backend = "setuptools.build_meta"

[project]
name = "boltz"
version = "2.2.1"
requires-python = ">=3.10,<3.13"
description = "Boltz"
readme = "README.md"
dependencies = [
    "torch>=2.2",
    "numpy>=1.26,<2.0",
    "hydra-core==1.3.2",
    "pytorch-lightning==2.5.0",
    "rdkit>=2024.3.2",
    "dm-tree==0.1.8",
    "requests==2.32.3",
    "pandas>=2.2.2",
    "types-requests",
    "einops==0.8.0",
    "einx==0.3.0",
    "fairscale==0.4.13",
    "mashumaro==3.14",
    "modelcif==1.2",
    "wandb==0.18.7",
    "click==8.1.7",
    "pyyaml==6.0.2",
    "biopython==1.84",
    "scipy==1.13.1",
    "numba==0.61.0",
    "gemmi==0.6.5",
    "scikit-learn==1.6.1",
    "chembl_structure_pipeline==1.2.2",
]

[project.scripts]
boltz = "boltz.main:cli"

[project.optional-dependencies]
lint = ["ruff"]
test = ["pytest", "requests"]
cuda = [
    "cuequivariance_ops_cu12>=0.5.0",
    "cuequivariance_ops_torch_cu12>=0.5.0",
    "cuequivariance_torch>=0.5.0",
]

[tool.ruff]
src = ["src"]
extend-exclude = ["conf.py"]
target-version = "py39"
lint.select = ["ALL"]
lint.ignore = [
    "COM812",  # Conflicts with the formatter
    "ISC001",  # Conflicts with the formatter
    "ANN101",  # "missing-type-self"
    "RET504",  # Unnecessary assignment to `x` before `return` statementRuff
    "S101",    # Use of `assert` detected
    "D100",    # Missing docstring in public module
    "D104",    # Missing docstring in public package
    "PT001",   # https://github.com/astral-sh/ruff/issues/8796#issuecomment-1825907715
    "PT004",   # https://github.com/astral-sh/ruff/issues/8796#issuecomment-1825907715
    "PT005",   # https://github.com/astral-sh/ruff/issues/8796#issuecomment-1825907715
    "PT023",   # https://github.com/astral-sh/ruff/issues/8796#issuecomment-1825907715
    "FBT001",
    "FBT002",
    "PLR0913", # Too many arguments to init (> 5)
]

[tool.ruff.lint.per-file-ignores]
"**/__init__.py" = [
    "F401", # Imported but unused
    "F403", # Wildcard imports
]
"docs/**" = [
    "INP001", # Requires __init__.py but folder is not a package.
]
"scripts/**" = [
    "INP001", # Requires __init__.py but folder is not a package.
]

[tool.ruff.lint.pyupgrade]
# Preserve types, even if a file imports `from __future__ import annotations`(https://github.com/astral-sh/ruff/issues/5434)
keep-runtime-typing = true

[tool.ruff.lint.pydocstyle]
convention = "numpy"

[tool.pytest.ini_options]
markers = [
    "slow: marks tests as slow (deselect with '-m \"not slow\"')",
    "regression",
]