Skip to main content

opthash

Crates.io PyPI MSRV Python CI CodSpeed License

opthash provides Rust hash maps and sets based on Elastic Hashing and Funnel Hashing, two open-addressing algorithms introduced in Optimal Bounds for Open Addressing Without Reordering. It turns the paper's fixed-table constructions into familiar collection APIs that can be used in real programs.

[!IMPORTANT] opthash is experimental. It is intended for evaluating and improving these algorithms, not as a drop-in performance replacement for std::HashMap or hashbrown. Benchmark and test it against your own workload before adopting it in production.

Features

  • ElasticHashMap, ElasticHashSet, FunnelHashMap, and FunnelHashSet
  • Familiar map, set, entry, iterator, and collection APIs
  • Paper-faithful placement during normal fixed-size operation
  • Configurable spare capacity, hashers, and allocators
  • no_std support with alloc
  • Optional Python bindings with typed map and set APIs

Quick start

Add opthash to a Rust project:

cargo add opthash

Both algorithms expose the same core collection APIs:

use opthash::{ElasticHashMap, FunnelHashSet};

let mut scores = ElasticHashMap::new();
scores.insert("Ada", 42);
scores.entry("Linus").or_insert(37);

assert_eq!(scores.get("Ada"), Some(&42));

let mut visited = FunnelHashSet::new();
visited.insert("Paris");

assert!(visited.contains("Paris"));

The default configuration uses foldhash and keeps one-eighth of the table available as spare capacity. Most users should start with these defaults. Advanced users can tune the reserve with ReserveFraction, provide another BuildHasher, or use a custom allocator.

To use opthash without std, disable default features and provide a hasher:

[dependencies]
opthash = { version = "0.10", default-features = false }

Choosing an algorithm

Elastic and Funnel use different placement strategies but share the same core API. Choose the construction you want to explore; switching between them is straightforward. For current performance results, see the benchmark guide.

Compared with the paper

opthash preserves the paper's finite geometry, placement rules, and probe order during normal operation between table rebuilds. A usable dynamic collection also needs behavior outside the paper's model:

Topic Paper opthash
Table lifetime Fixed size Grows and rebuilds as needed
Updates Insertions only Also replaces, deletes, clears, and cleans up tombstones
Placement Uses the prescribed candidates Follows them normally; rare exhaustion can trigger a broader correctness fallback
Randomness Analyzes ideal random choices Uses concrete deterministic mixing
Bounds Analyzes probe complexity in a fixed-size, insertion-only model The paper's bounds do not cover deletion, growth, Elastic misses, or wall-clock performance

These differences preserve normal paper-faithful traces while making the maps usable as general collections. They also mean the paper's theoretical bounds should not be read as guarantees for every library operation. See the paper source used by this project for the exact construction.

Python

Python bindings expose the same four map and set families:

pip install opthash
from opthash import FunnelHashMap

scores = FunnelHashMap({"Ada": 42})
scores["Linus"] = 37

assert scores["Ada"] == 42

Python 3.10 or newer is supported.

Project resources

License

Licensed under the Apache License 2.0.

Release files for opthash 0.10.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for opthash 0.10.4
File Size Uploaded
opthash-0.10.4.tar.gz 125.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for opthash 0.10.4
File
opthash-0.10.4-cp314-cp314t-win_arm64.whl CPython 3.14 CPython 3.14 free-threading Windows ARM64 Details
opthash-0.10.4-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
opthash-0.10.4-cp314-cp314t-win32.whl CPython 3.14 CPython 3.14 free-threading Windows x86-32 Details
opthash-0.10.4-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
opthash-0.10.4-cp314-cp314t-musllinux_1_2_i686.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-32 Details
opthash-0.10.4-cp314-cp314t-musllinux_1_2_armv7l.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARMv7l Details
opthash-0.10.4-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details
opthash-0.10.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details
opthash-0.10.4-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ IBM System/390x Details
opthash-0.10.4-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ PowerPC 64-le Details
opthash-0.10.4-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARMv7l Details
opthash-0.10.4-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details
opthash-0.10.4-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.5+ x86-32 Details
opthash-0.10.4-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
opthash-0.10.4-cp314-cp314t-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 Details
opthash-0.10.4-cp310-abi3-win_arm64.whl CPython 3.10 abi3 Windows ARM64 Details
opthash-0.10.4-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
opthash-0.10.4-cp310-abi3-win32.whl CPython 3.10 abi3 Windows x86-32 Details
opthash-0.10.4-cp310-abi3-musllinux_1_2_x86_64.whl CPython 3.10 abi3 Linux musl 1.2+ x86-64 Details
opthash-0.10.4-cp310-abi3-musllinux_1_2_i686.whl CPython 3.10 abi3 Linux musl 1.2+ x86-32 Details
opthash-0.10.4-cp310-abi3-musllinux_1_2_armv7l.whl CPython 3.10 abi3 Linux musl 1.2+ ARMv7l Details
opthash-0.10.4-cp310-abi3-musllinux_1_2_aarch64.whl CPython 3.10 abi3 Linux musl 1.2+ ARM64 Details
opthash-0.10.4-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
opthash-0.10.4-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl CPython 3.10 abi3 Linux glibc 2.17+ IBM System/390x Details
opthash-0.10.4-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl CPython 3.10 abi3 Linux glibc 2.17+ PowerPC 64-le Details
opthash-0.10.4-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.10 abi3 Linux glibc 2.17+ ARMv7l Details
opthash-0.10.4-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
opthash-0.10.4-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl CPython 3.10 abi3 Linux glibc 2.5+ x86-32 Details
opthash-0.10.4-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
opthash-0.10.4-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 14.6 MB

