topo-metrics
Install
# install Julia (if you haven't already)...
curl -fsSL https://install.julialang.org | sh
# install `topo-metrics` package using UV.
uv venv topo-throwaway --python 3.10
source topo-throwaway/bin/activate
uv pip install topo-metrics
Quickstart
>>> from ase.io import read
>>> import topo_metrics as tm
>>>
>>> atoms = read("zeolite-sodalite.cif")
>>> graph = tm.Topology.from_ase(ase_atoms=atoms, cutoff=1.7, remove_types={"O"})
>>> ring_stats = graph.get_clusters()
>>> ring_stats
RingsResults(
depth=12,
strong_rings=False,
ring_size_count=RingSizeCounts(n_rings=46, min=4, max=12),
VertexSymbol=[4.4.6.6.6.6],
CARVS={4(2).6(4).12(32)}
)
Documentation
Checkout the documentation for some more detailed examples of the available functionality.
(This is in working progress...)
Citation
If you find topo-metrics helpful for your research, please cite the preprint
in which we introduced the CARVS notation:
@misc{nicholas2025amof,
title = {The structure and topology of an amorphous metal-organic framework},
author = {Nicholas, Thomas C. and Thomas du Toit, Daniel F. and Rosset, Louise A. M. and Proserpio, Davide M. and Goodwin, Andrew L. and Deringer, Volker L.},
year = {2025},
month = mar,
eprint = {2503.24367},
archivePrefix = {arXiv},
primaryClass = {cond-mat.mtrl-sci},
doi = {10.48550/arXiv.2503.24367},
url = {https://arxiv.org/abs/2503.24367}
}
topo-metrics relies on
PeriodicGraphs.jl and the
topology-identification routines provided by
CrystalNets.jl. If you use
topo-metrics in published work, please also cite the CrystalNets.jl
companion article:
@article{zoubritzky2022crystalnets,
title = {CrystalNets.jl: Identification of Crystal Topologies},
author = {Zoubritzky, Lionel and Coudert, Fran{\c{c}}ois-Xavier},
journal = {SciPost Chem.},
volume = {1},
number = {2},
pages = {005},
year = {2022},
doi = {10.21468/SciPostChem.1.2.005},
url = {https://scipost.org/SciPostChem.1.2.005}
}
Metadata
Release files for topo-metrics 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| topo_metrics-0.1.7.tar.gz | 76.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| topo_metrics-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 142.2 kB
Release files / topo_metrics-0.1.7.tar.gz
| Download URL | topo_metrics-0.1.7.tar.gz |
|---|---|
| Size | 76.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2b40e8285edd261d231c7b479038f6d8140577b5311342b4fc7d691ffcad7f5f
|
|
BLAKE2b-256 checksum How to use checksums |
5c7d9fcfd2a09e0c3a04a76e8d816a20c199f74b87d34eed1a7937a45650400c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Feb 28, 2026.
Transparency logRelease files / topo_metrics-0.1.7-py3-none-any.whl
| Download URL | topo_metrics-0.1.7-py3-none-any.whl |
|---|---|
| Size | 65.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fe6b93a9ef9b9a071d204566128111768a88453ef6f3f7c56f30bfe0c28a4b70
|
|
BLAKE2b-256 checksum How to use checksums |
bbf021d29cbc01289ea629b68443b9011bd4e996f7c294c92fe1c303d59d109f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Feb 28, 2026.
Transparency log