[build-system] requires = ["setuptools>=61"] build-backend = "setuptools.build_meta" [project] name = "magnet-nmr" version = "0.1.0" description = "MagNET: equivariant neural networks for NMR chemical-shift (shielding) prediction" readme = {text = "MagNET: equivariant neural networks for NMR chemical-shift (shielding) prediction. Models, datasets, install instructions, and usage examples are at https://github.com/ekwan/MagNET", content-type = "text/markdown"} requires-python = ">=3.9" license = "MIT" # torch_geometric is pinned to 2.6.x because 2.7+ requires pyg-lib for radius_graph. # # torch_scatter and torch_cluster are deliberately NOT listed here. They have no plain-PyPI # wheels for our platforms, so pip would try to build them from source and fail; they must come # from the PyG wheel index, keyed to the exact torch version: # pip install torch_scatter torch_cluster --find-links https://data.pyg.org/whl/torch-2.5.0+cpu.html # The `pyg` extra records this so `pip install magnet-nmr[pyg]` documents the two, but the # --find-links index is still required for the install to resolve. dependencies = [ "torch==2.5.0", "torch_geometric==2.6.1", "pytorch_lightning>=2.0", "e3nn>=0.5", "numpy", ] [project.optional-dependencies] examples = ["h5py"] pyg = ["torch_scatter", "torch_cluster"] # The importable package `magnet` lives in this directory (package-dir maps it to "."). [tool.setuptools] packages = [ "magnet", "magnet.eqV2", "magnet.eqV2.ocpmodels", "magnet.eqV2.ocpmodels.common", "magnet.eqV2.ocpmodels.models", "magnet.eqV2.ocpmodels.models.scn", ] [tool.setuptools.package-dir] "magnet" = "." # the Wigner-D rotation table that wigner.py loads at import time [tool.setuptools.package-data] "magnet.eqV2" = ["Jd.pt"]