Release files / opthash-0.10.4.tar.gz

Download URL opthash-0.10.4.tar.gz
Size 125.2 kB
Tags Source
SHA-256 checksum
How to use checksums
67f00df054bcae3aaef1e93eacfd67fa84dc424bb60a110d47014860cf0469a8
BLAKE2b-256 checksum
How to use checksums
131e861320e87bbdb914aca0cd6ef8b7b0cd014586dd12d0b9535be484d8f84b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp314-cp314t-win_arm64.whl

Download URL opthash-0.10.4-cp314-cp314t-win_arm64.whl
Size 280.0 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
cebb0c17022cb1302f76711712961d9a3cbcd46752c0d5fb917c505173bec32b
BLAKE2b-256 checksum
How to use checksums
a2cb9c2aba15cfc530937bcb7a3cec2c33341d718c17162b735ab897c20f7dce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp314-cp314t-win_amd64.whl

Download URL opthash-0.10.4-cp314-cp314t-win_amd64.whl
Size 290.6 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
ff3ffda1ddf45bd587ca33d133b07bbf1a3705023cbfe1cc824aa35693fe3634
BLAKE2b-256 checksum
How to use checksums
be7e76c345a9a7ee1901de7a5bfc5f0bc2886cfebd5927db02004494f46784ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp314-cp314t-win32.whl

Download URL opthash-0.10.4-cp314-cp314t-win32.whl
Size 269.7 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-32
SHA-256 checksum
How to use checksums
6a4e037161a7adc160b253304e297e564c5e1be64f38a11eb0dd106d96e5c30e
BLAKE2b-256 checksum
How to use checksums
05dd24f25640d337aae55b3f91156530b286584f025b79d94ad360ea254b361a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL opthash-0.10.4-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 650.3 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a4e149895493b6399bbd03b2c27b1592b575db7692d8971a1876ae8c06e22423
BLAKE2b-256 checksum
How to use checksums
7dd67ddfd320a5c463182f2eedd761e899907d343b8f44d7d5164df2b8ffd4b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp314-cp314t-musllinux_1_2_i686.whl

Download URL opthash-0.10.4-cp314-cp314t-musllinux_1_2_i686.whl
Size 692.2 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
058ce8298e5202848519203276dc6375c79f89293b6c3a0f2b8f016531674707
BLAKE2b-256 checksum
How to use checksums
bdb4f5fa7c37feaf6ff2af8c66e145094735310c0cd67913f2f8633e5f36c8f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp314-cp314t-musllinux_1_2_armv7l.whl

