chemcoord: A python module for coordinates of molecules
Latest Release |
|
Package Status |
|
Documentation |
|
License |
|
Build Status |
|
Coverage |
|
Website
The project’s website with documentation is: http://chemcoord.readthedocs.org/
Features
Molecules are reliably transformed between cartesian space and non redundant internal coordinates (Zmatrices). Dummy atoms are inserted and removed automatically on the fly if necessary.
The created Zmatrix is not only a structure expressed in internal coordinates, it is a “chemical” Zmatrix. “Chemical” Zmatrix means, that e.g. distances are along bonds or dihedrals are defined as they are drawn in chemical textbooks (Newman projections).
Analytical gradients for the transformations between the different coordinate systems are implemented.
Performance intensive functions/methods are implemented with Fortran/C like speed using numba.
Geometries may be defined with symbolic expressions using sympy.
Built on top of pandas with very similar syntax. This allows for example distinct label or row based indexing.
It derived from my own work and I heavily use it during the day. So all functions are tested and tailored around the work flow in theoretical chemistry.
Installation guide
A working python 3 installation is required (3.10 <= version <= 3.13 are tested).
It is highly recommended to use this module in combination with Ipython and jupyter.
Unix
There are packaged versions on PyPi and conda-forge.
For the packaged version from PyPi, the following commands have to be executed:
pip install chemcoord
For the packaged version from conda-forge, the following commands have to be executed:
conda install -c conda-forge chemcoord
For the up to date development version (experimental):
git clone https://github.com/mcocdawc/chemcoord.git cd chemcoord pip install .
Windows
Neither installation nor running the module are tested on windows. To the best of my knowledge it should work there as well. Just use the same steps as for UNIX.
Citation and mathematical background
The theory behind chemcoord is described in this paper. If this package is used in a project that leads to a scientific publication, please acknowledge it by citing.
@article{https://doi.org/10.1002/jcc.27029,
author = {Weser, Oskar and Hein-Janke, Björn and Mata, Ricardo A.},
title = {Automated handling of complex chemical structures in Z-matrix coordinates—The chemcoord library},
journal = {Journal of Computational Chemistry},
volume = {44},
number = {5},
pages = {710-726},
keywords = {analytical gradients, geometry optimization, non-linear constraints, transition state search, Z-matrix},
doi = {10.1002/jcc.27029},
year = {2023}
}
The redundant internal coordinate (RIC) interpolation algorithm, exposed via chemcoord.ric_functions.RIC_interpolate, is described in this paper. If you use it, please cite:
@article{whelpley_efficient_2026,
author = {Whelpley, Noah and Van Voorhis, Troy and Weser, Oskar},
title = {Efficient, Black-Box Estimation of Reaction Paths via Redundant Internal Coordinate Interpolation},
year = {2026},
journal = {ChemRxiv},
doi = {10.26434/chemrxiv.15005488},
url = {https://chemrxiv.org/doi/full/10.26434/chemrxiv.15005488/v1}
}
My (Oskar Weser) master thesis including a more detailed derivation of implemented equations and the mathematical background can be found here.
Acknowledgement
Zulip is an open-source modern team chat app designed to keep both live and asynchronous conversations organized, that supports the development of chemcoord with a free plan.
Metadata
Release files for chemcoord 2.2.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 | Provenance | Actions |
|---|---|---|---|---|
| chemcoord-2.2.0.tar.gz | 135.8 kB | Without provenance | Details for chemcoord-2.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| chemcoord-2.2.0-py3-none-any.whl | Python 3 | none | any | Details for chemcoord-2.2.0-py3-none-any.whl |
Total release size: 263.3 kB
Release files / chemcoord-2.2.0.tar.gz
| Download URL | chemcoord-2.2.0.tar.gz |
|---|---|
| Size | 135.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f725a3da458b5e2e98b3f78890f1b5b111d1c5ce15e40224d9fa4dc989953a4d
|
|
BLAKE2b-256 checksum How to use checksums |
895dabd09af48fe6fd8d4be05714088ca51118ddbad48564768ed61652bbd144
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Release files / chemcoord-2.2.0-py3-none-any.whl
| Download URL | chemcoord-2.2.0-py3-none-any.whl |
|---|---|
| Size | 127.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
295051f787b90c2972a7760fd2e6540305b58d15c5d3da39e9f5a220618f6d73
|
|
BLAKE2b-256 checksum How to use checksums |
d5919c556b23984deff41c57db5b27a15430dc30bd2cfaaf99474c8dc3b88db2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Security for chemcoord 2.2.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.