Skip to main content

Rust implementations of Elastic Hashing and Funnel Hashing with Python bindings

Project description

opthash

Crates.io PyPI CI Release Python License

Rust implementations of Elastic Hashing and Funnel Hashing from Optimal Bounds for Open Addressing Without Reordering (Farach-Colton, Krapivin, Kuszmaul, 2025).

Both are open-addressing hash maps that achieve optimal expected probe complexity without reordering elements after insertion.

Data Structures

Both maps share a common core: RawTable-backed multi-level layouts, 7-bit fingerprint control bytes, SIMD control-byte scans for occupancy + lookup, tombstone accounting, and per-level Lemire fastmod magics for the hash → slot mapping. The default BuildHasher is foldhash.

  • ElasticHashMap<K, V> — Flat RawTable per level wsith geometrically halving capacities; insertion uses per-level probe budgets + coprime group steps.
  • FunnelHashMap<K, V> — Bucketed levels plus a split special array: primary (group-probed) and fallback (two-choice buckets).

Both support insert, get, get_mut, contains_key, remove, and clear. Maps start with zero allocation (new()) and grow dynamically on demand. Advanced tuning is available through ElasticOptions, FunnelOptions, and with_options(...).

Usage

Rust

cargo add opthash
use opthash::{ElasticHashMap, ElasticOptions, FunnelHashMap, FunnelOptions};

let mut map = ElasticHashMap::new();
map.insert("key", 42);
assert_eq!(map.get("key"), Some(&42));

let mut map = ElasticHashMap::with_options(ElasticOptions {
    capacity: 1024,
    reserve_fraction: 0.10,
    probe_scale: 12.0,
});
map.insert("key", 42);
assert_eq!(map.get("key"), Some(&42));

let mut map = FunnelHashMap::with_options(FunnelOptions {
    capacity: 1024,
    reserve_fraction: 0.10,
    primary_probe_limit: Some(8),
});
map.insert("key", 42);
assert_eq!(map.get("key"), Some(&42));

Python

pip install opthash
from opthash import ElasticHashMap, ElasticOptions, FunnelHashMap, FunnelOptions

m = ElasticHashMap()
m["key"] = 42
assert m["key"] == 42
assert "key" in m and len(m) == 1

m = ElasticHashMap.with_options(ElasticOptions(
    capacity=1024, reserve_fraction=0.10, probe_scale=12.0,
))

m = FunnelHashMap.with_options(FunnelOptions(
    capacity=1024, reserve_fraction=0.10, primary_probe_limit=8,
))

Layout Sketch

RawTable (shared by both maps)
==============================

  fp = fingerprint (7-bit control byte)
  kv = key-value entry, __ = empty, xx = tombstone

  Single allocation, slots first, controls at the end:

  data_ptr ► [kv][kv][  ][kv][  ][kv]... [pad] [fp][fp][__][xx][__][fp]...
             └──── slots (T-aligned) ────┘     └─ controls (16-aligned) ──┘
                                               ▲ ctrl_offset

  No per-group metadata. Occupancy is derived from SIMD scans of the control bytes
  (eq_mask_16 for fingerprints, free_mask_16 for free slots).


ElasticHashMap
==============

  levels: Vec<Level>

    Level 0    RawTable  (largest, ~half of total capacity)
    Level 1    RawTable  (geometrically halved)
    Level 2    ...

    per-level  len, tombstones, half_reserve_slot_threshold,
               limited_probe_budgets, group_steps, salt,
               group_count_magic, step_count_magic

  table-wide   len, capacity, max_insertions, reserve_fraction,
               probe_scale, batch_plan, current_batch_index,
               batch_remaining, max_populated_level, hash_builder


FunnelHashMap
=============

  levels: Vec<BucketLevel>

    Level 0
      slots:     kv kv __ __ ... kv kv __ __ ... kv ...
      controls:  fp fp __ __ ... fp fp __ __ ... fp ...
                 └── bucket 0 ──┘└── bucket 1 ──┘

    Level 1    (same layout, smaller buckets)
    ...

    per-level  len, tombstones, bucket_size, bucket_count,
               salt, bucket_count_magic

  special: SpecialArray

    primary    RawTable, group-probed (like elastic)
    (paper B)  len, group_summaries, group_tombstones, group_steps

    fallback   RawTable, two-choice bucketed
    (paper C)  len, tombstones, bucket_size, bucket_count

  table-wide   len, capacity, max_insertions, reserve_fraction,
               primary_probe_limit, max_populated_level, hash_builder

Benchmarks

See benches/README.md for bench target layout, charts, CLI flags, chart regeneration, and flamegraph profiling.

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

opthash-0.4.0.tar.gz (182.2 kB view details)

Uploaded Source

Built Distributions

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

