Metadata-Version: 2.1
Name: ipsuite
Version: 0.1.2
Summary: A suite of tools for machine learned interatomic potentials.
License: License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)
Keywords: data-version-control,machine-learning,reproducibility,interatomic potentials
Author: zincwarecode
Author-email: zincwarecode@gmail.com
Requires-Python: >=3.10,<3.12
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Provides-Extra: apax
Provides-Extra: comparison
Provides-Extra: d3
Provides-Extra: gap
Provides-Extra: mace
Provides-Extra: nequip
Requires-Dist: ase (>=3.22.1,<4.0.0)
Requires-Dist: cp2k-input-tools (>=0.9,<0.10)
Requires-Dist: cp2k-output-tools (>=0.5.0,<0.6.0)
Requires-Dist: dscribe (>=2.1.0,<3.0.0) ; extra == "comparison"
Requires-Dist: h5py (>=3.8.0,<4.0.0) ; extra == "comparison"
Requires-Dist: lazy-loader (>=0.2,<0.3)
Requires-Dist: nequip (>=0.5.6,<0.6.0) ; extra == "nequip"
Requires-Dist: quippy-ase (>=0.9.12,<0.10.0) ; extra == "gap"
Requires-Dist: rdkit (>=2023,<2024)
Requires-Dist: seaborn (>=0.12.2,<0.13.0)
Requires-Dist: tensorflow (>=2.11.0,<3.0.0) ; extra == "comparison"
Requires-Dist: xmltodict (>=0.13.0,<0.14.0) ; extra == "gap"
Requires-Dist: znflow (>=0.1.11,<0.2.0)
Requires-Dist: znh5md (>=0.1.6a0,<0.2.0)
Requires-Dist: zntrack (>=0.7.2,<0.8.0)
Project-URL: documentation, https://ipsuite.readthedocs.io
Project-URL: repository, https://github.com/zincware/ipsuite
Description-Content-Type: text/markdown

![PyTest](https://github.com/zincware/IPSuite/actions/workflows/tests.yaml/badge.svg)
[![ZnTrack](https://img.shields.io/badge/Powered%20by-ZnTrack-%23007CB0)](https://zntrack.readthedocs.io/en/latest/)
[![zincware](https://img.shields.io/badge/Powered%20by-zincware-darkcyan)](https://github.com/zincware)
[![Documentation Status](https://readthedocs.org/projects/ipsuite/badge/?version=latest)](https://ipsuite.readthedocs.io/en/latest/?badge=latest)
[![DOI](https://img.shields.io/badge/DOI-10.1021/acs.jpcb.3c07187-red)](https://pubs.acs.org/doi/10.1021/acs.jpcb.3c07187)
[![PyPI version](https://badge.fury.io/py/ipsuite.svg)](https://badge.fury.io/py/ipsuite)

# IPS - The Inter Atomic Potential Suite

![Logo](https://raw.githubusercontent.com/zincware/IPSuite/main/misc/IPS_logo.png)

IPS provides you with tools to generate Machine Learned Interatomic Potentials.
You can find the documentation at https://ipsuite.readthedocs.io

Install the package to get started or check out an interactive notebook
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/zincware/IPSuite/HEAD)

```python
pip install ipsuite
```

Examples can be found at:

- https://dagshub.com/PythonFZ/IPS-Examples/src/intro/main.ipynb
- https://dagshub.com/PythonFZ/IPS-Examples/src/graph/main.ipynb
- https://dagshub.com/PythonFZ/IPS-Examples/src/modify_graph/main.ipynb

# Docker Image

We provide an IPSuite docker image for Linux that includes the `apax`, `mace`
and `gap` MLPs. You can use IPSuite directly from within the image by calling:

```sh
docker run -it -v "$(pwd):/app" --gpus all pythonf/ipsuite dvc repro
docker run -it -v "$(pwd):/app" --gpus all pythonf/ipsuite python
docker run -it -v "$(pwd):/app" --gpus all pythonf/ipsuite zntrack list
docker run -it -v "$(pwd):/app" --gpus all --rm -p 8888:8888 pythonf/ipsuite jupyter lab --ip=0.0.0.0 --port=8888 --allow-root
```

## Fix Permission Issues

Running `dvc repro` via the docker container will create files owned by
`root:root`. If you solely use docker this will not cause any issues. If you
switch between docker and a `dvc` version on your host system, you might
encounter permission errors. You can resolve them, by changing the ownership of
the files. You can do this via the host `chown "$(id -u):$(id -g)" -R .` or from
inside the docker container:

```sh
echo $(id -u):$(id -g)
docker run -it -v "$(pwd):/app" pythonf/ipsuite /bin/bash
addgroup --gid $GROUP_ID user
adduser --disabled-password --gecos '' --uid $USER_ID --gid $GROUP_ID user
chown user:user -R .
```

# References

If you use IPSuite in your research and find it helpful please consider citing
us.

```bibtex
@article{zillsCollaborationMachineLearnedPotentials2024,
  title = {Collaboration on {{Machine-Learned Potentials}} with {{IPSuite}}: {{A Modular Framework}} for {{Learning-on-the-Fly}}},
  shorttitle = {Collaboration on {{Machine-Learned Potentials}} with {{IPSuite}}},
  author = {Zills, Fabian and Schäfer, Moritz René and Segreto, Nico and Kästner, Johannes and Holm, Christian and Tovey, Samuel},
  date = {2024-04-03},
  journaltitle = {The Journal of Physical Chemistry B},
  shortjournal = {J. Phys. Chem. B},
  publisher = {American Chemical Society},
  issn = {1520-6106},
  doi = {10.1021/acs.jpcb.3c07187},
}

@misc{zillsZnTrackDataCode2024,
  title = {{{ZnTrack}} -- {{Data}} as {{Code}}},
  author = {Zills, Fabian and Sch{\"a}fer, Moritz and Tovey, Samuel and K{\"a}stner, Johannes and Holm, Christian},
  year = {2024},
  eprint={2401.10603},
  archivePrefix={arXiv},
}
```

