Skip to main content

topo-metrics

PyPI - Version GitHub License codecov

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}
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

topo_metrics-0.1.7.tar.gz (76.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

topo_metrics-0.1.7-py3-none-any.whl (65.4 kB view details)

Uploaded Python 3

File details

Details for the file topo_metrics-0.1.7.tar.gz.

File metadata

  • Download URL: topo_metrics-0.1.7.tar.gz
  • Upload date:
  • Size: 76.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for topo_metrics-0.1.7.tar.gz
Algorithm Hash digest
SHA256 2b40e8285edd261d231c7b479038f6d8140577b5311342b4fc7d691ffcad7f5f
MD5 a29e7f15aa09cf2c44ef531c79827da2
BLAKE2b-256 5c7d9fcfd2a09e0c3a04a76e8d816a20c199f74b87d34eed1a7937a45650400c

See more details on using hashes here.

Provenance

The following attestation bundles were made for topo_metrics-0.1.7.tar.gz:

Publisher: publish.yaml on tcnicholas/topo-metrics

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file topo_metrics-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: topo_metrics-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 65.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for topo_metrics-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 fe6b93a9ef9b9a071d204566128111768a88453ef6f3f7c56f30bfe0c28a4b70
MD5 38ceab34160e593801ceaecd5002a5f5
BLAKE2b-256 bbf021d29cbc01289ea629b68443b9011bd4e996f7c294c92fe1c303d59d109f

See more details on using hashes here.

Provenance

The following attestation bundles were made for topo_metrics-0.1.7-py3-none-any.whl:

Publisher: publish.yaml on tcnicholas/topo-metrics

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.0.12

2 files

0.0.11

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.2

2 files

0.0.1

2 files

0.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page