opthash-0.4.0-cp314-cp314t-win_arm64.whl (220.6 kB view details)

Uploaded CPython 3.14tWindows ARM64

opthash-0.4.0-cp314-cp314t-win_amd64.whl (232.5 kB view details)

Uploaded CPython 3.14tWindows x86-64

opthash-0.4.0-cp314-cp314t-win32.whl (215.6 kB view details)

Uploaded CPython 3.14tWindows x86

opthash-0.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl (584.5 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

opthash-0.4.0-cp314-cp314t-musllinux_1_2_i686.whl (619.7 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

opthash-0.4.0-cp314-cp314t-musllinux_1_2_armv7l.whl (654.3 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

opthash-0.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl (549.6 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

opthash-0.4.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (378.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

opthash-0.4.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl (405.0 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ s390x

opthash-0.4.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (498.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ppc64le

opthash-0.4.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (378.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

opthash-0.4.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (373.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

opthash-0.4.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl (405.8 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.5+ i686

opthash-0.4.0-cp314-cp314t-macosx_11_0_arm64.whl (343.9 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

opthash-0.4.0-cp314-cp314t-macosx_10_12_x86_64.whl (355.7 kB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

opthash-0.4.0-cp310-abi3-win_arm64.whl (223.3 kB view details)

Uploaded CPython 3.10+Windows ARM64

opthash-0.4.0-cp310-abi3-win_amd64.whl (237.1 kB view details)

Uploaded CPython 3.10+Windows x86-64

opthash-0.4.0-cp310-abi3-win32.whl (220.8 kB view details)

Uploaded CPython 3.10+Windows x86

opthash-0.4.0-cp310-abi3-musllinux_1_2_x86_64.whl (589.8 kB view details)

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

opthash-0.4.0-cp310-abi3-musllinux_1_2_i686.whl (624.1 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

opthash-0.4.0-cp310-abi3-musllinux_1_2_armv7l.whl (657.3 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

opthash-0.4.0-cp310-abi3-musllinux_1_2_aarch64.whl (554.0 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

opthash-0.4.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (382.3 kB view details)

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

opthash-0.4.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (409.5 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ s390x

opthash-0.4.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (502.1 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

opthash-0.4.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (382.4 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

opthash-0.4.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (377.8 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

opthash-0.4.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl (411.1 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.5+ i686

opthash-0.4.0-cp310-abi3-macosx_11_0_arm64.whl (345.7 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

opthash-0.4.0-cp310-abi3-macosx_10_12_x86_64.whl (357.7 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file opthash-0.4.0.tar.gz.

File metadata

  • Download URL: opthash-0.4.0.tar.gz
  • Upload date:
  • Size: 182.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for opthash-0.4.0.tar.gz
Algorithm Hash digest
SHA256 8983063beeba1435dac91d5237ee59ab485a53cf9b366d86791f4923b0c9b055
MD5 0c6677c693b2de9eacb3fe5ed998f92d
BLAKE2b-256 816da2a3130dc50a20b2b1addb9cc862dd24887476c47f6500dbfe7801d0700e

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0.tar.gz:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp314-cp314t-win_arm64.whl.

File metadata

  • Download URL: opthash-0.4.0-cp314-cp314t-win_arm64.whl
  • Upload date:
  • Size: 220.6 kB
  • Tags: CPython 3.14t, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for opthash-0.4.0-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 4652e3de67ad5c1b5897afac1ed4779362c55a40f77df73f6cc8ee0fecfb8394
MD5 6a538efb86465197161d3660e5459bd8
BLAKE2b-256 47496fc1d402fa893aab84ea87487f9da7c476b195aad236a43f71a03dad3da5

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp314-cp314t-win_arm64.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: opthash-0.4.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 232.5 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for opthash-0.4.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 e1fd3ee635371b7dfaaa68686c14912ad7548118c5bd3a994624f82be3353266
MD5 44fd7b3b8654595922f6f14cc4d01e66
BLAKE2b-256 3eed6f882d859d4596f1651f2664dd076489aef34ee4b9b369571a90aba923b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp314-cp314t-win_amd64.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp314-cp314t-win32.whl.

File metadata

  • Download URL: opthash-0.4.0-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 215.6 kB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for opthash-0.4.0-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 ce40352384e9a00b66ff7e72907a9369acde4d5a7399b406378f2a127c44d1ea
MD5 202cd19e595b951c28491eb9c1a66b02
BLAKE2b-256 87f735d930ae26c19ab73d335e1595332f1b2434dd9f8c931b4e2ce17113918d

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp314-cp314t-win32.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9ae320a906aefc1edba5fc4d29687b62322ac8ef611c008b92ffd5cdd1729c81
MD5 c93a79009b2f771fbe927ebf319c6010
BLAKE2b-256 04f81598b8cb564e4a6d827e7f56c8e88df4821318b9227e8543d37f109b6d64

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp314-cp314t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 4654880dd5773598661c03bb70ce08e0269b8984bf2f93b0b737583d39580cdc
MD5 0a44f7c1e6b48f52a2b8757f72effa48
BLAKE2b-256 9ad86d629fbaf75b38c8850b8e4357d81e2ce3c2c7be9f61a6fa840a1f22282b

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp314-cp314t-musllinux_1_2_i686.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp314-cp314t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 015ff32ceba1ad9b59456931ff701bed29ade18546e7667e7ae443c89c566b21
MD5 a9cf8086173ecf40c9b7ec1dba57c1d3
BLAKE2b-256 e95235e6d275ce9d0379f93ff78cfa900d6ea2fb688d3d4aa4cbb7dcde1c3156

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp314-cp314t-musllinux_1_2_armv7l.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5d044a95086815d692b9cd8fe03558f4d9c11b075014abf23100a53fa3b52bf7
MD5 d8b5b217c1b2be5081266ca68165b207
BLAKE2b-256 62e8f3eacd73a5d7aceccc2df04d182aa18a3957e7e24f55faf733f11b2699de

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cf962760e1d688c3acb46b713dbc160294583cf942a79ecd16f4e7503f60e52c
MD5 4f7c1502ab565b11e82ad262c3cf2167
BLAKE2b-256 419e57d2a04022071f552b35eb9a7b552c6f0267e4d86ed7ab5dc963735ea09d

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 fdb012ce81680a12bcddace227622b4bd89d10efa748232b955669e18de2d96c
MD5 9a5a9717eabf52fc492d3bc567149d3d
BLAKE2b-256 578690ba7f895530ba3fe706570d54956460a6316e775aa65d7a5bb2137d1612

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d505fb3d073517daacd31d85c0a75416c4f5092f2da7f5f07f3faca4ff281d39
MD5 02a3b0978160536403d8da44302e2be2
BLAKE2b-256 56c1081c2a10514dc9cb9e634cb93052924133f49f227878ae5f3e69a41a8be5

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a3dfd64c9b3c9903d95738d5f9364972a2030895aec24d87714c8279d1057eb4
MD5 18bcbb02f8736a63068f785ba364e2c2
BLAKE2b-256 8266601c39f16a811d933ae49a91d1226f1103ef4912e06dbefc7a22ecc03b22

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 18a42f3cd78dd0e7c85b8510feb4f5ad7848ae256e3906fc765bdef112d6f962
MD5 b2feafd34ac55a913990f39f125411e8
BLAKE2b-256 85b3c57a4a2848e3756b17b93cb9f62807fb3e9286b3a6ce70dc6eb0bba63739

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 c076355f91c7bfe3c85ab8f3c044984d8e97ea8ac7e82fdd6f808048310d18b8
MD5 78cd5abe48ca4da26e871453f55ad0e9
BLAKE2b-256 68fdff564a3eefafbb776736c61d2e8a59c2d67ae6687af426324fa13c80a7a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 21f71c9eb954798975aae66d3cbce2d964c520bd3f0ff8d5490d32e630610ead
MD5 eba4613d6b84912429615418d8427a2c
BLAKE2b-256 cf18ee3ddbc8d9b3faa4e0ce9895a76c4c7095b7e7921bdf963c0f784d4f8807

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp314-cp314t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 727c2cc2a7cc4eefebf0c544bfb4a43102520b722fd57590f583dc4288ae48f9
MD5 576cc589336e72ee06664d8e168f1e20
BLAKE2b-256 c2e96deb33c564b1273fc2412315010efce1c7de83ab4065556397caf3e9975f

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp314-cp314t-macosx_10_12_x86_64.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp310-abi3-win_arm64.whl.

File metadata

  • Download URL: opthash-0.4.0-cp310-abi3-win_arm64.whl
  • Upload date:
  • Size: 223.3 kB
  • Tags: CPython 3.10+, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for opthash-0.4.0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 369cbfca2c4b6ee7690c6a6442262a5dd61c5fb0d55452b00680143e685770a0
MD5 9e4995e8c389f533ce82e62eb971863a
BLAKE2b-256 e9cab240a2f3465db241eb970cee7c459cd8784ca7ee6d79f4926034d141599d

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp310-abi3-win_arm64.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: opthash-0.4.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 237.1 kB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for opthash-0.4.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4ddc567673d5fbbb78cd1fc753e68b8db9b202f3ef00f2ae9781e9e0dd41f23e
MD5 ec0ec764039291730fce128dd16b98b0
BLAKE2b-256 a955e90bf263e59347fb4b8cc23480363e2088dcb9d30767589ebc1c86912d1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp310-abi3-win_amd64.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp310-abi3-win32.whl.

File metadata

  • Download URL: opthash-0.4.0-cp310-abi3-win32.whl
  • Upload date:
  • Size: 220.8 kB
  • Tags: CPython 3.10+, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for opthash-0.4.0-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 bd31495a4661f4e58b7e6585f9fd9583bb47fbc430ac3e95cf6b2d254ed52e4f
MD5 b39222a11fdea6b95db591e9500564b8
BLAKE2b-256 d64b7e52ac2118c688220eda60a4e063c83faa23dcbe09f478a88efb0596b318

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp310-abi3-win32.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c1d1f89c5799cea86df8cc0e853d80149c02d684ad62bc321601ab0a7ecf9855
MD5 e91d28d351921f2f479012a0d7227866
BLAKE2b-256 8f1366cea997b6f5e649a55fdb3915ea8b7ad346776a94dba2bf2ff4d8082fc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp310-abi3-musllinux_1_2_x86_64.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp310-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1a6c754f8976a9f91fe9cdfc8ec7e563410731221ed97885967336d00f9a0efe
MD5 fb12e45cddd58c4d8832aa02915fda38
BLAKE2b-256 12c3a27314754ed8ee9bdeedcadd37b022aecdff0aaab13c4f16d867cd6a5673

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp310-abi3-musllinux_1_2_i686.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp310-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 4054b8feac19276c8ad1f4da647b3ea0754b1c8000b5a5d523ff2919c70e3369
MD5 784ed427a63a5ceaec93f61b82d6fba7
BLAKE2b-256 6b8330628c8b03a8bb6450e040c3f78f47288bb78b8a021673d6bb00d96fdbec

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp310-abi3-musllinux_1_2_armv7l.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d15b1d6dab8b3402a79c5d82ea0d80f67419217dbb89526629f182cac8befbcb
MD5 d1739bdaf5dba2c28ea75d0da08282ba
BLAKE2b-256 52b86267daab1bab950fadda3dcd918a17ce51089a5a5b49603de5d39665019f

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp310-abi3-musllinux_1_2_aarch64.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 12f1271b18026f2e0b40cf732719c1c565c61d9e56ca389d28f2950a7f91e226
MD5 2a9b3614aa090ae94442669d589640fd
BLAKE2b-256 e9ff975302162d8df7b2ff4a5ca32661c0bc72bdc0b906f7a2e9a41e3bf7f3b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 7c8b3adb3fdd10012f89c9a521beb948255a7fb83de1097b572b8e0fa27ed4d0
MD5 c2ce34d3bf8dd0be4e9cbc801c297ac5
BLAKE2b-256 b321eb98add45e5438c345a081233f9aa5957a0392f4e6496cf4ed677172efcc

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4172e479661a7891d55c9df848ea85f7e6caf436c951dbc25d65dad9518a2bf1
MD5 f6f0bc9ebc64626b63e4e13b8a7757f7
BLAKE2b-256 99e3b724d75b2b8f10d69e8ec889894697cf837bbe3fe8a1a3978ce69b2ea628

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 7d201bdc5695e4ff316164cc1a09f2a87e29e28d7c0e080c8ee8c9473d6f3a97
MD5 6b065a822af5c9bcaf88c539a124d323
BLAKE2b-256 057ff233318d33bff6987eecd19c61470addc2ad5d07d36f51d7b35a8c273a57

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 99d2fa4dbb2536b0e5062043142b4cbf2fc3425f1375c0d0843b0730e1d51336
MD5 df6bf872b2b7f79daf31f19335c0fa55
BLAKE2b-256 7e61f8e13fdd8a23a08640f3ffeccf677e218de61cc71b477b1969b58f84bb40

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 17f9a425e1c85c0085312638f3c482d1d69ccdc9a99305a964879c0d0ef4d1c6
MD5 4801151f750d9e9e7f0edb14d964656f
BLAKE2b-256 4070382c396e915ad5bbf0af03f8959a6234ade0bdb7363b60affa95a59c7ba2

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ca1921d27a74dd6f5e129efd0a34154ef702d1d991f7a544d4fc72dfcdd6b92
MD5 c2eaf31b56319275dc58b8042d78dc93
BLAKE2b-256 ba6fb37159e58be184f9ae765bcefe2af6d9942f3d9935e4f1cc552ef6972f55

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on aaron-ang/opthash

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

File details

Details for the file opthash-0.4.0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for opthash-0.4.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b3e7669122df64ffc173c9c0624eccbef52cecb454eea4c3df6ae909d4aa5010
MD5 08c66db2f231a115d3312b429b8051cf
BLAKE2b-256 9c7b53ccc4c86e7942c301c747541036c14eff074644537410a90b1102f71c1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.0-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yml on aaron-ang/opthash

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