qccodec
Translates qcdata inputs into native program inputs and parses program outputs back into qcdata objects, one codec per program.
Documentation, including a copy-and-paste example script for every program and calculation type: qccodec.docs.atomsforhumanity.org
The QC Suite
These packages work together to make quantum chemistry fast, structured, and interoperable.
- qcref - Reference data for computational chemistry: CODATA physical constants, conversion factors, a periodic table, and solvent properties, each value with its source.
- qcdata - Data structures for quantum chemistry inputs and results, with Jupyter visualizations. Documentation
- qcinf - Cheminformatics algorithms and structure utilities for qcdata structures.
- qccodec - Translates qcdata inputs into native program inputs and parses program outputs back into qcdata objects, one codec per program. Documentation
- qccompute - Runs quantum chemistry programs on qcdata inputs using qccodec codecs and returns structured results. Documentation
- BigChem - Distributed execution of qccompute calculations across clusters of computers or the cloud.
- ChemCloud - A web application and Python client that expose a BigChem cluster securely over the internet.
✨ Basic Usage
qccodec never runs programs itself; qccompute runs them and uses qccodec on both ends.
python -m pip install qccompute # also installs qccodec
from qcdata import CalcType, Model, ProgramInput, Structure
from qccompute import compute
prog_input = ProgramInput(
program="psi4",
calctype=CalcType.gradient,
structure=Structure(
symbols=["O", "H", "H"],
geometry=[[0.0, 0.0, 0.0], [0.524, 1.687, 0.48], [1.146, -0.45, -1.354]],
),
model=Model(method="wb97x-d", basis="def2-svp"),
keywords={"d_convergence": 1e-8}, # Psi4's own option names
)
output = compute(prog_input)
print(output.results.energy, output.results.gradient)
Decode output you already have, from Python or the command line:
from pathlib import Path
from qccodec import decode
data = decode("terachem", "hessian", stdout=Path("tc.out").read_text())
data.energy, data.hessian, data.freqs_wavenumber
qccodec terachem hessian tc.out > data.json
See Decoding program output for directories, failed calculations, and encoding without running.
Supported programs
Each program has a documentation page and a runnable example script for every calculation type in examples/.
program |
Calculation types | Notes |
|---|---|---|
crest |
energy, gradient, hessian, optimization, conformer_search | GFN-xTB and GFN-FF built in |
geometric |
optimization, transition_state | Drives any gradient program (qccodec[geometric]) |
orca |
energy, gradient, hessian, optimization, transition_state | |
psi4 |
energy, gradient, hessian, optimization, transition_state | Any Psi4 method; point charges for QM/MM |
terachem |
energy, gradient, hessian, optimization | GPU quantum chemistry |
terachem-fe, terachem-pbs |
energy, gradient | TeraChem servers through tcpb (qccodec[tcpb]) |
xtb |
energy, gradient, hessian, optimization | GFN0/1/2-xTB, GFN-FF, g-xTB |
To support a new program, see Writing a codec and the step-by-step walkthrough in CONTRIBUTING.md.
Contributing
See CONTRIBUTING.md for development setup, the pre-commit workflow, running tests, and the release process.
If there's data you'd like parsed from output files or a program you'd like supported, open an issue describing the data and include an example output file, like this.
Optional dependencies
Optional integrations install with qccodec[geometric] or qccodec[tcpb]; their libraries are imported only when a calculation is invoked.
Metadata
Release files for qccodec 0.14.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qccodec-0.14.0.tar.gz | 840.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qccodec-0.14.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 897.3 kB
Release files / qccodec-0.14.0.tar.gz
| Download URL | qccodec-0.14.0.tar.gz |
|---|---|
| Size | 840.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
549cf1d6385ea6bf83269ab9620233de042944ce7fd30e3cc7cdb5547d6de191
|
|
BLAKE2b-256 checksum How to use checksums |
182b38050f30b5fb509c2f6edaa79b5984b5e10db486e1845760d6f1585c698e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logRelease files / qccodec-0.14.0-py3-none-any.whl
| Download URL | qccodec-0.14.0-py3-none-any.whl |
|---|---|
| Size | 57.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
34c0682909ee201aa40835c7dc865511941ef2170f229ffaba1d8805b11fba71
|
|
BLAKE2b-256 checksum How to use checksums |
6327605a95a6aa57157210e24c7e30ff22c350a79793fd362143e5619b7881ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency log