Skip to content

Commit dbe51fa

Browse files
committed
Add pyproject.toml so the repo installs from a clone
`pip install .` / `pip install git+https://github.com/dralgroup/mlatom` now build and install MLatom from a checkout (flat layout: mlatom/ at the repo root), bundling the compiled binaries and model weights and creating the mlatom / MLatomF console scripts. Metadata mirrors pypi-upload/setup.py (deps, entry points, package data); version is read from mlatom/_version_static.py. Verified from a clean environment: build wheel, install, import mlatom.
1 parent caa3883 commit dbe51fa

1 file changed

Lines changed: 63 additions & 0 deletions

File tree

pyproject.toml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Packaging for installing MLatom directly from a source checkout / clone
2+
# (`pip install .` or `pip install git+https://github.com/dralgroup/mlatom`).
3+
#
4+
# This targets the FLAT layout used by the repository and the public GitHub
5+
# mirror, where the `mlatom/` package sits at the repo root. The separate
6+
# `pypi-upload/setup.py` (src/ layout) still drives the PyPI release build; keep
7+
# the metadata below (deps, entry points, package data) in sync with it.
8+
9+
[build-system]
10+
requires = ["setuptools>=61", "wheel"]
11+
build-backend = "setuptools.build_meta"
12+
13+
[project]
14+
name = "mlatom"
15+
dynamic = ["version"]
16+
description = "A Package for AI-enhanced computational chemistry"
17+
readme = "README.md"
18+
requires-python = ">=3.9"
19+
license = { text = "Apache-2.0" }
20+
authors = [{ name = "Pavlo O. Dral", email = "admin@mlatom.com" }]
21+
classifiers = [
22+
"Programming Language :: Python :: 3",
23+
"License :: OSI Approved :: Apache Software License",
24+
"Operating System :: POSIX :: Linux",
25+
"Programming Language :: Fortran",
26+
"Topic :: Scientific/Engineering :: Chemistry",
27+
"Environment :: Console",
28+
]
29+
dependencies = [
30+
"numpy<2",
31+
"scipy",
32+
"h5py",
33+
"pyh5md",
34+
"torch==2.1.2",
35+
"torchani==2.2.3",
36+
"setuptools<81",
37+
"matplotlib",
38+
"statsmodels",
39+
"tqdm",
40+
"joblib",
41+
"requests",
42+
"psutil",
43+
]
44+
45+
[project.urls]
46+
Homepage = "http://mlatom.com"
47+
Documentation = "http://mlatom.com/docs"
48+
Repository = "https://github.com/dralgroup/mlatom"
49+
50+
[project.scripts]
51+
mlatom = "mlatom.shell_cmd:mlatom_cmd_run"
52+
MLatomF = "mlatom.shell_cmd:MLatomF"
53+
mlatom-gui = "mlatom.mlatom_gui:main"
54+
mlatom_gui = "mlatom.mlatom_gui:main"
55+
56+
[tool.setuptools.dynamic]
57+
version = { attr = "mlatom._version_static.version" }
58+
59+
[tool.setuptools.packages.find]
60+
include = ["mlatom", "mlatom.*"]
61+
62+
[tool.setuptools.package-data]
63+
"*" = ["MLatomF", "xtb", "README", "*.json", "*.so", "*.cpp", "*.pt", "*.dat", "*.txt", "*.pkl", "*.inp", "*.f90", "Makefile", "Makefile.intel", "*.saved", "*.sh", "*.jl"]

0 commit comments

Comments
 (0)