Download URL opthash-0.10.4-cp314-cp314t-musllinux_1_2_armv7l.whl
Size 727.9 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARMv7l
SHA-256 checksum
How to use checksums
8a1960ec5c7f2eacb5c1961e67f15273a5e5d9c6261cf8b7fa15d4f114707faf
BLAKE2b-256 checksum
How to use checksums
ba27d6c3b2a9d311b293c1d66d988d7b3507b42674f87ec53b95b818938e5554
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL opthash-0.10.4-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 615.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
8422398c8343501a28ff0417b8a1492c104ad4e97a042a91eb70f30c19a374d8
BLAKE2b-256 checksum
How to use checksums
fefb6b2c376deafc9da927ffe3bc97e5943db714f7932b71f5deb2440ec6e9d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL opthash-0.10.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 439.4 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
61b9fc727b245cdcd1bb8db8ece411f98bc14ce8ec56a3034f9af7d4494dd0f2
BLAKE2b-256 checksum
How to use checksums
fb547b1d51ec1daf4151dd2599e40ce9497510b0220d0afb515b6353e2f9ab0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL opthash-0.10.4-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 469.4 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ IBM System/390x
SHA-256 checksum
How to use checksums
ff76025b63f57e7e387caf6beaed6c2986b9459e0c1cf8c5aa6e9069f7bb6735
BLAKE2b-256 checksum
How to use checksums
c8490fbca159ac61c2d6f19cd47f390e9c8406f4f02d8094752750fd062d8aed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL opthash-0.10.4-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 570.5 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ PowerPC 64-le
SHA-256 checksum
How to use checksums
bced77f3af4bd568b2c47fcaca807b4095c8bbe434974e7ef5e34b7f1313b4d1
BLAKE2b-256 checksum
How to use checksums
776d015856932b9635399f881895879c444f5d795059a68af608f48ed826724c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL opthash-0.10.4-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 454.1 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
58fdd9897a36638fa15940add930cf8ccb36764f701f0ecdcf1ddbd786da27f3
BLAKE2b-256 checksum
How to use checksums
91de09df4f5f35c68d8a6a831aef9a435389c8ea2a5c5d00494d0266378e580d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL opthash-0.10.4-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 440.5 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
eebe8dbcdd32bced39b8229a50b8060fba2e00b513e56fffa8a1fdc0d74e4e60
BLAKE2b-256 checksum
How to use checksums
95d82c1c7989153fd9ab89e2e38b5289b97ad560799ca00395171eee0e816aad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl

Download URL opthash-0.10.4-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl
Size 483.6 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
ed9b4dc4d38ae11005de51e912fc537a8736fa0484ce9ee54c7b5a260fa9073c
BLAKE2b-256 checksum
How to use checksums
cf89fce62340b3a2f80d3a1d080fd66087ee1a4963da79988bfc528680f2470d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp314-cp314t-macosx_11_0_arm64.whl

Download URL opthash-0.10.4-cp314-cp314t-macosx_11_0_arm64.whl
Size 411.0 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fb9e523f88200aad7ad8f2b87d05dec5cec3087426dfa97bf5612b3cbc277e7b
BLAKE2b-256 checksum
How to use checksums
3c7f1b33ca48c135ecad6c4d75dee368a3ed6a798a13609811d236afef982a1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp314-cp314t-macosx_10_12_x86_64.whl

Download URL opthash-0.10.4-cp314-cp314t-macosx_10_12_x86_64.whl
Size 423.2 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
a4edc686367c44e7c06878d72f920d933dabcb6cb4e2cdd605a6461e5d41e853
BLAKE2b-256 checksum
How to use checksums
15aaa3b0395ab5600f9cb5ade5e6d4422270c64e9a5c7ecb6eadde0fc3a39986
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp310-abi3-win_arm64.whl

Download URL opthash-0.10.4-cp310-abi3-win_arm64.whl
Size 287.6 kB
Tags CPython 3.10 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
7f41f9cc6aebab00a3ffcfbf90b27a4f999455337180e31ef2967c3c406f8697
BLAKE2b-256 checksum
How to use checksums
12cdae5d450373c5402b5bedd28da6a2fbc466a338a32eb424b0b99a639092bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp310-abi3-win_amd64.whl

Download URL opthash-0.10.4-cp310-abi3-win_amd64.whl
Size 298.1 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
a045efc4d73e4ad6139b41b1017b00aeb8abaa83c339b83b82edfd04c57e8fa2
BLAKE2b-256 checksum
How to use checksums
e18af834c1a6bb336d71cf07f7d360b3d0ae36cbff09ee3596e74cae9f39495b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp310-abi3-win32.whl

Download URL opthash-0.10.4-cp310-abi3-win32.whl
Size 277.8 kB
Tags CPython 3.10 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
1adc1ed71a86ba493fc63b13511cad56198b1874b92ec9477f9009d2f6412827
BLAKE2b-256 checksum
How to use checksums
d23cad3d132285d814d62efdeeb77238fc9623e1e402950228b5effa1b9f8d6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp310-abi3-musllinux_1_2_x86_64.whl

Download URL opthash-0.10.4-cp310-abi3-musllinux_1_2_x86_64.whl
Size 653.9 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
8081a4093deae0ab6897f8dbc19760a23985d582e949a28b6bdf9d5bf0accb72
BLAKE2b-256 checksum
How to use checksums
b6e2f70727508406225f4224ef5818558546f23f644ef263b5e09e6087d52629
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp310-abi3-musllinux_1_2_i686.whl

Download URL opthash-0.10.4-cp310-abi3-musllinux_1_2_i686.whl
Size 700.9 kB
Tags CPython 3.10 Linux musl 1.2+ x86-32 abi3
SHA-256 checksum
How to use checksums
da58b55f1363e911dc490294b5ade305e269510f577163c5e40ae2bb5a52ae70
BLAKE2b-256 checksum
How to use checksums
0c9756f158cdc4089ee31dd616d4b46fefbd98c106056f62a41e92df1b76bb6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp310-abi3-musllinux_1_2_armv7l.whl

