Metadata-Version: 2.4
Name: qcengine
Version: 0.50.0
Summary: A compute wrapper for Quantum Chemistry, ingesting and producing QCSchema for a variety of QC programs.
Author-email: The QCArchive Development Team <qcarchive@molssi.org>
Project-URL: homepage, https://github.com/MolSSI/QCEngine
Project-URL: changelog, https://github.com/MolSSI/QCEngine/blob/master/docs/source/changelog.rst
Project-URL: documentation, https://molssi.github.io/QCEngine/
Project-URL: issues, https://github.com/MolSSI/QCEngine/issues
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3 :: Only
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: Programming Language :: Python :: 3.14
Classifier: Framework :: Pydantic
Classifier: Framework :: Pydantic :: 2
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyyaml
Requires-Dist: py-cpuinfo
Requires-Dist: psutil
Requires-Dist: qcelemental<0.70.0,>=0.50.0
Requires-Dist: pydantic>=2.11; python_version < "3.14"
Requires-Dist: pydantic>=2.12; python_version >= "3.14"
Requires-Dist: pydantic-settings
Requires-Dist: packaging
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: codecov; extra == "test"
Provides-Extra: lint
Requires-Dist: pre-commit; extra == "lint"
Requires-Dist: black<23.0a0,>=22.1.0; extra == "lint"
Requires-Dist: isort>=5.13.2; extra == "lint"
Provides-Extra: docs
Requires-Dist: numpydoc; extra == "docs"
Requires-Dist: sphinx>=7.0.0; extra == "docs"
Requires-Dist: sphinxcontrib-napoleon; extra == "docs"
Requires-Dist: sphinx-rtd-theme; extra == "docs"
Requires-Dist: autodoc-pydantic>=2.0; extra == "docs"
Dynamic: license-file

QCEngine
========

[![Build Status](https://github.com/MolSSI/QCEngine/actions/workflows/CI.yml/badge.svg?branch=master)](https://github.com/MolSSI/QCEngine/actions/workflows/CI.yml)
[![codecov](https://img.shields.io/codecov/c/github/MolSSI/QCEngine.svg?logo=Codecov&logoColor=white)](https://codecov.io/gh/MolSSI/QCEngine)
[![Documentation Status](https://img.shields.io/github/actions/workflow/status/MolSSI/QCEngine/.github%2Fworkflows%2FCI.yml?label=docs&logo=readthedocs&logoColor=white)](https://molssi.github.io/QCEngine/dev/)
[![Chat on Slack](https://img.shields.io/badge/chat-on_slack-green.svg?longCache=true&style=flat&logo=slack)](https://join.slack.com/t/qcarchive/shared_invite/zt-3calopudd-2rtUC~XN1tj1Zn9MHkV6GQ)
![python](https://img.shields.io/badge/python-3.10+-blue.svg)

**Documentation:** [GitHub Pages](https://molssi.github.io/QCEngine/)

<!--[![Azure Build Status](https://dev.azure.com/MolSSI/QCArchive/_apis/build/status/MolSSI.QCEngine?branchName=master)](https://dev.azure.com/MolSSI/QCArchive/_build/latest?definitionId=5&branchName=master)-->
<!--Quantum chemistry program executor and IO standardizer ([QCSchema](https://github.com/MolSSI/QCSchema)) for quantum chemistry.-->
Quantum chemistry program executor and IO standardizer (QCSchema) for quantum chemistry.

# Example

A simple example of QCEngine's capabilities is as follows:

```python
>>> import qcengine as qcng
>>> import qcelemental as qcel

>>> mol = qcel.models.v1.Molecule.from_data("""  # QCSchema v1 or v2
O  0.0  0.000  -0.129
H  0.0 -1.494  1.027
H  0.0  1.494  1.027
""")

>>> inp = qcel.models.v1.AtomicInput(  # QCSchema v1
    molecule=mol,
    driver="energy",
    model={"method": "SCF", "basis": "sto-3g"},
    keywords={"scf_type": "df"}
    )

>>> inp = qcel.models.v2.AtomicInput(  # QCSchema v2
    molecule=mol,
    specification={
        "driver": "energy",
        "model": {"method": "SCF", "basis": "sto-3g"},
        "keywords": {"scf_type": "df"}
    })
```

These input specifications can be executed with the ``compute`` function along with a program specifier:

```python
>>> ret = qcng.compute(inp, "psi4")
```

The results contain a complete record of the computation:


```python
>>> ret.return_result
-74.45994963230625

>>> ret.properties.scf_dipole_moment
[0.0, 0.0, 0.6635967188869244]

>>> ret.provenance.cpu
Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz
```

See the [documentation](https://molssi.github.io/QCEngine/) for more information.

# License

BSD-3C. See the [License File](LICENSE) for more information.
