Skip to main content

Rust implementations of Elastic Hashing and Funnel Hashing with Python bindings

Project description

opthash

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

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.3.0.tar.gz (180.9 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.3.0-cp314-cp314t-win_arm64.whl (225.4 kB view details)

Uploaded CPython 3.14tWindows ARM64

opthash-0.3.0-cp314-cp314t-win_amd64.whl (239.2 kB view details)

Uploaded CPython 3.14tWindows x86-64

opthash-0.3.0-cp314-cp314t-win32.whl (219.8 kB view details)

Uploaded CPython 3.14tWindows x86

opthash-0.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl (589.4 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

opthash-0.3.0-cp314-cp314t-musllinux_1_2_i686.whl (623.2 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

opthash-0.3.0-cp314-cp314t-musllinux_1_2_armv7l.whl (657.9 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

opthash-0.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl (553.4 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

opthash-0.3.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (381.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

opthash-0.3.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl (408.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ s390x

opthash-0.3.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (502.0 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ppc64le

opthash-0.3.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (383.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

opthash-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (377.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

opthash-0.3.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl (410.7 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.5+ i686

opthash-0.3.0-cp314-cp314t-macosx_11_0_arm64.whl (347.9 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

opthash-0.3.0-cp314-cp314t-macosx_10_12_x86_64.whl (359.9 kB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

opthash-0.3.0-cp310-abi3-win_arm64.whl (228.3 kB view details)

Uploaded CPython 3.10+Windows ARM64

opthash-0.3.0-cp310-abi3-win_amd64.whl (242.4 kB view details)

Uploaded CPython 3.10+Windows x86-64

opthash-0.3.0-cp310-abi3-win32.whl (225.0 kB view details)

Uploaded CPython 3.10+Windows x86

opthash-0.3.0-cp310-abi3-musllinux_1_2_x86_64.whl (593.7 kB view details)

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

opthash-0.3.0-cp310-abi3-musllinux_1_2_i686.whl (629.2 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

opthash-0.3.0-cp310-abi3-musllinux_1_2_armv7l.whl (662.6 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

opthash-0.3.0-cp310-abi3-musllinux_1_2_aarch64.whl (557.2 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

opthash-0.3.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (386.9 kB view details)

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

opthash-0.3.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (412.0 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ s390x

opthash-0.3.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (505.2 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

opthash-0.3.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (387.4 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

opthash-0.3.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (380.7 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

opthash-0.3.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl (415.3 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.5+ i686

opthash-0.3.0-cp310-abi3-macosx_11_0_arm64.whl (349.1 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

opthash-0.3.0-cp310-abi3-macosx_10_12_x86_64.whl (362.1 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for opthash-0.3.0.tar.gz
Algorithm Hash digest
SHA256 d99d8d7155bc2a8b40d593a0d115fa25420b2d04e5cada7bd0e3133c0cb1087c
MD5 8bf59ea616cedd41138d47c20f6639d9
BLAKE2b-256 a58984f93b0aab04d4072f7e1b5f7808eb4a1f57dcacf673214002e29cd6ef34

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: opthash-0.3.0-cp314-cp314t-win_arm64.whl
  • Upload date:
  • Size: 225.4 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.3.0-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 36b2b51d9ee253b07c4e55b83f638a7e84164e1ba06a0e80d3e80678f1750816
MD5 c37d68f7a0126d3b5d9783b000350a65
BLAKE2b-256 72fcd2fcfc20e876ce9cb0689526df45652d04b21bb51ba7b10feb26bf6fb016

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: opthash-0.3.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 239.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.3.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 5c5e381268a53854884531fe4768c940338c2975dc9859e41e98fd205b73a526
MD5 8b3275cdde7e166109e1c4b8a9ca0920
BLAKE2b-256 c2759e6aa322cf62f1c89fecda87a7e7e5d933426fc7fd7b8ad189f21fefa50d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: opthash-0.3.0-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 219.8 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.3.0-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 da4d24aaeed57b2d517a02b93d295a79748ced2e13941951b7e8c3e8d47b6f8b
MD5 92fb225dcb20f736b05fdaa910131167
BLAKE2b-256 a10e2989d2f562a516b00dc41da7ab88756114da80aedf40d77beacd5aa9153c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9e01c2c762fc75c5d5badf40f537a4e69525a952c794cf506562bcf5ed2d8481
MD5 181db347011f865855e179a18b628288
BLAKE2b-256 8e4dc33be7aaff0e266c3bfd64f82a4c81d3135441c940438ae46254d32cd257

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7230848ad7b0fc4fb1175fd88e526dbca84a5a90d590a132633961f35a02faa3
MD5 bc277d3fa544e608dd2e861684cc6084
BLAKE2b-256 189f3e486886578d735f86443584743d06bd6267038b117c0c891b2a01ee1dc0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 9d6b9807583c0c1426581522563e045c8fbe5994d2f3aac3d2abf7ecfc54f101
MD5 e5a6f17d995b9acdde9d222b313c6bd0
BLAKE2b-256 9dc014ea15c050ab3d222bda0895ee70053360b556e118eb83dbb110c14018ed

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9be5e067167ee5f0f4ed79ddf18e964ba9f76f15293e1ebe6e6b8e231e0f6cab
MD5 912c27d44f5789664827e92904e1de3d
BLAKE2b-256 e6455bb41684bbe60353d01c5988a2a1343c39d3f9ae34189520ab8e76cf437f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f6bc60be9372d7fb12e5372a049236914a07124ffee0cdd3111adcb1a114f672
MD5 b8692e4abc196bf888ce5e516b4c8ce3
BLAKE2b-256 34717d0c3e10ea489c9287a73789689da5f1486c874208d893b796a391ce5d61

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 691395e423e46fefef98b67aac3046726567a0f1a5854fb003993aecf04adb3e
MD5 cff6a530886e623344207fa4cdda7f64
BLAKE2b-256 6e3e799e6bae0163396b30b57714a363eceae26da8c8a750142e56f02c6c295d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 e1ab8f781f0363d5575c6785ed97010f45da4dbe12a0195d622c9ca458a56628
MD5 16acb9474df1ceeab5fb67405769cffd
BLAKE2b-256 1a845eea22c229b4621ef110daa57884ae07f5c1469c1434a991495f5b819060

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a55a91b8ce5ce6f2dc9603223cd60f7331235cbbd367daaeca7d97a250ae18e5
MD5 aee21d5dbd60556b605757128650489b
BLAKE2b-256 ca64159176073fc28efa89895c5bd819bd3fc180ef3f035313bfa68c2f35e039

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c926dc0162fe5e7c93f1872d39384a283a6f1f240ce70e10388c4439ab76377d
MD5 e7f92d6915d6d0460f580e0f620347d5
BLAKE2b-256 46d000bc09375d042d4000adec428901d08351c9c7be011e020cfe2ea3d87c6f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 87dbfe2f9d0949f690d1e9c71ab93c6bb48a0758af69bad39888b947961fba6c
MD5 dd233a02140fc598b68bc8305c8309fe
BLAKE2b-256 f0664721c92829bb494d71f897a89631a3fb1a01dd81d25e10c28a770bc7659e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3e1f4ec883d42942fb65a1c60468a8aa19a97ddc96c1dfec23f178bbe39cd154
MD5 bd638bde75f4b5623f3334aa3a602559
BLAKE2b-256 5ac31bf8ab27d52bf58cba3e8259d823460eb8b61ed626c332d2eb5504bc7e6d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4ea732944ec6b8fd1532e464d94aa108d9d25e1701aef6748ab5a4b2750bbcb4
MD5 f3ca6ee599c8b5d1d3459ff709728d58
BLAKE2b-256 29e90425f3c5d7e9078b2df0a9c8e140e30e52b8c4842adc1d47f931d3002195

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: opthash-0.3.0-cp310-abi3-win_arm64.whl
  • Upload date:
  • Size: 228.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.3.0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 234a16985eeb4374772a9bbfe7e3bbf6d74996d352f8dea4f8b96df7337d4bee
MD5 1cdb364d34cf7af263c375596b0939df
BLAKE2b-256 cc8dda943400101c27b77cdf763f0b0e6f3186e77d7ea8b331c71cf04d943901

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: opthash-0.3.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 242.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.3.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c704b34d9ad6eab4c32ea98811de7456e6bbef223929334e27e52bb29aceaba9
MD5 a5c21e7e3604f43ee60c48fd9d241baf
BLAKE2b-256 d09e12bd74c880dd38088460ec3b8acd9a817a41d5c0c607fa27bd0b475e1d35

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: opthash-0.3.0-cp310-abi3-win32.whl
  • Upload date:
  • Size: 225.0 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.3.0-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 f42111eb15b276b84be99da8da12966dc258fe3ad96e869b8d1882d78ea8d858
MD5 4dcb3aeb976fd7a880c341c2feff80fe
BLAKE2b-256 9636aec31732006c0b6539856b4fe6f6533a53ca997841c5d034e5c8ebffac9e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9d5987b2d777095d3a19c25a7071d0e764421503c2c612f3fba178c1472a0618
MD5 ee51cf11ca9f66d812deec2e8792bc38
BLAKE2b-256 2f543e0382802598fe0ea88b15ea62d7be37ee40f0346ba437ed6f53edf6393f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 bef1f4d86751a1949c5d7f6933371643ad7f18caa405656e702ccf99a221ea96
MD5 10c3ddf5687db46dc07cfdc513077062
BLAKE2b-256 428f971a22dae067b9233e6b6152949e1dbc06861efc7be86338864df6c7d029

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 1454a7f9dbba52fd6e6dda8f9f49dcb5cf566afc3d35a458dbd778bb7a3db5dd
MD5 ddbea12e88c1a99e23d86906a6014a61
BLAKE2b-256 b0d9f15f63361d6172a26efc70a8b481c50fa44afc0fb5c4b43ea05635ad281e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 453a6d266c64f59ac7f841a24f547fda2d3e7e02118603d6de0654d4eec5dbbe
MD5 1696be347ddd2aa52c84c80bd24fb8de
BLAKE2b-256 214ce127a5340592567953d89de04b6836f93a22f43db5f0e1b298b13a06b2d4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7a603eda7d3fa310fed19fc65591401bada51dec3a39d811e63a677fad8492d0
MD5 b41b8838e75300c79be0fc6a1d933bc7
BLAKE2b-256 4d3c07d876cd7de47480df82a0ee455b896e34c162441d2505e2a5d35df3a6d8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 13881e24733795b54c0d1ab0c5d47a5403d463a9420f7d27807c4bcfc7e82efe
MD5 00f976db78fa67dcd8d986eb59c96a45
BLAKE2b-256 ad37d5aa814f7f66471cb98b482655f6279162f7000c8b5e148e53a7f5fc4684

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d67c4450158b214e5002c42ef272298cad864fc287d91005ccdcd0af84d02396
MD5 ec10116a0ca1b0351fdf64d0640aafff
BLAKE2b-256 8810373603ffcbd47ecdcabead45542144c2a77a3349a37e2321d3f2a4685840

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 5dcee887f60924d26e50d5d4548b6ca06fb49a0ffa2aa90549a29e91cd838670
MD5 c56b5c46aa2ca4533011882e76b77a37
BLAKE2b-256 ca2fca15c0a57d3457f18227a02c91937806f4527e4000bdf3ee71ead563705f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2b389244f390acfed5c4dd01cb273cd0d70f630949e0f9cbfc816c52b63ce4e4
MD5 b2804c73fa578a1efa2639db14939ce6
BLAKE2b-256 52af5cee5ecea398058d0c3ca4b4efca873298bdf44ccb61acdaf3aecd68eb10

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 5c89c41beed267fe170151147b245ba2bf5ff4a853d3a695bd4994ff77a887f4
MD5 882e2bdfb356e0c3cb3a00d56f0081a5
BLAKE2b-256 5c41988c045d87bcda812d679e5ebc0b5d871866096b6c13ec5c6f43b680b84d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a80d2d71d203161062999cb2e02a2775b9e3916f8a939bc138c33231f94923a6
MD5 fa3086c7e0c4f7b1c132f398bbda6aa5
BLAKE2b-256 9e0590e1d1c9a8b1ca4528ede7e8faeb7ca2b25d1b9a0a72a04f001b85ac5653

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opthash-0.3.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6ff487e353276da9ac481dcd84ee69b88c5c568a2d00d1478fb6b1c37adf9fe7
MD5 e84e936d73d4067f73b41e3bf265ca61
BLAKE2b-256 4509bb6c70de0be3161730e4a5490b3e9aedd6805169808182f065601512b3d2

See more details on using hashes here.

Provenance

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