Skip to main content

Python package to cluster molecular structures into groups of similar ones.

Project description

structure_clustering – Cluster Molecular Structures Into Groups of Similar Ones

structure_clustering is a Python package to cluster molecular structures into groups of similar ones. Our approach involves analysing the intermolecular distances to represent each structure's connectivity as an undirected, vertex-labelled graph. It then uses graph isomorphism to identify structures that belong to the same group. The package offers a command-line interface for clustering a multi-XYZ file or can be used within your Python code.

[^1]

[^1]: The figure shows exemplary clusters from Ag⁺(H₂O)₄ structures.

Installation

You can install structure_clustering via pip:

pip install structure_clustering

Prebuilt wheels are available for most platforms (Windows, Linux, MacOS). If you prefer to compile and build the wheel yourself, ensure that the Boost Graph Library is installed system-wide.

If you want to upgrade to the latest available version, run

pip install structure_clustering --upgrade

Using the Command-Line Interface

You can invoke the structure_clustering script using the structure_clustering command.

Use this method if the command does not work

On some systems, scripts installed via pip are not added to the system's PATH. You can either add them to your PATH, or run the script directly by invoking python3 -m structure_clustering.

usage: structure_clustering <xyz_file> [--config CONFIG] [--output OUTPUT] [--disconnected]

Cluster molecular structures into groups.

positional arguments:
  xyz_file         path of the multi-xyz-file containing the structures

options:
  --config CONFIG  path of the config TOML file
  --output OUTPUT  path of the resulting output file, defaults to <xyz_file>.sc.dat
  --disconnected   if you want to include disconnected graphs
  -h, --help       show this help message and exit

For example, to cluster an xyz file:

structure_clustering my_structures.xyz

To specify a custom distance for recognising O-H connectivity (see the next section), use a TOML config file:

structure_clustering my_structures.xyz --config sc_config.toml

In both cases, a file named my_structures.xyz.sc.dat will be created, which you can import at https://photophys.github.io/cluster-vis/ to visualise the results of your clustering process.

The terminal output will look like this:

Loading configuration from demo_config.toml
Using covalent radius of 1.59 for Ag
Using pair distance of 2.3 for O-H
Clustering does not include disconnected graphs

Using 437 structures from structures.xyz
Clustering finished <structure_clustering._core.Result object at 0x7f7c949c37b0>
  14 clusters (total 318 structures)
  13 unique single structures
  132 (30.21%) structures sorted out (305 remaining)
  cluster size: Avg=22.7 Med=4.5 Q1=2.2 Q3=23.5
  connections/structure: Avg=12.2 Med=12.0 Q1=12.0 Q3=12.0 (all 437)
  connections/structure: Avg=12.4 Med=12.0 Q1=12.0 Q3=12.0 (remaining 305)
Writing output file to structures.xyz.sc.dat ...

🚀 Open https://photophys.github.io/cluster-vis/ to visualize your results

Configuration File

You can use a TOML file to control the parameters of the command-line interface. The [covalent] section allows you to override the algorithm's default covalent radii. In the [pair] section, you can specify a maximum distance for pairs of atoms.

[covalent]
He = 0.9
Ag = 1.59

[pair]
O-H = 2.3

[options]
only_connected_graphs = true

All settings are optional. Distances are given in Angstrom. Elements are case-sensitive. If you specify only_connected_graphs in the config file, this will overwrite your setting from the command-line switch.

Example Code

Simple Example

import structure_clustering
from structure_clustering import Structure, Atom

sc_machine = structure_clustering.Machine()

sc_machine.setCovalentRadius(1, 0.42)  # change hydrogen covalent radius to 0.42
sc_machine.addPairDistance(8, 1, 2.3)  # extend max distance for O-H pairs to 2.3 Ang

sc_machine.setOnlyConnectedGraphs(True)  # only include fully connected graphs (default)

