QCElemental
Documentation: GitHub Pages
Core data structures for Quantum Chemistry. QCElemental also contains physical constants and periodic table data from NIST and molecule handlers.
Periodic Table and Physical Constants data are pulled from NIST srd144 and srd121, respectively (details) in a renewable manner (class around NIST-published JSON file).
This project also contains a generator, validator, and translator for Molecule QCSchema.
✨ Getting Started
-
Installation. QCElemental supports Python 3.10+ starting with v0.50 (aka "next", aka "QCSchema v2 available").
python -m pip install qcelemental
conda install qcelemental -c conda-forge
-
To install QCElemental with molecule visualization capabilities (useful in iPython or Jupyter notebook environments):
python -m pip install 'qcelemental[viz]`
-
To install QCElemental with various alignment capabilities using
networkxpython -m pip install 'qcelemental[align]`
-
Or install both:
python -m pip install 'qcelemental[viz,align]`
-
See documentation
Periodic Table
A variety of periodic table quantities are available using virtually any alias:
>>> import qcelemental as qcel
>>> qcel.periodictable.to_E('KRYPTON')
'Kr'
>>> qcel.periodictable.to_element(36)
'Krypton'
>>> qcel.periodictable.to_Z('kr84')
36
>>> qcel.periodictable.to_A('Kr')
84
>>> qcel.periodictable.to_A('D')
2
>>> qcel.periodictable.to_mass('kr', return_decimal=True)
Decimal('83.9114977282')
>>> qcel.periodictable.to_mass('kr84')
83.9114977282
>>> qcel.periodictable.to_mass('Kr86')
85.9106106269
Physical Constants
Physical constants can be acquired directly from the NIST CODATA:
>>> import qcelemental as qcel
>>> qcel.constants.Hartree_energy_in_eV
27.21138602
>>> qcel.constants.get('hartree ENERGY in ev')
27.21138602
>>> pc = qcel.constants.get('hartree ENERGY in ev', return_tuple=True)
>>> pc.label
'Hartree energy in eV'
>>> pc.data
Decimal('27.21138602')
>>> pc.units
'eV'
>>> pc.comment
'uncertainty=0.000 000 17'
Alternatively, with the use of the Pint unit conversion package, arbitrary conversion factors can be obtained:
>>> qcel.constants.conversion_factor("bohr", "miles")
3.2881547429884475e-14
Covalent Radii
Covalent radii are accessible for most of the periodic table from Alvarez, Dalton Transactions (2008) doi:10.1039/b801115j (details).
>>> import qcelemental as qcel
>>> qcel.covalentradii.get('I')
2.626719314386381
>>> qcel.covalentradii.get('I', units='angstrom')
1.39
>>> qcel.covalentradii.get(116)
Traceback (most recent call last):
...
qcelemental.exceptions.DataUnavailableError: ('covalent radius', 'Lv')
>>> qcel.covalentradii.get(116, missing=4.0)
4.0
>>> qcel.covalentradii.get('iodine', return_tuple=True).dict()
{'numeric': True, 'label': 'I', 'units': 'angstrom', 'data': Decimal('1.39'), 'comment': 'e.s.d.=3 n=451', 'doi': 'DOI: 10.1039/b801115j'}
van der Waals Radii
Van der Waals radii are accessible for most of the periodic table from Mantina, J. Phys. Chem. A (2009) doi: 10.1021/jp8111556 (details).
>>> import qcelemental as qcel
>>> qcel.vdwradii.get('I')
3.7416577284064996
>>> qcel.vdwradii.get('I', units='angstrom')
1.98
>>> qcel.vdwradii.get(116)
Traceback (most recent call last):
...
qcelemental.exceptions.DataUnavailableError: ('vanderwaals radius', 'Lv')
>>> qcel.vdwradii.get('iodine', return_tuple=True).dict()
{'numeric': True, 'label': 'I', 'units': 'angstrom', 'data': Decimal('1.98'), 'doi': 'DOI: 10.1021/jp8111556'}
Metadata
Release files for qcelemental 0.51.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qcelemental-0.51.2.tar.gz | 9.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qcelemental-0.51.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.5 MB
Release files / qcelemental-0.51.2.tar.gz
| Download URL | qcelemental-0.51.2.tar.gz |
|---|---|
| Size | 9.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8558f304df08ce400958e6ae6d632e43ef61ccca463c9e8df4f265b4a6195e79
|
|
BLAKE2b-256 checksum How to use checksums |
f2bb4ec83380de153f28b6a460fbfc41c02bfef50e49cf3ce848bb4cf9b3fe7e
|
| 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 Sep 16, 2026.
Transparency logRelease files / qcelemental-0.51.2-py3-none-any.whl
| Download URL | qcelemental-0.51.2-py3-none-any.whl |
|---|---|
| Size | 367.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
67e55a1be07b44f6773af312daf8789dfdd1f32f413d096512fb86be6585a927
|
|
BLAKE2b-256 checksum How to use checksums |
3c64e7481b1912a7af149e87f3e3ae96033bac7dff3653f97a62843b8159ff4d
|
| 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 Sep 16, 2026.
Transparency log