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 with 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, FunnelHashMap

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

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

m = FunnelHashMap.with_options(
    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.1.tar.gz (190.6 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.1-cp314-cp314t-win_arm64.whl (229.5 kB view details)

Uploaded CPython 3.14tWindows ARM64

opthash-0.4.1-cp314-cp314t-win_amd64.whl (243.2 kB view details)

Uploaded CPython 3.14tWindows x86-64

opthash-0.4.1-cp314-cp314t-win32.whl (223.9 kB view details)

Uploaded CPython 3.14tWindows x86

opthash-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl (596.4 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

opthash-0.4.1-cp314-cp314t-musllinux_1_2_i686.whl (630.2 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

opthash-0.4.1-cp314-cp314t-musllinux_1_2_armv7l.whl (665.6 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

opthash-0.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl (557.6 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

opthash-0.4.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (390.3 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

opthash-0.4.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl (417.4 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ s390x

opthash-0.4.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (508.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ppc64le

opthash-0.4.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (390.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

opthash-0.4.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (381.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

opthash-0.4.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl (415.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.5+ i686

opthash-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl (356.7 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

opthash-0.4.1-cp314-cp314t-macosx_10_12_x86_64.whl (369.6 kB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

opthash-0.4.1-cp310-abi3-win_arm64.whl (233.4 kB view details)

Uploaded CPython 3.10+Windows ARM64

opthash-0.4.1-cp310-abi3-win_amd64.whl (247.4 kB view details)

Uploaded CPython 3.10+Windows x86-64

opthash-0.4.1-cp310-abi3-win32.whl (230.8 kB view details)

Uploaded CPython 3.10+Windows x86

opthash-0.4.1-cp310-abi3-musllinux_1_2_x86_64.whl (599.4 kB view details)

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

opthash-0.4.1-cp310-abi3-musllinux_1_2_i686.whl (635.0 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

opthash-0.4.1-cp310-abi3-musllinux_1_2_armv7l.whl (668.8 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

opthash-0.4.1-cp310-abi3-musllinux_1_2_aarch64.whl (561.2 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

opthash-0.4.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (394.5 kB view details)

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

opthash-0.4.1-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (421.1 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ s390x

opthash-0.4.1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (512.2 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

opthash-0.4.1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (393.4 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

opthash-0.4.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (385.5 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

opthash-0.4.1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl (419.9 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.5+ i686

opthash-0.4.1-cp310-abi3-macosx_11_0_arm64.whl (359.0 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

opthash-0.4.1-cp310-abi3-macosx_10_12_x86_64.whl (370.5 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: opthash-0.4.1.tar.gz
  • Upload date:
  • Size: 190.6 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.1.tar.gz
Algorithm Hash digest
SHA256 330e6b7d49609cbecc9dfaadd56ae52780249e2c84b5e2407178e17a176a8425
MD5 129b94a53950d9dd70c61a92e0e62084
BLAKE2b-256 4916d8afbb561e05c8b2545e31b19b608f87fb9df5cf7ccb018b5c2363a07519

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1.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.1-cp314-cp314t-win_arm64.whl.

File metadata

  • Download URL: opthash-0.4.1-cp314-cp314t-win_arm64.whl
  • Upload date:
  • Size: 229.5 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.1-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 2db2f7e38bc640dc5b32712a4c1053d59f1ab913707568fb7c5b0808717b5880
MD5 2096160c91810a3dc1370863352c4f70
BLAKE2b-256 f5c83f577d878c24345561f5217d0c69ee382e97dc153b22fcc4349ffef8206a

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: opthash-0.4.1-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 243.2 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.1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 26c192fe3ca1443b0fb0ec4c478d4a2c894e7a58c0bd124a968b85ccf88168e9
MD5 dadddd862be69d28320fe09c6f807ee3
BLAKE2b-256 3871432796ddb30478239f04249d2d639da6bf4ba428f18245cea8c3916e1476

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp314-cp314t-win32.whl.

File metadata

  • Download URL: opthash-0.4.1-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 223.9 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.1-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 5fdf48309c8ee06a99f02058ccfdfc459d282a240475a40073bbd4f232fc34bc
MD5 34fce950c3069e4b2a1425e3bda1066a
BLAKE2b-256 d3c2d3a86f3acb864e8c46144c1efe09ff2de745865fbc029d9aa33b608bd65b

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 685f8d59f5f752c68cf9a15e0fab6bd80556e804c95a8667b262d259d555efe9
MD5 bcacce897a00b00fed7d2d23dcf72f95
BLAKE2b-256 94e65bf3ed52578a9e0c601e8c1098d13739d5ddc3b8ffceeeb100cb6afa4d40

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp314-cp314t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 eab43da87ac85960be68285d17a685e097e2f5524269247257109f6f7f09e000
MD5 9c7b63964711570ec62f370cc136b31b
BLAKE2b-256 5631c138fb8273f06197356e2e948bbe81919ebbef696c30e40495d5a40958d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp314-cp314t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 fe2d2821945e3072ea92b4cfb802cd880ae1dc3c1141b89790e91ea7dd9beceb
MD5 313f3124fdf686d705fa9026627de21b
BLAKE2b-256 ff9aafceed8d0af51fd647b9b2326c3f64c61d092380fda5dad180871c8a2c8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1032e96de636721330a6c04a3b7c3957d9f39aceb6c7e3d9b679ba39d40aa36b
MD5 86ad8c712a3337f90844cda3e0fcd4cd
BLAKE2b-256 3256a5cbc9aaadfe0fd052759809a792563a804fac3f5f92c5462052b88074b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 66fe20e6ef15e33659e4450577b6b84ba71a92ae3fe4896e182580c782e6e678
MD5 9e4f4db7daf1a41ad3681d38d40a3414
BLAKE2b-256 58c64ad0c4a6012fb5a2fab3ae1e8419c15c07d76c70749157684a8b80651b1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a8384f0894758e1f4bb66dc4abb5c97e3071c88adf9b78fb070807d9304956e6
MD5 793dba277a68a28b4701f109b75edd6a
BLAKE2b-256 a7b12dd74e49c2ef22dba61101f89382fc12ac7adaf2a108fce89b2c39eb6533

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 9178f19d9c60fc09bc8ab63750245f6976f024827b3c30ccbe3885a5da981cad
MD5 d187801f11ec8a000230eda416c555ae
BLAKE2b-256 336d6427318af22980238fb9c75cd42a1794815ce735cbce178a6ab6b1106532

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 1119fd26a8e97d7c97fc05332c508cc3ddb9c505ca67db4eb820bcd920fec21a
MD5 9570eb3f924963cd2437dc5c6d124040
BLAKE2b-256 919da0e91f5cfea675c60ffe401b993c585b3871f1172a8e02ded3b209166b89

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0d253d11b772d11bfcd601cd9051328ff7be4523232dea455f9dc27e2c82fbc2
MD5 283d05b7a48cc2cdd1a8310a4bc5082c
BLAKE2b-256 d2e4def141a82f7a8c42250d295c71a579ef1c527efcee19df25af05e5db92b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 c9ddc549587cd5a709dddd5ace549014879a79aef00756177be60335da89d510
MD5 54225eddc69b756515f44ddd20315f4c
BLAKE2b-256 80053eb30bafc9b47f739669fe765c980685095ba2d7bb9c55b71d442709cbab

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3c020632c234fd809a373660a3bd3a6081bda346e357830d89b65ba6500ec650
MD5 9020fe7e4e6a89851a439ad35641ffb7
BLAKE2b-256 e281e319536cfe502dbebc93739516ec19f599a2e654056acdd9a9dd160d0763

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp314-cp314t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eec01db8a7a98bc6ba0d120b63fb72544df3544b20995159632b94a0cde5fbfe
MD5 8f5d7f157d7bff2f2ada9f9da20044b9
BLAKE2b-256 8330a8272b79654fdfbe8c0e7031ae775fa31c252b1d3fc38119c1ae41b98293

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp310-abi3-win_arm64.whl.

File metadata

  • Download URL: opthash-0.4.1-cp310-abi3-win_arm64.whl
  • Upload date:
  • Size: 233.4 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.1-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 be5c63d88a8dc1075dcb0cb98dad95545177919897ccdd16fb8c8911c13a8d79
MD5 f04ac055d454c210486e1557ac27bcd2
BLAKE2b-256 8eec258b9f0fd1def6b226c0f8124e7b9759de6aa229de438e03370ab4a592b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: opthash-0.4.1-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 247.4 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.1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 fdcabc5fe5e3eea7176a5b653f9713741355016a9c651bf3ef135336f46d6fde
MD5 217f93fa4a142179eb4140568e085dfc
BLAKE2b-256 4a941e15b0d71a7b47c0e30ca20a3fd31967fcbeb4ef57fce731bf9ba912fd18

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp310-abi3-win32.whl.

File metadata

  • Download URL: opthash-0.4.1-cp310-abi3-win32.whl
  • Upload date:
  • Size: 230.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.1-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 6996630c98a9e8c1ccc4b29d2f7e65c3c472f6f1de48200b7b9802d23c2b8f2c
MD5 f0e112ad43933eed516177fee0f08cb7
BLAKE2b-256 211fbe42f2cdb218237062e2fb356ea0c849c469af85e2d0fa8d7efd0c17ffda

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 852424fe5f054f39b897222ac64d2f0b778c562a51eab431c067ce7e7bee0c8b
MD5 26cafbf4d03f6d61da8e3c2aa9dbb89a
BLAKE2b-256 03711909742434ccbefc85547b38d1d0c67bbadfd1cce536c59c1c612397cc4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp310-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 795e394dff45297458a8d315c76f7af95a400d1f84586f6e87a0e2f6ae2403c0
MD5 023a7f2fa48937237328f391a93dcf58
BLAKE2b-256 d31d5482af449770d48fbfdc970a53f370c12433d8765df6ddb5ee7fe9750d4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp310-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 e1761e49be174a5b4e0497796ae80a8ef805db2cc1777444eda026c1890d3603
MD5 1e8a91e394f5e62308e3b88c02e66c2c
BLAKE2b-256 7cc78d84cb0039a1e0796c0d6e7fecf5a200e6eba86e4b4737109114da22d761

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ffbe6f4474405e3cab47d2594f7c2c43bf599037becba77bbf866bcd265a97d8
MD5 1cee6a87d966e7a948d818851d5a6f79
BLAKE2b-256 74d56b7bd759db32313a4843309b9b9f5097f6586d5f1086579815d263dffd2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c07a2bfde427a85d57be8b06c564c9ec3f60c7cc9fc09fd816c853023fc8d1b0
MD5 c6682ead2228ea99b0396649979b320c
BLAKE2b-256 d7610c4ac97390269b2dc6ddba46aa33717d3c835b02800f560a73dcd4249fb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 6c307473f11322e9c1f30ca95a7f290888e78df8e5d3f24510352fb9fe3c276a
MD5 91534df8ab11316e5413dd9b067c6af8
BLAKE2b-256 65c128db70204e2b541fa3229418810742ccdb9b848bb1b54b2f9653faa13922

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 40aaf9b337445791eaaaf9b84c7131dcfff3a4c1675fd536ef76498ce09696a0
MD5 0629b8e49a3e570ccdecbe6797a8bbdb
BLAKE2b-256 2787272cd423ff20394f615b74802292785e50639897b9b530f141c211a037b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 6550ee940c01061d5d404ff0a06049f274576a47e5633f12ae4bd0a3f75ffc1f
MD5 6ea21832aa879ee3255334837839592e
BLAKE2b-256 aaa7d3ce569d372cb6d72019fba1224e7839f2d2a1f0d675d00d88c2d375d588

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bb363f829b86ac2f8729d3c8b2cc1dac708b72695a58af846a263a44e21f3dfc
MD5 1bfd2b37076110a3456949ca5535fc4b
BLAKE2b-256 05132eefde86fc1bc66294b3ff2de0130007e412949b072f33f9d3e51761ad1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 e56cdcdbcba844689f3aef126425ce8ab4b5d16b81249dbd1ffebff75556cf98
MD5 051b6fed3ef94ac678e891fcd5d161b8
BLAKE2b-256 443344f9ddff4dfa9f782051bf2667a7f3f40a8ba48d5aeeacd1292d9b85f948

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eb9ceb5dc72463815d6f033861cfa3fc7f66ffdac118f3d4f3748b9b556d29aa
MD5 75001de6487dc0371aad5fc28653b28a
BLAKE2b-256 20315051b87029a4dc6f0b9be2819cf93453d1eabb7128de8a549b6aa63d2afb

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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.1-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for opthash-0.4.1-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cad4be1d4d1910b3191778d18feae3762d16b45313c35fe0369143b5431869f6
MD5 0f6873a74fc7681cc582ef809b310b90
BLAKE2b-256 4b5338dc414e97dcdcf2140ed17215f9421ef3371490dff8d792bb429f3ac940

See more details on using hashes here.

Provenance

The following attestation bundles were made for opthash-0.4.1-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