[build-system] requires=["flit_core >=3.2,<4"] build-backend="flit_core.buildapi" [project] name="mlip-arena" version="0.0.1a1" authors=[ {name="Yuan Chiang", email="cyrusyc@lbl.gov"}, ] description="Fair and transparent benchmark of machine-learned interatomic potentials (MLIPs), beyond basic error metrics" readme=".github/README.md" requires-python=">=3.10" keywords=[ "pytorch", "machine-learning-interatomic-potentials", "huggingface", "deep-learning", "graph-neural-networks", ] classifiers=[ "Development Status :: 1 - Planning", "Programming Language :: Python", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3 :: Only", ] dependencies=[ "ase", "torch", "torch_dftd>=0.4.0", "huggingface_hub", "datasets", "torch-geometric", "safetensors", "pymatgen", ] [project.optional-dependencies] run = [ "prefect>=3.0.4,<3.1.0", "prefect-dask", "dask", "dask_jobqueue", "tables", ] app = [ "streamlit==1.38.0", "plotly", "bokeh==2.4.3", "statsmodels" ] test = [ "torch==2.2.0", "nvidia-ml-py==12.560.30", "e3nn==0.5.0", "matgl==1.1.2", "dgl==2.4.0", "chgnet==0.3.8", "fairchem-core==1.2.0", "sevenn==0.9.3.post1", "orb-models==0.4.0", "pynanoflann@git+https://github.com/dwastberg/pynanoflann#egg=af434039ae14bedcbb838a7808924d6689274168", "alignn==2024.5.27", "mattersim==1.0.0rc9", "pytest", "pytest-xdist", "prefect>=3.0.4,<3.1.0", ] mace = [ "mace-torch==0.3.4", ] deepmd = [ "deepmd-kit@git+https://github.com/deepmodeling/deepmd-kit.git@v3.0.0b4" ] [project.urls] Homepage = "https://github.com/atomind-ai/mlip-arena" Issues = "https://github.com/atomind-ai/mlip-arena/issues" [tool.ruff] # Exclude a variety of commonly ignored directories. extend-include = ["*.ipynb"] exclude = [ ".bzr", ".direnv", ".eggs", ".git", ".git-rewrite", ".hg", ".ipynb_checkpoints", ".mypy_cache", ".nox", ".pants.d", ".pyenv", ".pytest_cache", ".pytype", ".ruff_cache", ".svn", ".tox", ".venv", ".vscode", "__pypackages__", "_build", "buck-out", "build", "dist", "node_modules", "site-packages", "venv", ] # Same as Black. line-length = 88 indent-width = 4 [tool.ruff.lint] select = [ "B", # flake8-bugbear "C4", # flake8-comprehensions "E", # pycodestyle error "EXE", # flake8-executable "F", # pyflakes "FA", # flake8-future-annotations "FBT003", # boolean-positional-value-in-call "FLY", # flynt "I", # isort "ICN", # flake8-import-conventions "PD", # pandas-vet "PERF", # perflint "PIE", # flake8-pie "PL", # pylint "PT", # flake8-pytest-style "PYI", # flakes8-pyi "Q", # flake8-quotes "RET", # flake8-return "RSE", # flake8-raise "RUF", # Ruff-specific rules "SIM", # flake8-simplify "SLOT", # flake8-slots "TCH", # flake8-type-checking "TID", # tidy imports "TID", # flake8-tidy-imports "UP", # pyupgrade "W", # pycodestyle warning "YTT", # flake8-2020 ] ignore = [ "C408", # Unnecessary dict call "PLR", # Design related pylint codes "E501", # Line too long "B028", # No explicit stacklevel "EM101", # Exception must not use a string literal "EM102", # Exception must not use an f-string literal "G004", # f-string in Logging statement "RUF015", # Prefer next(iter()) "RET505", # Unnecessary `elif` after `return` "PT004", # Fixture does not return anthing "B017", # pytest.raises "PT011", # pytest.raises "PT012", # pytest.raises" "E741", # ambigous variable naming, i.e. one letter "FBT003", # boolean positional variable in function call "PERF203", # `try`-`except` within a loop incurs performance overhead (no overhead in Py 3.11+) "F405", # 'module' may be undefined, or defined from star imports "C0301", # Line too long ] fixable = ["ALL"] pydocstyle.convention = "google"