Download URL opthash-0.10.4-cp310-abi3-musllinux_1_2_armv7l.whl
Size 732.5 kB
Tags CPython 3.10 Linux musl 1.2+ ARMv7l abi3
SHA-256 checksum
How to use checksums
0d8a9c931d07d19123c9247f1f359c781aed9636cbe4f683db522a6805ef44dc
BLAKE2b-256 checksum
How to use checksums
840210f839f51c4a27ca931378306ada078138ce7cf8b5078f3ccccec210e196
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp310-abi3-musllinux_1_2_aarch64.whl

Download URL opthash-0.10.4-cp310-abi3-musllinux_1_2_aarch64.whl
Size 620.6 kB
Tags CPython 3.10 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
dfba8f72aa69386fa7ce25002122d2baf48e226bac66f6908be694188ea14932
BLAKE2b-256 checksum
How to use checksums
4d4e69b0c35e27e637c86a37014429913744f9674542092d84db4c529cfc4402
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL opthash-0.10.4-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 443.5 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
ccdfb05bb41679c8ea3359a7e9c22351880e6541adb8e1f3817285e9bd1d77c0
BLAKE2b-256 checksum
How to use checksums
5470c4255e5830784662605e1dbaa2f48d9c54c5c3946973f485a3594be5f999
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL opthash-0.10.4-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 471.4 kB
Tags CPython 3.10 Linux glibc 2.17+ IBM System/390x abi3
SHA-256 checksum
How to use checksums
b63c7a0995f9981b1868d9c3f04e883a5dd2810aa8cd1e6bd71afd62ca1fe22b
BLAKE2b-256 checksum
How to use checksums
d1733258c3bf2a5212f17b02892a300f4ae7e89138a11dd2f33929405c3c7985
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL opthash-0.10.4-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 573.5 kB
Tags CPython 3.10 Linux glibc 2.17+ PowerPC 64-le abi3
SHA-256 checksum
How to use checksums
32ab6d094fd9906eaa48dceeb0b05dd202fbbcbadf98bd93d9a40c61cc2cac25
BLAKE2b-256 checksum
How to use checksums
93d4dd2e0bfdbd1fe884afe5b5916396248681a8bc94f470d40b3f27e3a7dccc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL opthash-0.10.4-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 458.6 kB
Tags CPython 3.10 Linux glibc 2.17+ ARMv7l abi3
SHA-256 checksum
How to use checksums
0445039541749d0c0128c463aeb20b36abc26bbdc27236bac24fc69b6cb6570f
BLAKE2b-256 checksum
How to use checksums
85a3331ebcf3eebb8d6a665d0ef9c6b95b8a9e56ce5b7555360c4ef58b075cec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL opthash-0.10.4-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 444.0 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
4107e49de296760c653a3628c1231bc5910a96683d4b4fdd5417088206ee270e
BLAKE2b-256 checksum
How to use checksums
300f8cdad8294bb4f65843b0a84fe2598145c3d660e755eb776d9468ebcac2ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl

Download URL opthash-0.10.4-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Size 494.3 kB
Tags CPython 3.10 Linux glibc 2.5+ x86-32 abi3
SHA-256 checksum
How to use checksums
295068262eec21c2f5305a4f87cace82f976aae8651f2479e9d3d9840127305e
BLAKE2b-256 checksum
How to use checksums
daf0c5e951ab2039a45a9e2149a3c47129928d4aac67387de28e7770654e6f44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp310-abi3-macosx_11_0_arm64.whl

Download URL opthash-0.10.4-cp310-abi3-macosx_11_0_arm64.whl
Size 412.8 kB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
de377fab3a1bcc2a7a1e482ab26746078b8d232f63496cc646b17a62a7938b1f
BLAKE2b-256 checksum
How to use checksums
68ec12f4166b92d48c02dc4a49d50ce7a9546918a89cf9a476ab7b6a4d7f2dbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / opthash-0.10.4-cp310-abi3-macosx_10_12_x86_64.whl

Download URL opthash-0.10.4-cp310-abi3-macosx_10_12_x86_64.whl
Size 413.4 kB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
f03632b972b7cd8cf0797fe9a7451a6dd0d34c8c7a8291f9564a05b8c9d32b80
BLAKE2b-256 checksum
How to use checksums
4c9709a411e247466843da2ae31ca3122b7a5cc1a270ccbaa2e4acd96af07e11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.10.4 This release

31 release files

0.8.0

31 release files

0.7.0

31 release files

0.6.0

31 release files

0.5.0

31 release files

0.4.1

31 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page