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.

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:

cargo add opthash --no-default-features

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.

Near full load, Funnel answers lookups for absent keys faster than a greedy group-probing table, and the gap widens as the table fills. Greedy probing still wins hits and most inserts. See the high-load sweep.

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.

Metadata

Release files for opthash 0.12.1

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.12.1
File Size Uploaded Provenance Actions
opthash-0.12.1.tar.gz 171.5 kB With provenance Details for opthash-0.12.1.tar.gz

Built distributions (wheels)

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

Total release size: 16.2 MB

Release files / opthash-0.12.1.tar.gz

Download URL opthash-0.12.1.tar.gz
Size 171.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9fb3e944740378b047546163586c814f7893e22c4eb6123723f4313b11a13ab5
BLAKE2b-256 checksum
How to use checksums
94d0069169e225d7a91c0ceb7cf7aecdfcbed3379ad405c4e6cc1a35f5b7a108
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp314-cp314t-win_arm64.whl
Size 334.6 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
fd4f7742b892242dd2efbe6c5e2337b88f6b9b06570184457397d9c76dff5c37
BLAKE2b-256 checksum
How to use checksums
d83f1188dddbb339264eac5acedccbd468816aa9224bfd591adb6303169dd079
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp314-cp314t-win_amd64.whl
Size 337.9 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
350b86d6ac04272645c5951bdefd3e19f2ba662f335c200b67281283521f413d
BLAKE2b-256 checksum
How to use checksums
bddd4fb09b60a30d7864f772d562373471473bb4c84ede0455c948b715c9bd3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp314-cp314t-win32.whl
Size 321.0 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-32
SHA-256 checksum
How to use checksums
538ec3710ba5d4c0545c9af808c285c1fd80d4c73258efc0dfecf60a44ab0fbc
BLAKE2b-256 checksum
How to use checksums
1db8329b12a266b3dc324700ee35abab7f0c103fc80c218e9283a50a1eaa371f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 692.1 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
9782287178af01eb812a42dc1fc3ef782eab843dcbb69f19983173ed2bfeccd3
BLAKE2b-256 checksum
How to use checksums
a5c641323b1c03c466fc17e2f2f206ddc5d0ca92ceb1bed3594d537c71898c25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp314-cp314t-musllinux_1_2_i686.whl
Size 747.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
177d86bae27725579a91f876f2a722670cb2f237014cc68f5f000fc288b3a24c
BLAKE2b-256 checksum
How to use checksums
3ea2d227e6c5d8acca500b19c324f317d1051c0f536a79235a5624f35c056af4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp314-cp314t-musllinux_1_2_armv7l.whl
Size 774.9 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARMv7l
SHA-256 checksum
How to use checksums
a658dcd239b7300555d56ebb758c14167b5b1434dd7872fbc744cb68ebe0f253
BLAKE2b-256 checksum
How to use checksums
1c9ab9a12e64226947b58b9689bf543e90e92b38c77c199479e7fb720cc37dd4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 669.1 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
0b5ce0a1691d57ccb2f66e7f4090111acf595bc8244b33c8e130586d14da0f32
BLAKE2b-256 checksum
How to use checksums
0c0916e332690bdf7626bb1040ad952137da5146de1afa6dff1f548d0e462c38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 480.4 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d736c4844592815350e86c53ac939bc40eff578f90d08b1b186a29c0df97f2fa
BLAKE2b-256 checksum
How to use checksums
e4080a110fb4871f6ef196d64092ffd7afdff4fc20cf4a4b620daad5af3fa3a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl
Size 518.9 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ IBM System/390x
SHA-256 checksum
How to use checksums
89bcda54c2b7401e77e49715118fa587e7a42c9291acfd98c4ad3e8d3b2b03d1
BLAKE2b-256 checksum
How to use checksums
efeace215575b0e466cdd1288ba70d97573a243cc5288c0b90d193a84381c0e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl
Size 636.6 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ PowerPC 64-le
SHA-256 checksum
How to use checksums
09875aec15b583b8112fba52a8b2f2c966b2d1bccc73f26d85f4518094eefee6
BLAKE2b-256 checksum
How to use checksums
81a547596c993a4cd0f02a6393604d17162090a74731bbafa1aeb65005b8d477
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.whl
Size 499.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
56e013297c9c34a236a62f2f4f5644bd7f65c8251e12700bba7edf7f3fd295be
BLAKE2b-256 checksum
How to use checksums
7b5908ec52d7208428bdf93133976d05ded2d750e652808b96ff5596821782bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 491.1 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
91285d587039bd0772510b46deed0705c97e8b1df2da3352382ab69126a80db6
BLAKE2b-256 checksum
How to use checksums
3e533eef309340983ca5a7eb1e85167ad7810e8933a7c9be3ec2278b8a6ac8af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp314-cp314t-manylinux1_i686.manylinux_2_5_i686.whl
Size 542.0 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
16efa3736ac0f7bae3b1b810bd9ee60158b12260b4ac89e32cbbbd2d66b952d5
BLAKE2b-256 checksum
How to use checksums
8b5776e78aabc86580a4bf1eeb29b21c9f3e95a8ac3c5194768dbbb04c02c3f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp314-cp314t-macosx_11_0_arm64.whl
Size 464.5 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d8c561890f598a7eaf748c2999058f394308366361c0cce7dac62f14707da752
BLAKE2b-256 checksum
How to use checksums
25cdbc7c0e1881ef45566d475a9a5a5068b575d302ef314f8113fccfa543b655
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp314-cp314t-macosx_10_12_x86_64.whl
Size 468.9 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
8369ee33587a99d46ae2a4918a7e0e8cd3881dde731bcb349f197a44f599dedd
BLAKE2b-256 checksum
How to use checksums
c9e590a056209d171d143556a63a1edb5096cb74dfee59ed02fb3e8fc200c2a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp310-abi3-win_arm64.whl
Size 344.4 kB
Tags CPython 3.10 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
9face230cf7d7814ca7a04514d7dfaf003c0fa03b5e07d83949cdc80771109b8
BLAKE2b-256 checksum
How to use checksums
d42f54cc47024bd6a3d157f0e5ec11ae9979a1a700f31dd65df3cabfd538e5dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp310-abi3-win_amd64.whl
Size 350.4 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
dda33a1ff0013a5d570102508cc1e8e6f23b993f285572361782c41917ff7439
BLAKE2b-256 checksum
How to use checksums
6989777979860775a08e622b919520e860463807a7d65c5654a3f0f21fb4dae8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp310-abi3-win32.whl
Size 330.6 kB
Tags CPython 3.10 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
4a201fbf54aac9de4e0330203341bbc00e6b41405c3b8ed2b5b91cd6cab762ab
BLAKE2b-256 checksum
How to use checksums
42bdd024ea26e32aad5fbc0fda6f7f8d6d701dee0f392e00010a3d09c8a52552
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp310-abi3-musllinux_1_2_x86_64.whl
Size 698.9 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
96c93477e5c4d1fe7b553f4d6ff2e9ce6b07de908bc922b3a91cf6dbadc5ebb7
BLAKE2b-256 checksum
How to use checksums
0e7ca8b1ef69b9c6ac5b4138f370280e7e21919c815144ce5459fa3b50c5d6ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp310-abi3-musllinux_1_2_i686.whl
Size 762.2 kB
Tags CPython 3.10 Linux musl 1.2+ x86-32 abi3
SHA-256 checksum
How to use checksums
919784503c5a7f170bf215a385d6e74c5ccb9319f16c3549bb898425269e5455
BLAKE2b-256 checksum
How to use checksums
d61f676c8d5997b74cb3922c3763adf4838a2f290670f786b3cc7aaf0481b2cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp310-abi3-musllinux_1_2_armv7l.whl
Size 779.8 kB
Tags CPython 3.10 Linux musl 1.2+ ARMv7l abi3
SHA-256 checksum
How to use checksums
6185dc61e63df1c5e5bdbcf5af8879147de5a7724306554b37ad3891fb76f8be
BLAKE2b-256 checksum
How to use checksums
a4a0f4851e7730ef1b126d0f607a0dca6a9cda20b27527305dec5af3a1dcef0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp310-abi3-musllinux_1_2_aarch64.whl
Size 675.7 kB
Tags CPython 3.10 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
59bc1abd065c889888ec1fb9bb052a281e68400245a25f8927fae8f1c35fcaea
BLAKE2b-256 checksum
How to use checksums
2da0eed56a61fe37614cec9d77aef92f0db13b375423df6b991b7d16f757bd5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 489.9 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
b3b480ec9941d5c985b46e5b9cea453badbef56563652a03491e9cbd858320a2
BLAKE2b-256 checksum
How to use checksums
f5b26a11c9a808d2dacc74a0534442507185ff7bcbda11166a98d0366a32b1cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp310-abi3-manylinux2014_s390x.manylinux_2_17_s390x.whl
Size 525.7 kB
Tags CPython 3.10 Linux glibc 2.17+ IBM System/390x abi3
SHA-256 checksum
How to use checksums
f8429053511f087fa7ccb493b429a36c1b907ee77ba3b9e6369e916668a1adaf
BLAKE2b-256 checksum
How to use checksums
71cc6cf66e8f1e0b06cf00ff0a49fd91723ee022dbaafd14075d01fd08f0e611
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp310-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl
Size 647.8 kB
Tags CPython 3.10 Linux glibc 2.17+ PowerPC 64-le abi3
SHA-256 checksum
How to use checksums
b1d76f5964ad651329b0b1fa908dd0d4b3679d1c52051dc040c96655da247102
BLAKE2b-256 checksum
How to use checksums
a6aa058e7ccbbcdbf4126fa5dee946af4208636e1d4d3fda1e0817fdb5f1eb20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp310-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.whl
Size 504.7 kB
Tags CPython 3.10 Linux glibc 2.17+ ARMv7l abi3
SHA-256 checksum
How to use checksums
9baff5fc611f5aa64c8ae69302fecdca26ffbde8ec0739dba061242ca29db2b8
BLAKE2b-256 checksum
How to use checksums
81c58ba2ef014c1913d5e3ce1c28c6df8e2e86dab11246db114a4389562c2814
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 497.6 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
20e643d4ec7b90b0aaad48495c1d8b7d1070510f06c1a0762bda1b3181e46873
BLAKE2b-256 checksum
How to use checksums
30ac0248a88787ab2d8b739167c6931c323a40f78e2d6b86821793035df67c8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp310-abi3-manylinux1_i686.manylinux_2_5_i686.whl
Size 556.7 kB
Tags CPython 3.10 Linux glibc 2.5+ x86-32 abi3
SHA-256 checksum
How to use checksums
8fc0e026dbe2ebc235d13d4e45e2ae60b2fc5e8c611431244c61dae0bd862382
BLAKE2b-256 checksum
How to use checksums
153586a5cdcd213e1418021b755aee89c8cff8b2c69daa971e8e43c1c67e0665
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp310-abi3-macosx_11_0_arm64.whl
Size 469.6 kB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f493d2a6efede0387821c0a8fa2d6486933e2ed459f8c03cd8be904bdbb8a614
BLAKE2b-256 checksum
How to use checksums
e467a819e9af71cc9d80f19d35f0082a8b8cf628ca6d1e8927c85e98b6f5e59f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

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

Download URL opthash-0.12.1-cp310-abi3-macosx_10_12_x86_64.whl
Size 457.5 kB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
20363b1ea4fa6c5304b4529eee54b57206e528b0ea57fc6e8cc620677cee07ca
BLAKE2b-256 checksum
How to use checksums
709c1a63bb0986af8dd0f4d759698c98515887e2bf2f7d0c27db6bfe97db9e8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Security for opthash 0.12.1

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.

Full provenance

All 31 files in this release have been uploaded with provenance metadata.

Select from 31 files

Attestation for opthash-0.12.1.tar.gz

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 Nov 6, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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