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.6.tar.gz (20.1 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.6-cp313-cp313-win_amd64.whl (146.1 kB view details)

Uploaded CPython 3.13Windows x86-64

structure_clustering-1.1.6-cp313-cp313-win32.whl (129.6 kB view details)

Uploaded CPython 3.13Windows x86

structure_clustering-1.1.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (181.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

structure_clustering-1.1.6-cp313-cp313-macosx_11_0_arm64.whl (134.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

structure_clustering-1.1.6-cp312-cp312-win_amd64.whl (146.1 kB view details)

Uploaded CPython 3.12Windows x86-64

structure_clustering-1.1.6-cp312-cp312-win32.whl (129.6 kB view details)

Uploaded CPython 3.12Windows x86

structure_clustering-1.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (181.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

structure_clustering-1.1.6-cp312-cp312-macosx_11_0_arm64.whl (134.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

structure_clustering-1.1.6-cp311-cp311-win_amd64.whl (144.9 kB view details)

Uploaded CPython 3.11Windows x86-64

structure_clustering-1.1.6-cp311-cp311-win32.whl (129.4 kB view details)

Uploaded CPython 3.11Windows x86

structure_clustering-1.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (180.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

structure_clustering-1.1.6-cp311-cp311-macosx_11_0_arm64.whl (133.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

structure_clustering-1.1.6-cp310-cp310-win_amd64.whl (144.1 kB view details)

Uploaded CPython 3.10Windows x86-64

structure_clustering-1.1.6-cp310-cp310-win32.whl (128.6 kB view details)

Uploaded CPython 3.10Windows x86

structure_clustering-1.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (179.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

structure_clustering-1.1.6-cp310-cp310-macosx_11_0_arm64.whl (131.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

structure_clustering-1.1.6-cp39-cp39-win_amd64.whl (144.4 kB view details)

Uploaded CPython 3.9Windows x86-64

structure_clustering-1.1.6-cp39-cp39-win32.whl (128.8 kB view details)

Uploaded CPython 3.9Windows x86

structure_clustering-1.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (179.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

structure_clustering-1.1.6-cp39-cp39-macosx_11_0_arm64.whl (132.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

structure_clustering-1.1.6-cp38-cp38-win_amd64.whl (144.0 kB view details)

Uploaded CPython 3.8Windows x86-64

structure_clustering-1.1.6-cp38-cp38-win32.whl (128.6 kB view details)

Uploaded CPython 3.8Windows x86

structure_clustering-1.1.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (179.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

structure_clustering-1.1.6-cp38-cp38-macosx_11_0_arm64.whl (131.7 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

structure_clustering-1.1.6-cp37-cp37m-win_amd64.whl (131.3 kB view details)

Uploaded CPython 3.7mWindows x86-64

structure_clustering-1.1.6-cp37-cp37m-win32.whl (121.2 kB view details)

Uploaded CPython 3.7mWindows x86

structure_clustering-1.1.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (162.3 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: structure_clustering-1.1.6.tar.gz
  • Upload date:
  • Size: 20.1 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.6.tar.gz
Algorithm Hash digest
SHA256 0a789ad5c9cec88d8f3a4c45be59fba236adb3442ee23568e2841424a9d82a44
MD5 4c564dc70afaac0a8b225bb1f098e7c8
BLAKE2b-256 06ce761373e56416a773e1d28f70affd56d79fd0119388d850c822fcb514f3da

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6.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.6-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a43f09039934c476bac5283d15216e9fd0904a9e651cebb21838274b3a2adad1
MD5 f12de9f382aeeeb11e621c97278e3951
BLAKE2b-256 56390bef9169d09e198b9a2358d84fed31e27119c45b4de42d4c1cdb40782bb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp313-cp313-win32.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 1d0bbe3b18ff58935ad1f9e0113fb430fac04c9d57c5fee1573d96037ddd4133
MD5 28731143fea921473a9eb9a09958aa8b
BLAKE2b-256 1d0ff9a61a265114058bfddaf1f98c0ddba56788437e41b45b6723c01a0d40ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b33463af6e5da3327b4d8147941a907eab85624a6d6608e417c5067b9699e5bd
MD5 454573dbc90c4b76b833fc53b4689ef9
BLAKE2b-256 9239c8a9f27993c112baee8d4f40a4f54caf62075309e079d6fb97ce6a02b7af

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 893133bc2ef6203749e19146845b1c22d17ccfaa3ba0e4740789da95748f33f5
MD5 5c227ede101425f99de2d1feaeed4e8c
BLAKE2b-256 efc943b21cca116b334d4a3a1fe6a7b72dea64a129be4e881bfe5f2cdba3b9a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0581f4e2c1e940db8ac72068f52c9ecfc93340c2bf5bef1933434b58b343f64a
MD5 86bb9834a7b7197c09711b814cb71a7a
BLAKE2b-256 015bcd98c00b0fc5996e4d70e92bc2cbf43c09293eb427d386a15f2d7bc509c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 db5456836b0ad34b448a0abbe49d6b98f045569ccf97e62e6ba338e8d4fc2ccb
MD5 9d77d48140c10ac02949c041033f4b1e
BLAKE2b-256 02fa8d96a7b095365fbb6b4d79abfcad570db084e9113def0e7c060dd136bb7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2cf241e047f4c055ec3b73c004bff8b2cc54e8f84490ec280f1b58ce5a718170
MD5 458a9909f5fc9a1b49dd4d6587c168fb
BLAKE2b-256 910683dafbdc958590c859d57723b60a47799892021f50591f2db29c5390feca

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8e40a270214b4f9210313184024def6f46db760e333ded91a4b373cd9a42ef12
MD5 2b155f12641a268980c053bc86074e35
BLAKE2b-256 93f486c0d7b19555e5d010fa3983fb083774b4db1d71596586a80a02852e867c

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c88bfdfbb8720302e285b95256c6f723e11fcbec73b041ec411ef2bd0b1496b1
MD5 ff5d48c98f499338efe8c5ee2dc16089
BLAKE2b-256 ca63d11aa06a497e8fe28cf635603876069b1b3c99477a1304a28864268e820f

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 aa3a015d8e861ec13ff8ab953f8795129d9d106766bf9399dfb1d55e70155d3e
MD5 d2bbab0af9887c08da9271456ebac05a
BLAKE2b-256 53716761404dc7354ddda6a75fe760fb40413958772d868c580df5bdf56c40b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a4b0614f6c50c7bda5dd9f19d8910ba6d3330422fde61d34004dde607fb3b8bb
MD5 6162d69e6e7e6a2bb2ef8b36387fd94a
BLAKE2b-256 43b699090172d07720a09c1d34c13cc628948cb5d4dff7e7278ed2f5db1c5664

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 745462791426da79f819cff1ffd6787969107b0201fec9240a22a0cb2aaf4858
MD5 c91fabb94e26e9ac64d7f29c01427da3
BLAKE2b-256 a43cd72b6413f1f1e4193a8c56a351ef63d6139739ab7f18cc812ee702ba08f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fdff3131b4e07f2fe09e30fd97764a94b79852f9c3ac1e37e9ca8e69d17d7162
MD5 76edd57b9c33a1fe4335333f237e01c8
BLAKE2b-256 08549c5aed0108ff13740fc6f3fc119fd0a936f509b9420f22ba970e9318cd78

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 6057b1b56b5a28cff32d8762e5419a420f63831cd8a2613b6de2071bfe7a534e
MD5 ef82fb7bed6598ac6bc88e1a8601248f
BLAKE2b-256 7713e03e9daa57ab98debc089fe37ea9a67459122a28f1e1a7435250442901cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 965d5999df39b740da550d6e4ed9f6148d0d378aa3d6c32b8e5123ae9dc67b45
MD5 0e02b45bda2711cebc686497544f2cc5
BLAKE2b-256 58d9d009b7981d71c628f3221e8411f51f002a87795fffbc26a17bce0b7e5ca9

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1fdfdb1e91b00607fe063c1780b60f101ca30e8a758f424e3a7946ac13679497
MD5 2ed45ba318370a17fd7707c1e3aedcef
BLAKE2b-256 939a94fed78da6ab371a2b3ad8e00f62c793fd94b6ab40627b51d7b8cab95920

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 efc899409bd71c9827ef0df675b3f75d5ad460ce703d98b3b6d5cc4c329461a1
MD5 f14d2b1360ff04d636b41f6552a5b3a7
BLAKE2b-256 31705167fab722303e25fe2c394f1db74b587996e35525904f5064a7a33cdca5

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp39-cp39-win32.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 9185f34d51f396dac3bc7b2f6af39a58ace226d5a6088843ee5a750d69941d7b
MD5 cbfb984ac42b3268ebd82161d7ff8507
BLAKE2b-256 2bc9f4fed659c4ec77a127077f43366b2710af72d7a3eb7bd13dcfab8ada5c0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 45e7161b4e3d65cef3c686648fdcf8099f1385e4beb5e87ede3da406081e6cf3
MD5 d9242f203f37839e9a168fe7945d15f3
BLAKE2b-256 eea48d8516e7ed876ee43ef98f8ad0b7d467ddb78a6d41224091f00e8cdf2a89

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 212950eac1fba3e2c4ec5274b98974f46d21cc6e8ac6890b41377235af343794
MD5 aa0cacb8af77f0b208a6ed7255e2a7ab
BLAKE2b-256 0058fc18c5b546b6fbfe96a0d02ab4b84428ab15cc5a8ecc280348bea287d47f

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 503c4f459a9425d8e79e88ebe32bce60010949eaf08e9d9b043fdc0052627feb
MD5 d9a1f52280e9e62d5a42e343d4348dad
BLAKE2b-256 7966256cf86932c5d829c1f86b163de89ee25ecba9c77c6a99d8e5844f17bb56

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp38-cp38-win32.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 56cbab2545985a5ee0fc1eec1c6854da5af711480c8ee5fad5d617c228fab548
MD5 6a22b0976bf0639bddf6d139303f5738
BLAKE2b-256 5323a0bfd781ff7eb36f6c66dd4135753a68156a42b3cfba65bfff9e8ffb54f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c152899af208320f613a1bda6cb4cfe7465de21be11bb66b8116c2cfd781f34
MD5 f8d33c1436c1bcd3b7e6d1676bf89da1
BLAKE2b-256 d19567c891822c7dbc03678b7e5990363156ed26cfec8930e0b36fb517abccb3

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e0a7cc480032aad8eb9f909c75b5f53c8176c53ed36c76afd5100b9cdd015078
MD5 8b361331604d06c34baa587736aec316
BLAKE2b-256 c4fc6b98599bf424f648c66ed7a95ade9233da01eabdb1dd0dee3139f62fca25

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8f041ab38e8f599f098a1b15808e6a5e45430543f6b654478d38cb50f2a94fd1
MD5 66c10e2ffa763dbfb002066f0f9da04e
BLAKE2b-256 39af5ed3f003296e4dd6fcbeb161665db93c776762fcb0976f0f3ff9e4818901

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp37-cp37m-win32.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 1bae6807e74bffec0988180884372dad72cff1943c0ee3c121763cc9d7053e61
MD5 dd9b349a58325ccf1daec527ebc9513d
BLAKE2b-256 dc208732308fe7175d6ee359df233857372d874175766b9efd9857a03f5a9a80

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for structure_clustering-1.1.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3f3bd7a9ff2fb1c6864f540d8a2183a520bde2c96f9e6d64810dd22a81f8e20f
MD5 1afadecd8eb994ba0224a0dd3c52b4d7
BLAKE2b-256 5c32db3f374ed9453cb64762daa84284e43036b1635d3019ed445e310d32f596

See more details on using hashes here.

Provenance

The following attestation bundles were made for structure_clustering-1.1.6-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