forked from lucidrains/alphafold3-pytorch
-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathpyproject.toml
152 lines (138 loc) · 4.8 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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
[project]
name = "alphafold3-pytorch-lightning-hydra"
version = "0.5.36"
description = "AlphaFold 3 - Pytorch"
authors = [
{ name = "Phil Wang", email = "lucidrains@gmail.com" },
{ name = "Alex Morehead", email = "alex.morehead@gmail.com" }
]
readme = "README.md"
requires-python = ">= 3.10"
license = { file = "LICENSE" }
keywords = [
'artificial intelligence',
'deep learning',
'protein structure prediction',
]
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'Topic :: Scientific/Engineering :: Artificial Intelligence',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 3.10',
]
dependencies = [
# --------- pytorch --------- #
"lightning>=2.4.0",
"taylor-series-linear-attention>=0.1.12",
"torch==2.3.1",
"torchmetrics>=1.4.1",
"torchtyping>=0.1.5",
"torchvision>=0.15.0",
"torch-geometric",
# --------- hydra --------- #
"hydra-core==1.3.2",
"hydra-colorlog==1.2.0",
"hydra-optuna-sweeper==1.2.0",
"omegaconf",
"pydantic>=2.8.2",
"pyyaml",
# --------- loggers --------- #
# "aim>=3.16.2", # no lower than 3.16.2, see https://github.com/aimhubio/aim/issues/2550
# "comet-ml",
# "mlflow",
# "neptune-client",
"wandb>=0.18.0",
# --------- others --------- #
"adam-atan2-pytorch>=0.0.8", # optimization
"awscliv2>=2.3.1", # for AWS CLI support
"beartype", # runtime type checking
"biopython>=1.83", # for biological data parsing
"click>=8.1", # for command line interfaces
"CoLT5-attention>=0.11.0", # for CoLT5 attention
"deepspeed==0.15.1", # for distributed training
"einx>=0.2.2", # for Einstein-inspired notation
"einops>=0.8.0", # for Einstein-inspired operations
"environs", # for environment variable parsing
"fair-esm", # for ESM model embeddings
"fastapi", # for web APIs
"frame-averaging-pytorch>=0.0.18", # for geometric data augmentation
"gradio", # for web interfaces
"gradio_molecule3d", # for 3D molecule visualization
"gemmi>=0.6.6", # for mmCIF file metadata parsing
"huggingface_hub>=0.21.4", # for downloading pretrained HuggingFace weights
"ipykernel", # for running Jupyter notebooks
"jaxtyping>=0.2.28", # tensor type checking
"joblib", # for parallel processing
"lion-pytorch>=0.2.2", # for optimization with Lion
"loguru", # for cleaner logging
"multimolecule", # for working with biomolecular language models
"nimporter", # for importing Nim
"numpy==1.23.5", # for numerical operations
"pandas>=1.5.3", # for data parsing and analysis
"pdbeccdutils==0.8.5", # for parsing the Protein Data Bank's Chemical Component Dictionary (CCD)
"polars>=1.6.0", # for faster data parsing and analysis
"pre-commit", # hooks for applying linters on commit
"pytest", # tests
"rdkit>=2024.3.5", # for parsing small molecule data files
"retrying", # for retrying failed operations
"rich", # beautiful text formatting in terminal
"rootutils", # standardizing the project root setup
"scikit-learn>=1.5.0", # for basic machine learning utilities
"scipy==1.13.1", # for scientific computing
"sentencepiece", # for tokenization
"setuptools", # for packaging
"sh>=2.0.7", # for running bash commands in some tests (linux/macos only)
"shortuuid", # for generating random IDs
"timeout_decorator>=0.5.0", # for preventing certain functions from executing indefinitely
"tqdm", # progress bars
"transformers[torch]", # for transformer models
]
[project.urls]
Homepage = "https://pypi.org/project/alphafold3-pytorch-lightning-hydra/"
Repository = "https://github.com/amorehead/alphafold3-pytorch-lightning-hydra"
[project.optional-dependencies]
examples = []
test = [
"pytest",
"pytest-shard",
]
[project.scripts]
alphafold3_pytorch = "alphafold3_pytorch.cli:cli"
alphafold3_pytorch_app = "alphafold3_pytorch.app:app"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.pytest.ini_options]
pythonpath = [
"."
]
addopts = [
"--color=yes",
"--durations=0",
"--strict-markers",
"--doctest-modules",
]
filterwarnings = [
"ignore::DeprecationWarning",
"ignore::UserWarning",
]
log_cli = "True"
markers = [
"slow: slow tests",
]
minversion = "6.0"
testpaths = "tests/"
# Assuming you're developing for Python 3.10
target-version = "py310"
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.wheel]
packages = ["alphafold3_pytorch"]
[tool.coverage.report]
exclude_lines = [
"pragma: nocover",
"raise NotImplementedError",
"raise NotImplementedError()",
"if __name__ == .__main__.:",
]