Metadata-Version: 2.4
Name: pgsym
Version: 0.2.0
Summary: Point-group symmetry tools on the PySCF atomic-orbital basis
Author-email: Kevin Ackermann <ackermann@thphys.uni-heidelberg.de>
Maintainer-email: Kevin Ackermann <ackermann@thphys.uni-heidelberg.de>
License-Expression: GPL-3.0-or-later
Project-URL: Repository, https://lin0.thphys.uni-heidelberg.de:4443/pyscf-tools/pointgroupsymmetry
Project-URL: Changelog, https://lin0.thphys.uni-heidelberg.de:4443/pyscf-tools/pointgroupsymmetry/-/blob/main/CHANGELOG.md
Keywords: quantum chemistry,computational chemistry,point group,molecular symmetry,group theory,character table,irreducible representation,symmetry-adapted basis,pyscf,self-consistent field,geometry optimization
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
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: Typing :: Typed
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.23
Requires-Dist: scipy>=1.8
Requires-Dist: pyscf>=2.1
Provides-Extra: test
Requires-Dist: pytest>=7; extra == "test"
Provides-Extra: geomopt
Requires-Dist: geometric>=1.0; extra == "geomopt"
Provides-Extra: all
Requires-Dist: pgsym[geomopt,test]; extra == "all"
Dynamic: license-file

# pgsym

Point group symmetry tools for use alongside [PySCF](https://pyscf.org/).

## Installation

```
pip install -e .
```

For development (test dependencies plus the geometry-optimiser backend used by
`sym_optimize`):

```
pip install -e .[all]
```

## Usage

```python
from pyscf import gto
from pgsym import PointGroup, SymmetryDetection

mol = gto.M(atom="O 0 0 0.117; H 0 0.757 -0.469; H 0 -0.757 -0.469", basis="sto-3g")
pg = PointGroup.C2v(mol)            # or: SymmetryDetection(mol).point_group
```

See `docs/manual.pdf` for the full API and worked examples.

## Testing

```
pytest
```
