Skip to main content

SpeakEasy2 community detection algorithm

Project description

Python SpeakEasy2 package

PyPI - Version PyPI - Python Version

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


Download files

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

Source Distribution

speakeasy2-0.2.0.tar.gz (3.1 MB view details)

Uploaded Source

Built Distributions

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

speakeasy2-0.2.0-cp314-cp314t-win_amd64.whl (87.2 kB view details)

Uploaded CPython 3.14tWindows x86-64

speakeasy2-0.2.0-cp314-cp314t-win32.whl (76.2 kB view details)

Uploaded CPython 3.14tWindows x86

speakeasy2-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl (404.3 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

speakeasy2-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl (375.6 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

speakeasy2-0.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (399.4 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

speakeasy2-0.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (369.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

speakeasy2-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl (298.1 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

speakeasy2-0.2.0-cp314-cp314t-macosx_10_15_x86_64.whl (372.7 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

speakeasy2-0.2.0-cp310-abi3-win_amd64.whl (84.5 kB view details)

Uploaded CPython 3.10+Windows x86-64

speakeasy2-0.2.0-cp310-abi3-win32.whl (73.9 kB view details)

Uploaded CPython 3.10+Windows x86

speakeasy2-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl (403.8 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

speakeasy2-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl (375.2 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

speakeasy2-0.2.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (398.8 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

speakeasy2-0.2.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (368.7 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

speakeasy2-0.2.0-cp310-abi3-macosx_11_0_arm64.whl (297.7 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

speakeasy2-0.2.0-cp310-abi3-macosx_10_9_x86_64.whl (371.5 kB view details)

Uploaded CPython 3.10+macOS 10.9+ x86-64

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

Hashes for speakeasy2-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ed6f3ccec841ff26e7799a66fdfd87f53f235b000b40829e98a3471140b5c312
MD5 0dbe2e57db8e299e1c8b044277896f73
BLAKE2b-256 04c0de42b64075669832a7f3e108e3326fffc67e8ae88448c91c36721bfd36c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for speakeasy2-0.2.0.tar.gz:

Publisher: release.yaml on SpeakEasy-2/python-speakeasy2

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

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

Hashes for speakeasy2-0.2.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 ac0bd07397de8e455008d14a181570c84602d03d9f18393af1a52b9cfa5d2b1b
MD5 76d3efc66bbacd947f9498db0e16920f
BLAKE2b-256 8bfbbdff96a7ff0bf2e927fb9443c02c7e8efbadac082db435d691b846d80185

See more details on using hashes here.

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

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

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

Hashes for speakeasy2-0.2.0-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 daa06613859ce225a027c16c5955ee2faa0bde0b386d92df66ebf1027c2cda9d
MD5 fce8f2c33fc901528ee1f4cf3145d351
BLAKE2b-256 75c6c9cf763f79d6c32abffb150e9082e665ca036fc3e2e140aedf067fdee642

See more details on using hashes here.

Provenance

The following attestation bundles were made for speakeasy2-0.2.0-cp314-cp314t-win32.whl:

Publisher: release.yaml on SpeakEasy-2/python-speakeasy2

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

File details

Details for the file speakeasy2-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for speakeasy2-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3caa6d6cea2e7c944087b96f66fc5a91e18a333a2754a4cea2b421bbe45561fa
MD5 f55f0f5ca9c50c39523c48edb2e3cf62
BLAKE2b-256 01e09ae79b2ff96644028519b17afa8c74cb2b1e357420a59c34b74f01fb9daf

See more details on using hashes here.

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

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

File details

Details for the file speakeasy2-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for speakeasy2-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6d43b57a7a8ee0ebbcc9da73df79c8eb1ad12d977f2e9d4c0d8d63a6bcb8c7ad
MD5 823da00483a4354cdeac9c685cda5a2b
BLAKE2b-256 d8ad7747a98bdaf59d18aac5a0273a6c573a0b94033996de86f720051a2d4291

See more details on using hashes here.

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

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

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

File hashes

Hashes for speakeasy2-0.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cc9fc6ed57fc462642529413ddff5dd14d9d8dbbe597b8ab90906cdb624d9d15
MD5 ae5a3bec3d0402e962a7dd8f94b7332e
BLAKE2b-256 0d0aeb01c2c085d143cf968aa2f2f256b47cb51ee14d021d5fe8992b959d35b7

See more details on using hashes here.

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

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

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

File hashes

Hashes for speakeasy2-0.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6093fff6f0b520ccf35ed4897c9dfab4b77eec02974406d8a0f74f859c91d88c
MD5 1644b8e27ccc567cd5fa0ffb3b205077
BLAKE2b-256 9d9f6418a8ee6e67422c36c37196ab979eb91f100a949954926a2f9eb904db78

See more details on using hashes here.

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

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

File details

Details for the file speakeasy2-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for speakeasy2-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6cf3bfb22f7d72b982709897dd97eff1373c90ac0dd24be15a8745fab2591f21
MD5 f9f069fc392c00c076af2e92d092d2fe
BLAKE2b-256 17093ad2af09d6c64cbfb6bc6867239a5a7b17ee71da3c8baea4ab1c542766e9

See more details on using hashes here.

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

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

File details

Details for the file speakeasy2-0.2.0-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for speakeasy2-0.2.0-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 bda3087e25ab6dca6a5bf856a4012cb9d44c1ae7b61400231bae07a7bfd2002c
MD5 6f0042207c5c538ee37d05b8ce9db030
BLAKE2b-256 1cb6f572aca2faa114c6aa561a91d4a83f5ac4053ef5d65db36ee3710f5345ae

See more details on using hashes here.

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

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

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

Hashes for speakeasy2-0.2.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 9587bd852fb409e9c529cc93cef78aa2b8898a754fc6851c31a2f2ea78531887
MD5 be46f46ff203101572152f56de6fc321
BLAKE2b-256 16f63da6046413c8c96df415c715f2cea3167d7df3294c793b5b95940259a492

See more details on using hashes here.

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

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

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

Hashes for speakeasy2-0.2.0-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 ce08706ae821ab6e9c6d4d4bc03795f2c04ff300355ebaa68b48422f1daaf0a9
MD5 a6d37bf48f60736641d02012d62b09fd
BLAKE2b-256 17b0f4a0d91395441778859268b769e953c67b4f3cd608bf1fbffa176916cdba

See more details on using hashes here.

Provenance

The following attestation bundles were made for speakeasy2-0.2.0-cp310-abi3-win32.whl:

Publisher: release.yaml on SpeakEasy-2/python-speakeasy2

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

File details

Details for the file speakeasy2-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for speakeasy2-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e12fac634d692e047828d9bd7cb6e7ac947eaf6b71c44092aa9b31366d77e506
MD5 95dec73e059d76b19e0e31f77386ad19
BLAKE2b-256 e76fb7363c4cd180be32a3aaa75462d623855405e814d19bd77721fd12d674ec

See more details on using hashes here.

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

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

File details

Details for the file speakeasy2-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for speakeasy2-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7b03a344b9186190fee70fa7400ef2617deb9fceaed46b78addea950d3f22484
MD5 5e1e22a43c36bd53af5934da54eb97fc
BLAKE2b-256 67bd5310529de34412a73f2bf72f8d8f331e150058db4bc2550a251b55096da3

See more details on using hashes here.

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

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

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

File hashes

Hashes for speakeasy2-0.2.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 77b30e824a8147891a856f77ec8ebe2f979b681972e45e34a82e93514df6de8b
MD5 f79a9f82793f0d3fd308aa8250f1c854
BLAKE2b-256 7c98181f25f0201d0b13e3c644268a3f70aa0b787b3668d2e83e20486f9d6d4f

See more details on using hashes here.

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

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

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

File hashes

Hashes for speakeasy2-0.2.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2d191eab081a977ebcb7584866a9343fb0cac536c806f44c3827170ea51ca02a
MD5 4796defaa851442710e91549a1327316
BLAKE2b-256 5ccfc497ac7b46cfd2ac2d1e72749a243e9303f622640dd107dc4a79e14d67a1

See more details on using hashes here.

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

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

File details

Details for the file speakeasy2-0.2.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for speakeasy2-0.2.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 961ca22182f51c9cc95d9318b2aa3a1d795b13a840606c63063d613a706eb136
MD5 dfc80e4eeb3ac4c509acf4c8c92d86d8
BLAKE2b-256 a50a92610c06636dd3944485ca6e20867a5ad7b77c6738d20fb51d7f2f997548

See more details on using hashes here.

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

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

File details

Details for the file speakeasy2-0.2.0-cp310-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for speakeasy2-0.2.0-cp310-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 25c16a47f6ab580ce5ff148b428453a9df6838c85581423b3a4edca5b97cab28
MD5 1a539ba4c27f0ca326a79e0516a4c653
BLAKE2b-256 515c4fc77727b4e93a5cc0e5c400a5570d0ae7e17d24cdca1f261b19a2b74c00

See more details on using hashes here.

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

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