# you will need some structures
population = structure_clustering.import_multi_xyz("structs.xyz")

# you can also create your structures programmatically
structure = Structure()
structure.addAtom(Atom(8, -1.674872668, 0.0, -0.984966492))
structure.addAtom(Atom(1, -1.674872668, 0.759337, -0.388923492))
structure.addAtom(Atom(1, -1.674872668, -0.759337, -0.388923492))
population += [structure]  # add this structure to our population

sc_result = sc_machine.cluster(population)

print("clusters", sc_result.clusters)
print("singles", sc_result.singles)

# Output (indices from the original structure list):
# clusters [[0, 11], [1, 2, 4, 6, 12, 13, 14, 15, 19], [3, 17, 18, 23]]
# singles [9, 16, 22]

Use Structure Hashing to Keep Track of Clusters Across Multiple Program Runs

Graphs do not have a natural ordering of vertices. Weisfeiler-Lehman (WL) refinement creates a canonical, order-independent description of a graph’s structure.

  1. Start with simple labels (element names, not unique).
  2. Repeatedly update each label using:
    • the current label of the vertex
    • the multiset of neighbor labels
  3. After several iterations, vertices with different local structures almost always have different labels.

Assuming you have already clustered your structures, you have access to the following properties and methods:

structures = sc_result.structures

structure = structures[5]  # as example
print("num atoms", structure.numAtoms)
print("first atomic number", structure.getAtom(0).atomic_number)
print("first atom pos x", structure.getAtom(0).position.x)
print("num connections", structure.numConnections)
print("num fragments", structure.numFragments)
print("hash", structure.getHash())
print("atom indices for first fragment", structure.getFragmentAtomIndices(0))
print("atom indices for second fragment", structure.getFragmentAtomIndices(1))

The output will look like this:

num atoms 13
first atomic number 8
first atom pos x 2.026548
num connections 11
num fragments 2
hash 0504d8ff3dc965c0
atom indices for first fragment [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12]
atom indices for second fragment [8, 9]

Example structure with index 5: Structure Clustering example with two fragments

License

The structure_clustering package is licensed under the MIT License. See the LICENSE file for more details.

Contribute

Local development requires C++, CMake, and Python with setuptools.

To compile only the C++ code with CMake, run:

mkdir build
cd build
cmake ..
cmake --build .

For the full build process (Python and C++), a Python virtual environment is highly recommended. Most systems will not allow installation without one.

This tutorial assumes a WSL environment, but all WSL commands can also be executed on most other Linux systems.

Start from the project root folder (no build folder required).

Create a virtual environment inside the WSL filesystem (outside of the mounted Windows filesystem, otherwise performance will be very poor):

python -m venv ~/venvs/structure_clustering_dev

Activate the virtual environment:

source ~/venvs/structure_clustering_dev/bin/activate

Then install the package with:

pip install .

You can now iteratively change the code (either C++ or Python files) and test it using a Python script executed from the same virtual environment (most easily from the project folder).

Reminder: If you add a new method or property, you must also expose it in the main.cpp pybind11 definitions.

Pushing to the main branch will trigger the Github Action script, which builds the Python wheels for a matrix of platforms and Python versions.

Project details


Download files

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

Source Distribution

structure_clustering-1.1.5.tar.gz (19.9 kB view details)

Uploaded Source

Built Distributions

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

structure_clustering-1.1.5-cp313-cp313-win_amd64.whl (141.4 kB view details)

Uploaded CPython 3.13Windows x86-64

structure_clustering-1.1.5-cp313-cp313-win32.whl (128.3 kB view details)

Uploaded CPython 3.13Windows x86

structure_clustering-1.1.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (174.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

structure_clustering-1.1.5-cp313-cp313-macosx_11_0_arm64.whl (127.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

structure_clustering-1.1.5-cp312-cp312-win_amd64.whl (141.4 kB view details)

Uploaded CPython 3.12Windows x86-64

structure_clustering-1.1.5-cp312-cp312-win32.whl (128.3 kB view details)

Uploaded CPython 3.12Windows x86

structure_clustering-1.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (175.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

structure_clustering-1.1.5-cp312-cp312-macosx_11_0_arm64.whl (127.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

structure_clustering-1.1.5-cp311-cp311-win_amd64.whl (140.3 kB view details)

Uploaded CPython 3.11Windows x86-64

structure_clustering-1.1.5-cp311-cp311-win32.whl (127.6 kB view details)

Uploaded CPython 3.11Windows x86

structure_clustering-1.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (173.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

structure_clustering-1.1.5-cp311-cp311-macosx_11_0_arm64.whl (126.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

structure_clustering-1.1.5-cp310-cp310-win_amd64.whl (139.7 kB view details)

Uploaded CPython 3.10Windows x86-64

structure_clustering-1.1.5-cp310-cp310-win32.whl (126.8 kB view details)

Uploaded CPython 3.10Windows x86

structure_clustering-1.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (172.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

structure_clustering-1.1.5-cp310-cp310-macosx_11_0_arm64.whl (125.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

structure_clustering-1.1.5-cp39-cp39-win_amd64.whl (139.6 kB view details)

Uploaded CPython 3.9Windows x86-64

structure_clustering-1.1.5-cp39-cp39-win32.whl (126.8 kB view details)

Uploaded CPython 3.9Windows x86

structure_clustering-1.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (173.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

structure_clustering-1.1.5-cp39-cp39-macosx_11_0_arm64.whl (125.4 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

structure_clustering-1.1.5-cp38-cp38-win_amd64.whl (139.4 kB view details)

Uploaded CPython 3.8Windows x86-64

structure_clustering-1.1.5-cp38-cp38-win32.whl (126.8 kB view details)

Uploaded CPython 3.8Windows x86

structure_clustering-1.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (172.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

structure_clustering-1.1.5-cp38-cp38-macosx_11_0_arm64.whl (125.2 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

structure_clustering-1.1.5-cp37-cp37m-win_amd64.whl (131.1 kB view details)

Uploaded CPython 3.7mWindows x86-64

structure_clustering-1.1.5-cp37-cp37m-win32.whl (120.9 kB view details)

Uploaded CPython 3.7mWindows x86

structure_clustering-1.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (162.1 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

File details

Details for the file structure_clustering-1.1.5.tar.gz.

File metadata

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

File hashes

Hashes for structure_clustering-1.1.5.tar.gz
Algorithm Hash digest
SHA256 a26530f05ca08044f6199bb7523c463ee9c015f86947ab41c949f27dae972df7
MD5 90781d7560e0d42273b60f714d06fcca
BLAKE2b-256 ced9395d12e7b5a008d9e585e03e7c625e87102fe8e49c18afdc76e3324d6a9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5.tar.gz:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 43fdfdf361dba1615415d493726ef7319f706e0cdd6d0d2463d8c976adf087a1
MD5 764c78b5ad4e3be4c937683a7d4362e6
BLAKE2b-256 c56beaf797bdfa1fb9e936155284e7718645c01cd8c2097ab9dbf3dcfb41cd54

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp313-cp313-win_amd64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp313-cp313-win32.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 940352f19f87bed593e247cc704500cfc9687578a66e86155a2e3ab054b2a3ff
MD5 03534d2d6a4ffe732c752d72387639e0
BLAKE2b-256 9361ae7c4e68ec2b723425b7cef6895870e416d779213ec46bd0853024c0c102

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp313-cp313-win32.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 27db52f3cf67d86e43a920fdf42477221e7942f5c43f4e2cfdce8de71053d50b
MD5 296c3ac82750b9d78de92a9e8ce1a9ce
BLAKE2b-256 b8fb2ff4406c6ed87cb12afaed6aeeee399a4fcf5b3d7859b489db4c576927ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e393b1c23b277054724f233ae7231a6ae6b4ee8e6598e08fa30ba418e3b628fc
MD5 3d46c24d4ab03f6f58e5237c36265000
BLAKE2b-256 6ec4ea1140c9a793381cb2e8e9a9fdfb0d1b988eb7ece325773abe79a139dad6

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f549af0cd4b5dfbbb40f603482fd21c1409941601b50360458d246dafa37be44
MD5 cffaf0acd90dac0c937aa1af848ec3ec
BLAKE2b-256 2fe29e8620f3daf90f52a0fb34a0fbc3936264138a9f313cfa87247d325054df

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 090b4cb37cd360e50ad76f7b6b3eeb6b6ed066f931a7a0f2f8e303f4f04753b2
MD5 2c1c86647140398b648a56116509eea9
BLAKE2b-256 873ccd962f84668f9fb20acc296330394a1483e7ab512931e157e50dea0efc35

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp312-cp312-win32.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a6fa5577928e0daddcacc8042872898d965e9d0c765f691724b5aaa6a141635e
MD5 734c6499d0652859469e5fe46dafb6ee
BLAKE2b-256 94ff7aa7aace10847d2c9e8e45b02c06fe19d6e3fb766c8edf780de9750a374b

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12ba6cf9e54c18fa9840adb4d69857de00a8edb9b95615a6e92ec5a988e0b35e
MD5 57b517cc3e20766a403df3b4a339d789
BLAKE2b-256 06e2154a5756df0057e927f96e381873d88190894bb048347f97faabc0169810

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a9b3062703d402ba645e7e8ee5f0189c0d014c700d544a67ee6c879ea14d00ea
MD5 a4518054de18cfb791b0bfb93e219a10
BLAKE2b-256 72cb178264f83d8f18fb566e3412c2ccd9e1aa9b0385234bbcffee863a912dc4

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 d1ecac3b9aceb88f829609e03fa0f166256bfd1594caef0e2736e91ec26495d2
MD5 9cda9ea572cbf4c9efc1152659727dbf
BLAKE2b-256 0cc656b2c6e50cd7a7dea9667b2c9beb901643d0b58b4fc27abf08193a06db1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp311-cp311-win32.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4579fdaa9f0f12cee111a6dd7167ef372495888f236a03afa3575e237466f5e1
MD5 8ff526ec4abad72c64f988454848d902
BLAKE2b-256 aafdf397d00e3cf1f5136de9642f77ee70faafe1675e3a4a175008a0f6b3b451

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6814b74e7ba857b2f79fda986674297ab8b468e4ea2081527ee7263773bf2218
MD5 294c741c1ddb47477260d921afe470df
BLAKE2b-256 1faf0506d5289d8c4e8b15f27f7697d86205edf82ab736d8f2f8dbe8bb4e183d

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 56d6a2d8dc1fb0f2b0f8f95c673d19262191a08cc32b378d7ba6cf3ccdb665a8
MD5 c7009d97a0b9dcabd228ab41703a137d
BLAKE2b-256 f4684f4aa4fc427250cdef8a23298c636713823b2921281c5ed978ee781021db

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 f9f0ebcfbbf8a0b090b4f6d101242c9578dab7417b7a4e6aa34498efaab9ee97
MD5 e0e82f503c3b452b184928b5edff76c7
BLAKE2b-256 e1a40c231034b25408f0f99fe15525d16447bbc7113d464aadde58cc0107e1ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp310-cp310-win32.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d421e0ade76139cb11507aea878668e065abfd874955880447fd83796d3b27af
MD5 000bf57aae0825864105879ad4b5ae1e
BLAKE2b-256 326f11b2466e8948ae7d64e31b5d5d60b68b206de61e1dcdd5f71887d0d59e1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d212b39bec4b14c929ac8e9ccee57273f246950c8193f0820cd4adbfe01b77ce
MD5 9560733eba49ea5eb0fae007c13b43cd
BLAKE2b-256 9ca050d0e375c51ea89c9077563a544e7bdd661e0266d0090645d2a26a990f01

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4abf3e456ddb0a1d92c2a93e599420e0133be4cb766ecf9967770f730b1d39f5
MD5 99a464c972cac29058bf3f1b34735082
BLAKE2b-256 0c7caa815700e75dd83933d2083269e47752966479e46b6ca39f074c0caa9ef2

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp39-cp39-win_amd64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp39-cp39-win32.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 113d6c11ae1b40025cce5456033ea09050b766e56cb1692324ba82339c9bec6e
MD5 54e734d226c86bcf6f90003fd8adc3df
BLAKE2b-256 262b88cc7e797cf753c94b8cb0266ecbf0932213399df5d84ecd0169f744715a

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp39-cp39-win32.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 141e9695f63a72d900d378b2734106b0c8be747779d0904a8b777d65af974471
MD5 395d27a54e628e2c33baee304502f49d
BLAKE2b-256 36f03a169e34636bcb64cec67d248b6d5b25c9eca3330f8aa5bc3d67aafb1570

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a34034aa3e27deef7848d8abff798940d31d0a9f97c93ddf514be1ee597ceb37
MD5 a4adf5a8d81ddf871147860a67d6b75b
BLAKE2b-256 57ea4aa423969342fbc5a7a2fafa36df96f9dead9257e97570ef20d17d2f5e0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 4daa37846a5d81082046b18831370987ed89b6544d318936734786ed8d55efa9
MD5 3811682330a62c76c28f92c1e62bc4cd
BLAKE2b-256 8a48cf05b98647ca6748e334cd7091ebe3618b22178773ff10ef2c7ebc470182

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp38-cp38-win_amd64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp38-cp38-win32.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 406d7c8290dc8cb601248bae8569d8e5cb58f572dbff6fc1e4651074786d2996
MD5 e3c6bdebe9580c31deded0c87a3c99aa
BLAKE2b-256 81531d6a5d446b37cf8dbf25b14dd238123e028cfa4f48ff6835311838fc3b17

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp38-cp38-win32.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 748bb937db3c89be4dc5818b14de876e567c3fd95e7ebe48f3a8feab19b9a042
MD5 29f414506584a46741cdb8a591267718
BLAKE2b-256 a296fa3495a4e91ce4a48306b261c003f7e82f9890e61ae80357597d86b5c7bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5de919c5d1555767b187faa1f344e3c6173440753031414d6f19827c67ce04c0
MD5 e2b555461ea605607284f333938fa0ae
BLAKE2b-256 33fc9cb45b0dad89855def371f963d7cc9c7b2bbdef5d32a7c537aeeb690e6ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp38-cp38-macosx_11_0_arm64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 235b915a91abc604c7a9891086cdf66e3fb69b4d1fb54073aef6bfb406e5e7f4
MD5 3f4f398daf1790db4c86e5fe870e5260
BLAKE2b-256 e0f8c1a679835ab258b4c9539162fc123faf1ba73579adb41bdf313579660035

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp37-cp37m-win_amd64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp37-cp37m-win32.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 0760df7195066710c899e90c57c818602794fdd8125ad75bfe7ac85243823b17
MD5 77351286593b7dbc6f80943a0e9f671a
BLAKE2b-256 ed9d2bafbeb17e48886d465d999eae097428c63c5d5e42ac29b28bed6e1684ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp37-cp37m-win32.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

File details

Details for the file structure_clustering-1.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dc11d0bcd21c963544c8a7fd440f1d89dd06e9fa944c71db51cb57eb9cf7a17e
MD5 51abed3181d30aa949b39dd6cc69e5f7
BLAKE2b-256 7021d5d3a629ff9964eac486904635040de9508afdd6df1eaa8652b588471c6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on photophys/structure_clustering

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

Supported by

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