SpeakEasy2 community detection algorithm
Project description
Python SpeakEasy2 package
Provides the SpeakEasy2 community detection algorithm to cluster graph's stored as igraph's data type. The algorithm is described in the Genome Biology article.
This uses a rewrite of the algorithm used in the publication, to see a comparison to the original implementation see the benchmarks
Example:
import igraph as ig
import speakeasy2 as se2
g = ig.Graph.Famous("Zachary")
memb = se2.cluster(g)
Membership is returned as a list of node IDs.
print(memb)
[8, 8, 8, 8, 5, 5, 5, 8, 0, 2, 5, 1, 8, 8, 9, 9, 5, 8, 9, 8, 9, 8, 9, 6, 7, 7, 4, 6, 3, 4, 0, 7, 9, 9]
The results can be converted to an igraph VertexClustering object to access more structure metrics such as modularity with:
print(ig.VertexClustering(g, memb))
Clustering with 34 elements and 10 clusters
[ 0] 8, 30
[ 1] 11
[ 2] 9
[ 3] 28
[ 4] 26, 29
[ 5] 4, 5, 6, 10, 16
[ 6] 23, 27
[ 7] 24, 25, 31
[ 8] 0, 1, 2, 3, 7, 12, 13, 17, 19, 21
[ 9] 14, 15, 18, 20, 22, 32, 33
Node ordering
For displaying results in a heatmap, a node ordering can be computed from the membership which groups nodes in a community together. This can be used as an index and works to display the community structure using a heatmap to view the adjacency matrix.
ordering = se2.order_nodes(g, memb)
Weighted graphs
SpeakEasy 2 can work with weighted graphs by using a numpy ndarray as an adjacency matrix or passing weights to an igraph Graph object, either as a list with length equal to the number of edges or by using the igraph attribute table.
g.es["weight"] = [1 for _ in range(g.ecount())]
memb = se2.cluster(g)
By default, SpeakEasy 2 will check if there is an edge attribute associated with the graph named weight and use those as weights. If you want to use a different edge attribute, pass the name of the attribute.
memb = se2.cluster(g, weights="tie_strength")
Or if a graph has a weight edge attribute but you don't want to use them, explicitly pass None to the weights keyword argument.
Subclustering
Subclustering can be used to detect hierarchical community structure.
memb = se2.cluster(g, subcluster=2)
The number determines how many levels to perform community detection at. The default, 1, means only to perform community detection at the top level (i.e. no subclustering). When subclustering, membership will be a list of lists, the top level membership will be the object at index 0.
Keyword arguments
A few other useful keywords arguments are max_threads, verbose, and seed.
The max_thread keyword determines how many processors SpeakEasy 2 is allowed to use. By default the value returned by OpenMP is used. To prevent parallel processing, explicitly pass max_threads = 1 to the method.
The verbose option will cause the algorithm to print out some information about the process.
For reproducible results, the seed option sets the seed of the random number generator.
Note: this is a random number generator managed by the underlying C library and is independent of other random number generators that might have been set in python.
KNN graph
Speakeasy2 also provides a knn_graph function for converting a matrix, where each column is the feature vector of a sample, into a sparse graph.
This is useful to reduce computation required to cluster large graphs.
The function returns a graph with non-zero edges only for the top k nearest neighbors (based on Euclidean distance) for each sample.
from numpy.random import randn
samples = randn(20, 100)
g = se2.knn_graph(samples, k=10)
In the above example, there are 100 samples of 20 features, the resulting (directed) graph will have 10 edges leaving each of the 100 samples.
By default, knn_graph returns a binary graph.
Instead you can get a weighted graph with weights being the inverse of the distance.
Installation
Speakeasy2 is available from PyPI so it can be installed with pip or other package managers.
pip install --user speakeasy2
Building from source
Compilation depends on a C compiler, CMake, libxml2, zlib, and (optionally) ninja.
On Windows, using MSVC, the pthreads4W library will also be needed for multithreading support.
See the build.yaml GitHub action workflow for how to install dependencies on different environments.
Since the igraph package is supplied by the vendored SE2 C library, after cloning the source directory, submodules most be recursively initialized.
git clone "https://github.com/SpeakEasy-2/python-speakeasy2"
cd python-speakeasy2
git submodule update --init --recursive
Speakeasy2 uses the scikit-build-core as the build backend to handle compilation of the C extension using CMake.
With this we can build the project with either uv using uv build or with the build module (pip install --install build && python -m build).
For convenience, a Makefile is provided that defines various targets for developing and packaging the project.
This Makefile assumes use with the uv package manager for handling dependencies.
For development, use uv to create a private environment with the dev and test dependency groups, then run the make devenv target to compile the C extension.
After running the devenv target, there should be a new build/cp310-abi3-* directory, where the wildcard will be dependent on your environment.
You can link the extension to the speakeasy2 project with something similar to:
ln -s ../build/cp310-abi3-linux_x86_64/_speakeasy2.abi3.so speakeasy2
Additionally, you may want to link the generated compile_commands.json to the project root to provide a language server with library information:
ln -s build/cp310-abi3-linux_x86_64/compile_commands.json .
It should not be possible to successfully run the command: pytest tests.
If working on the C extension, the make check command will make sure the extension is compiled before running the pytest command.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file speakeasy2-0.2.0.tar.gz.
File metadata
- Download URL: speakeasy2-0.2.0.tar.gz
- Upload date:
- Size: 3.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed6f3ccec841ff26e7799a66fdfd87f53f235b000b40829e98a3471140b5c312
|
|
| MD5 |
0dbe2e57db8e299e1c8b044277896f73
|
|
| BLAKE2b-256 |
04c0de42b64075669832a7f3e108e3326fffc67e8ae88448c91c36721bfd36c4
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0.tar.gz:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0.tar.gz -
Subject digest:
ed6f3ccec841ff26e7799a66fdfd87f53f235b000b40829e98a3471140b5c312 - Sigstore transparency entry: 701348267
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type:
File details
Details for the file speakeasy2-0.2.0-cp314-cp314t-win_amd64.whl.
File metadata
- Download URL: speakeasy2-0.2.0-cp314-cp314t-win_amd64.whl
- Upload date:
- Size: 87.2 kB
- Tags: CPython 3.14t, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac0bd07397de8e455008d14a181570c84602d03d9f18393af1a52b9cfa5d2b1b
|
|
| MD5 |
76d3efc66bbacd947f9498db0e16920f
|
|
| BLAKE2b-256 |
8bfbbdff96a7ff0bf2e927fb9443c02c7e8efbadac082db435d691b846d80185
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0-cp314-cp314t-win_amd64.whl:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0-cp314-cp314t-win_amd64.whl -
Subject digest:
ac0bd07397de8e455008d14a181570c84602d03d9f18393af1a52b9cfa5d2b1b - Sigstore transparency entry: 701348275
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type:
File details
Details for the file speakeasy2-0.2.0-cp314-cp314t-win32.whl.
File metadata
- Download URL: speakeasy2-0.2.0-cp314-cp314t-win32.whl
- Upload date:
- Size: 76.2 kB
- Tags: CPython 3.14t, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
daa06613859ce225a027c16c5955ee2faa0bde0b386d92df66ebf1027c2cda9d
|
|
| MD5 |
fce8f2c33fc901528ee1f4cf3145d351
|
|
| BLAKE2b-256 |
75c6c9cf763f79d6c32abffb150e9082e665ca036fc3e2e140aedf067fdee642
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0-cp314-cp314t-win32.whl:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0-cp314-cp314t-win32.whl -
Subject digest:
daa06613859ce225a027c16c5955ee2faa0bde0b386d92df66ebf1027c2cda9d - Sigstore transparency entry: 701348271
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type:
File details
Details for the file speakeasy2-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: speakeasy2-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 404.3 kB
- Tags: CPython 3.14t, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3caa6d6cea2e7c944087b96f66fc5a91e18a333a2754a4cea2b421bbe45561fa
|
|
| MD5 |
f55f0f5ca9c50c39523c48edb2e3cf62
|
|
| BLAKE2b-256 |
01e09ae79b2ff96644028519b17afa8c74cb2b1e357420a59c34b74f01fb9daf
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl -
Subject digest:
3caa6d6cea2e7c944087b96f66fc5a91e18a333a2754a4cea2b421bbe45561fa - Sigstore transparency entry: 701348298
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type:
File details
Details for the file speakeasy2-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: speakeasy2-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 375.6 kB
- Tags: CPython 3.14t, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d43b57a7a8ee0ebbcc9da73df79c8eb1ad12d977f2e9d4c0d8d63a6bcb8c7ad
|
|
| MD5 |
823da00483a4354cdeac9c685cda5a2b
|
|
| BLAKE2b-256 |
d8ad7747a98bdaf59d18aac5a0273a6c573a0b94033996de86f720051a2d4291
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl -
Subject digest:
6d43b57a7a8ee0ebbcc9da73df79c8eb1ad12d977f2e9d4c0d8d63a6bcb8c7ad - Sigstore transparency entry: 701348278
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type:
File details
Details for the file speakeasy2-0.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: speakeasy2-0.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 399.4 kB
- Tags: CPython 3.14t, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc9fc6ed57fc462642529413ddff5dd14d9d8dbbe597b8ab90906cdb624d9d15
|
|
| MD5 |
ae5a3bec3d0402e962a7dd8f94b7332e
|
|
| BLAKE2b-256 |
0d0aeb01c2c085d143cf968aa2f2f256b47cb51ee14d021d5fe8992b959d35b7
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
cc9fc6ed57fc462642529413ddff5dd14d9d8dbbe597b8ab90906cdb624d9d15 - Sigstore transparency entry: 701348289
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type:
File details
Details for the file speakeasy2-0.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: speakeasy2-0.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 369.1 kB
- Tags: CPython 3.14t, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6093fff6f0b520ccf35ed4897c9dfab4b77eec02974406d8a0f74f859c91d88c
|
|
| MD5 |
1644b8e27ccc567cd5fa0ffb3b205077
|
|
| BLAKE2b-256 |
9d9f6418a8ee6e67422c36c37196ab979eb91f100a949954926a2f9eb904db78
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
6093fff6f0b520ccf35ed4897c9dfab4b77eec02974406d8a0f74f859c91d88c - Sigstore transparency entry: 701348317
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type:
File details
Details for the file speakeasy2-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl.
File metadata
- Download URL: speakeasy2-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl
- Upload date:
- Size: 298.1 kB
- Tags: CPython 3.14t, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cf3bfb22f7d72b982709897dd97eff1373c90ac0dd24be15a8745fab2591f21
|
|
| MD5 |
f9f069fc392c00c076af2e92d092d2fe
|
|
| BLAKE2b-256 |
17093ad2af09d6c64cbfb6bc6867239a5a7b17ee71da3c8baea4ab1c542766e9
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl -
Subject digest:
6cf3bfb22f7d72b982709897dd97eff1373c90ac0dd24be15a8745fab2591f21 - Sigstore transparency entry: 701348273
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type:
File details
Details for the file speakeasy2-0.2.0-cp314-cp314t-macosx_10_15_x86_64.whl.
File metadata
- Download URL: speakeasy2-0.2.0-cp314-cp314t-macosx_10_15_x86_64.whl
- Upload date:
- Size: 372.7 kB
- Tags: CPython 3.14t, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bda3087e25ab6dca6a5bf856a4012cb9d44c1ae7b61400231bae07a7bfd2002c
|
|
| MD5 |
6f0042207c5c538ee37d05b8ce9db030
|
|
| BLAKE2b-256 |
1cb6f572aca2faa114c6aa561a91d4a83f5ac4053ef5d65db36ee3710f5345ae
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0-cp314-cp314t-macosx_10_15_x86_64.whl:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0-cp314-cp314t-macosx_10_15_x86_64.whl -
Subject digest:
bda3087e25ab6dca6a5bf856a4012cb9d44c1ae7b61400231bae07a7bfd2002c - Sigstore transparency entry: 701348318
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type:
File details
Details for the file speakeasy2-0.2.0-cp310-abi3-win_amd64.whl.
File metadata
- Download URL: speakeasy2-0.2.0-cp310-abi3-win_amd64.whl
- Upload date:
- Size: 84.5 kB
- Tags: CPython 3.10+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9587bd852fb409e9c529cc93cef78aa2b8898a754fc6851c31a2f2ea78531887
|
|
| MD5 |
be46f46ff203101572152f56de6fc321
|
|
| BLAKE2b-256 |
16f63da6046413c8c96df415c715f2cea3167d7df3294c793b5b95940259a492
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0-cp310-abi3-win_amd64.whl:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0-cp310-abi3-win_amd64.whl -
Subject digest:
9587bd852fb409e9c529cc93cef78aa2b8898a754fc6851c31a2f2ea78531887 - Sigstore transparency entry: 701348319
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type:
File details
Details for the file speakeasy2-0.2.0-cp310-abi3-win32.whl.
File metadata
- Download URL: speakeasy2-0.2.0-cp310-abi3-win32.whl
- Upload date:
- Size: 73.9 kB
- Tags: CPython 3.10+, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce08706ae821ab6e9c6d4d4bc03795f2c04ff300355ebaa68b48422f1daaf0a9
|
|
| MD5 |
a6d37bf48f60736641d02012d62b09fd
|
|
| BLAKE2b-256 |
17b0f4a0d91395441778859268b769e953c67b4f3cd608bf1fbffa176916cdba
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0-cp310-abi3-win32.whl:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0-cp310-abi3-win32.whl -
Subject digest:
ce08706ae821ab6e9c6d4d4bc03795f2c04ff300355ebaa68b48422f1daaf0a9 - Sigstore transparency entry: 701348277
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type:
File details
Details for the file speakeasy2-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: speakeasy2-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 403.8 kB
- Tags: CPython 3.10+, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e12fac634d692e047828d9bd7cb6e7ac947eaf6b71c44092aa9b31366d77e506
|
|
| MD5 |
95dec73e059d76b19e0e31f77386ad19
|
|
| BLAKE2b-256 |
e76fb7363c4cd180be32a3aaa75462d623855405e814d19bd77721fd12d674ec
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl -
Subject digest:
e12fac634d692e047828d9bd7cb6e7ac947eaf6b71c44092aa9b31366d77e506 - Sigstore transparency entry: 701348313
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type:
File details
Details for the file speakeasy2-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: speakeasy2-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 375.2 kB
- Tags: CPython 3.10+, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b03a344b9186190fee70fa7400ef2617deb9fceaed46b78addea950d3f22484
|
|
| MD5 |
5e1e22a43c36bd53af5934da54eb97fc
|
|
| BLAKE2b-256 |
67bd5310529de34412a73f2bf72f8d8f331e150058db4bc2550a251b55096da3
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl -
Subject digest:
7b03a344b9186190fee70fa7400ef2617deb9fceaed46b78addea950d3f22484 - Sigstore transparency entry: 701348322
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type:
File details
Details for the file speakeasy2-0.2.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: speakeasy2-0.2.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 398.8 kB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77b30e824a8147891a856f77ec8ebe2f979b681972e45e34a82e93514df6de8b
|
|
| MD5 |
f79a9f82793f0d3fd308aa8250f1c854
|
|
| BLAKE2b-256 |
7c98181f25f0201d0b13e3c644268a3f70aa0b787b3668d2e83e20486f9d6d4f
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
77b30e824a8147891a856f77ec8ebe2f979b681972e45e34a82e93514df6de8b - Sigstore transparency entry: 701348269
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type:
File details
Details for the file speakeasy2-0.2.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: speakeasy2-0.2.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 368.7 kB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d191eab081a977ebcb7584866a9343fb0cac536c806f44c3827170ea51ca02a
|
|
| MD5 |
4796defaa851442710e91549a1327316
|
|
| BLAKE2b-256 |
5ccfc497ac7b46cfd2ac2d1e72749a243e9303f622640dd107dc4a79e14d67a1
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
2d191eab081a977ebcb7584866a9343fb0cac536c806f44c3827170ea51ca02a - Sigstore transparency entry: 701348310
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type:
File details
Details for the file speakeasy2-0.2.0-cp310-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: speakeasy2-0.2.0-cp310-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 297.7 kB
- Tags: CPython 3.10+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
961ca22182f51c9cc95d9318b2aa3a1d795b13a840606c63063d613a706eb136
|
|
| MD5 |
dfc80e4eeb3ac4c509acf4c8c92d86d8
|
|
| BLAKE2b-256 |
a50a92610c06636dd3944485ca6e20867a5ad7b77c6738d20fb51d7f2f997548
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0-cp310-abi3-macosx_11_0_arm64.whl:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0-cp310-abi3-macosx_11_0_arm64.whl -
Subject digest:
961ca22182f51c9cc95d9318b2aa3a1d795b13a840606c63063d613a706eb136 - Sigstore transparency entry: 701348272
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type:
File details
Details for the file speakeasy2-0.2.0-cp310-abi3-macosx_10_9_x86_64.whl.
File metadata
- Download URL: speakeasy2-0.2.0-cp310-abi3-macosx_10_9_x86_64.whl
- Upload date:
- Size: 371.5 kB
- Tags: CPython 3.10+, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25c16a47f6ab580ce5ff148b428453a9df6838c85581423b3a4edca5b97cab28
|
|
| MD5 |
1a539ba4c27f0ca326a79e0516a4c653
|
|
| BLAKE2b-256 |
515c4fc77727b4e93a5cc0e5c400a5570d0ae7e17d24cdca1f261b19a2b74c00
|
Provenance
The following attestation bundles were made for speakeasy2-0.2.0-cp310-abi3-macosx_10_9_x86_64.whl:
Publisher:
release.yaml on SpeakEasy-2/python-speakeasy2
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
speakeasy2-0.2.0-cp310-abi3-macosx_10_9_x86_64.whl -
Subject digest:
25c16a47f6ab580ce5ff148b428453a9df6838c85581423b3a4edca5b97cab28 - Sigstore transparency entry: 701348307
- Sigstore integration time:
-
Permalink:
SpeakEasy-2/python-speakeasy2@3b3390344b7570d6e76d6c880f81cadba9113254 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/SpeakEasy-2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@3b3390344b7570d6e76d6c880f81cadba9113254 -
Trigger Event:
push
-
Statement type: