Metadata-Version: 2.4
Name: pyar-chem
Version: 1.1.1
Summary: PyAR: Python program for Aggregation and Reaction
Author-email: Anakuthil Anoop <anoop@chem.iitkgp.ac.in>
License-Expression: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/anooplab/pyar
Project-URL: Documentation, https://pyar.readthedocs.io/
Project-URL: Repository, https://github.com/anooplab/pyar
Project-URL: Issues, https://github.com/anooplab/pyar/issues
Keywords: computational chemistry,global optimisation,molecular aggregation,reaction exploration,scientific software
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.18.4
Requires-Dist: autograd>=1.3
Requires-Dist: scipy>=1.5.2
Requires-Dist: networkx
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: build; extra == "test"
Requires-Dist: twine; extra == "test"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: sphinx-rtd-theme; extra == "docs"
Provides-Extra: selection
Requires-Dist: MDAnalysis; extra == "selection"
Requires-Dist: ase; extra == "selection"
Requires-Dist: dscribe; extra == "selection"
Requires-Dist: hdbscan; extra == "selection"
Requires-Dist: matplotlib; extra == "selection"
Requires-Dist: pandas>=1.0.5; extra == "selection"
Requires-Dist: scikit-learn>=0.23.2; extra == "selection"
Provides-Extra: ml
Requires-Dist: h5py; extra == "ml"
Requires-Dist: mlatom; extra == "ml"
Requires-Dist: pandas>=1.0.5; extra == "ml"
Requires-Dist: pyh5md; extra == "ml"
Requires-Dist: torch; extra == "ml"
Requires-Dist: torchani==2.0; extra == "ml"
Provides-Extra: aimnet2
Requires-Dist: ase; extra == "aimnet2"
Requires-Dist: torch; extra == "aimnet2"
Provides-Extra: xtb
Requires-Dist: ase; extra == "xtb"
Requires-Dist: geometric>=1.1; extra == "xtb"
Provides-Extra: openbabel
Requires-Dist: openbabel>=3.2.0; extra == "openbabel"
Provides-Extra: all
Requires-Dist: ase; extra == "all"
Requires-Dist: build; extra == "all"
Requires-Dist: dscribe; extra == "all"
Requires-Dist: geometric>=1.1; extra == "all"
Requires-Dist: h5py; extra == "all"
Requires-Dist: hdbscan; extra == "all"
Requires-Dist: matplotlib; extra == "all"
Requires-Dist: MDAnalysis; extra == "all"
Requires-Dist: mlatom; extra == "all"
Requires-Dist: openbabel>=3.2.0; extra == "all"
Requires-Dist: pandas>=1.0.5; extra == "all"
Requires-Dist: pyh5md; extra == "all"
Requires-Dist: pytest; extra == "all"
Requires-Dist: scikit-learn>=0.23.2; extra == "all"
Requires-Dist: sphinx; extra == "all"
Requires-Dist: sphinx-rtd-theme; extra == "all"
Requires-Dist: torch; extra == "all"
Requires-Dist: torchani==2.0; extra == "all"
Requires-Dist: twine; extra == "all"
Dynamic: license-file

# PyAR

PyAR is a chemistry-focused structure-search package for aggregation, reaction discovery, solvation growth, and bond scans.

## Install

```bash
python -m pip install pyar-chem
```

## Quick Start

```bash
pyar-cli --help
pyar-cli -a C H -as 1 4 -N 8
pyar-cli react A.xyz B.xyz -N 8 -gmin 100 -gmax 1000 --software xtb
pyar-cli solvate solute.xyz solvent.xyz --software xtb -ss 10 -N 16
```

## Supported Workflows

- `aggregate` for clusters, aggregates, and noncovalent complexes
- `react` for AFIR-style reaction searches between two reactants
- `solvate` for microsolvation, ligand addition, and growth around a core
- `scan-bond` for a simple bond-distance probe
- `pyar-reaction-trace` for reaction-trace analysis

## External Program Requirements

Some workflows rely on external executables such as xTB, ORCA, Gaussian, Psi4, MOPAC, Turbomole, OpenBabel, MLatom, and DFT-D4. The optional extras install Python dependencies only; they do not bundle large model or vendor files into the main `pyar-chem` wheel. AIMNet2 `.jpt` models, AIQM1 `.pt` models, and vendored MLatom binaries must come from the upstream project or another separate model/package source. See [docs/external_programs.rst](docs/external_programs.rst) for the official project websites and installation notes.

## Documentation

Full documentation: [docs/](docs/) and https://pyar.readthedocs.io/
Changelog: [CHANGELOG.md](CHANGELOG.md)

## Citation

If you use PyAR, cite the paper that matches your chemistry problem. See [docs/publications.rst](docs/publications.rst) for the current publication map. For general cluster-building use, start with:

- Nandi et al., *Computational and Theoretical Chemistry* 1111, 69-81 (2017)
- Khatun et al., *Frontiers in Chemistry* 7:644 (2019)
