Skip to main content

Fast, immutable, compact map from strings to uint64 (binary fuse filter).

Project description

fastconstmap

License Test

Fast, immutable, compact map from strings to 64-bit integers — for Python.

fastconstmap is a C implementation of the binary fuse filter construction (a static perfect-hash-like structure), exposed to Python. Given a dict[str, int] at build time, you get back a lookup object that:

  • uses ~9 bytes per key (or ~18 with missing-key detection),
  • answers a lookup in one xxhash call plus three array reads,
  • is immutable and serializable to bytes / a file,
  • exposes both a single-key API (m[key]) and a batched API (m.get_many([...])) that amortises Python-C call overhead.

This package is a C port of the Go library github.com/lemire/constmap. It vendors xxHash (BSD-2) for string hashing.

Installation

pip install fastconstmap

To build from source you need a C compiler. There are no Python runtime dependencies.

Usage

from fastconstmap import ConstMap, VerifiedConstMap

d = {"apple": 100, "banana": 200, "cherry": 300}

# Variant 1: minimal memory, no missing-key detection.
m = ConstMap(d)
m["apple"]                  # -> 100
m.get_many(["banana", "cherry"])  # -> [200, 300]
m["grape"]                  # undefined value!  use VerifiedConstMap if you care.

# Variant 2: dict-like, detects keys not in the original mapping.
vm = VerifiedConstMap(d)
vm["apple"]                 # -> 100
vm.get("grape")             # -> None
vm.get("grape", -1)         # -> -1
"grape" in vm               # -> False
vm["grape"]                 # raises KeyError
vm.get_many(["banana", "grape"], default=-1)  # -> [200, -1]

# Either kind can be saved and loaded.
m.save("mymap.cmap")
m2 = ConstMap.load("mymap.cmap")

# ... or as raw bytes.
blob = m.to_bytes()
m3 = ConstMap.from_bytes(blob)

Choosing between ConstMap and VerifiedConstMap

ConstMap VerifiedConstMap
Bytes per key ~9 ~18
Lookup of present key value value
Lookup of missing key undefined garbage KeyError / default / None
Best if you always look up known keys you need dict-like semantics

The false-positive rate of VerifiedConstMap (a missing key wrongly reported as present) is roughly 2⁻⁶⁴, which is negligible in practice.

Keys and values

  • Keys may be str or bytes. str is encoded as UTF-8 internally; lookups must use the same encoding to match.
  • Values are 64-bit integers. We accept anything in [-2**63, 2**64 - 1]; negatives are stored via two's complement, so m[k] returns 2**64 - 1 for a value of -1. (To recover the signed reading, reinterpret bits yourself.)

Keys must be unique (Python dict semantics already guarantee this). Construction raises ValueError in the extremely unlikely event of an xxhash collision (~2⁻⁶⁴ per key pair).

Sharing a map across processes (zero-copy)

A map's serialized form is its in-memory lookup array (plus a small header). That means it can live in a multiprocessing.shared_memory block and be opened by any number of processes without copying — every process reads the same physical pages.

Three methods make this work:

Method Purpose
m.serialized_size() bytes needed to hold the serialized map
m.write_into(buffer) serialize straight into a writable buffer (no intermediate bytes)
ConstMap.from_buffer(buffer) open a zero-copy map that reads directly from buffer

Producer — build once, publish into a named shared-memory block:

from multiprocessing.shared_memory import SharedMemory
from fastconstmap import ConstMap

SHM_NAME = "fastconstmap_demo"

cm = ConstMap({f"key-{i}": i for i in range(1_000_000)})

shm = SharedMemory(create=True, size=cm.serialized_size(), name=SHM_NAME)
cm.write_into(shm.buf)
# keep `shm` alive (do not close/unlink) while consumers are running

Consumer — attach to the same name with no copy:

from multiprocessing.shared_memory import SharedMemory
from fastconstmap import ConstMap

SHM_NAME = "fastconstmap_demo"

shm = SharedMemory(name=SHM_NAME)           # attach by name, no `create=`
cm = ConstMap.from_buffer(shm.buf)          # zero-copy: no per-process copy
cm["key-42"]                                # reads straight from shared memory

Choosing the name yourself (rather than letting SharedMemory generate one) means consumers can hard-code it or read it from config — no need to pass the auto-generated name around. Pick a unique name; creating a block whose name already exists raises FileExistsError.

Notes and constraints:

  • from_buffer does not copy. The returned map holds a reference to the buffer; the buffer (and, for shared memory, the SharedMemory object) must stay alive and must not be closed or mutated while the map is in use. Drop the map (del cm) before calling shm.close().
  • The map is immutable — the intended pattern is write once in the producer, then only read in every process. Concurrent readers need no locking.
  • from_buffer verifies the magic bytes and the FNV-1a checksum, so a truncated or corrupt block raises ValueError rather than returning garbage.
  • Requirements: a little-endian host (x86-64, ARM64, …) and an 8-byte-aligned buffer. SharedMemory.buf, bytes, and bytearray all satisfy the alignment requirement; an offset slice of a buffer may not, in which case from_buffer raises ValueError — use from_bytes() (which copies) instead.
  • VerifiedConstMap supports the same three methods.

from_bytes() remains available when you want an owned copy (or need to load on a big-endian host): it copies the data and the resulting map owns its memory independently of the source buffer.

Benchmark

On an Apple M-series CPU, with 1,000,000 string keys (key-{i}-{hex} shaped strings):

=== fastconstmap benchmark — n = 1,000,000 keys, python 3.14.3 ===

Construction:
  ConstMap.__init__                0.145 s
  VerifiedConstMap.__init__        0.129 s
  dict(d)                          0.005 s

Memory:
  ConstMap.nbytes                 9,043,968 bytes  (9.04 bytes/key)
  VerifiedConstMap.nbytes        18,087,936 bytes  (18.09 bytes/key)
  dict (table+keys+values)      118,380,958 bytes  (118.38 bytes/key)
  ratio dict / ConstMap          13.1x


Single lookup, 2,000,000 ops:
  dict[k]                         397.7 ns/op  (0.795 s total)
  ConstMap[k]                     179.3 ns/op  (0.359 s total)
  VerifiedConstMap[k]             213.2 ns/op  (0.426 s total)

Batched lookup, 2000 × 1024:
  dict comprehension               31.9 ns/op  (0.03 ms/batch of 1024)
  ConstMap.get_many                14.6 ns/op  (0.01 ms/batch of 1024)
  VerifiedConstMap.get_many        16.5 ns/op  (0.02 ms/batch of 1024)

Serialization:
  ConstMap.to_bytes                0.009 s  (9,044,004 bytes)
  ConstMap.from_bytes              0.009 s

For better performance use get_many when you have an array of keys to look up at once.

To reproduce:

python benchmarks/benchmark.py 1000000

How it works

Given n (key, value) pairs the algorithm:

  1. Hashes each key with xxhash3 to a 64-bit value.
  2. Maps each hashed key to three positions h0, h1, h2 in an array of size ~1.125·n, using overlapping segments.
  3. Finds, via peeling, an ordering in which each key has an exclusive cell among its three; walks that ordering in reverse, setting each cell so array[h0] ^ array[h1] ^ array[h2] == value.

Lookup is one xxhash, three array reads, and two XORs.

References:

Thomas Mueller Graf and Daniel Lemire, Binary Fuse Filters: Fast and Smaller Than Xor Filters, ACM Journal of Experimental Algorithmics, Vol. 27, 2022. DOI: 10.1145/3510449

License

Apache License 2.0. See LICENSE.

fastconstmap vendors xxHash, which is licensed under the BSD-2-clause license; see src/third_party/xxhash/LICENSE.

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

fastconstmap-0.6.0.tar.gz (91.3 kB view details)

Uploaded Source

Built Distributions

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

fastconstmap-0.6.0-cp314-cp314t-win_amd64.whl (30.8 kB view details)

Uploaded CPython 3.14tWindows x86-64

fastconstmap-0.6.0-cp314-cp314t-musllinux_1_2_x86_64.whl (111.2 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

fastconstmap-0.6.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (113.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

fastconstmap-0.6.0-cp314-cp314t-macosx_11_0_arm64.whl (27.9 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

fastconstmap-0.6.0-cp314-cp314t-macosx_10_15_x86_64.whl (27.8 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

fastconstmap-0.6.0-cp314-cp314t-macosx_10_15_universal2.whl (44.3 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ universal2 (ARM64, x86-64)

fastconstmap-0.6.0-cp314-cp314-win_amd64.whl (29.9 kB view details)

Uploaded CPython 3.14Windows x86-64

fastconstmap-0.6.0-cp314-cp314-musllinux_1_2_x86_64.whl (102.2 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

fastconstmap-0.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (104.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

fastconstmap-0.6.0-cp314-cp314-macosx_11_0_arm64.whl (27.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

fastconstmap-0.6.0-cp314-cp314-macosx_10_15_x86_64.whl (27.0 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

fastconstmap-0.6.0-cp314-cp314-macosx_10_15_universal2.whl (42.9 kB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

fastconstmap-0.6.0-cp313-cp313-win_amd64.whl (29.1 kB view details)

Uploaded CPython 3.13Windows x86-64

fastconstmap-0.6.0-cp313-cp313-musllinux_1_2_x86_64.whl (102.2 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

fastconstmap-0.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (104.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

fastconstmap-0.6.0-cp313-cp313-macosx_11_0_arm64.whl (27.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fastconstmap-0.6.0-cp313-cp313-macosx_10_13_x86_64.whl (27.0 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fastconstmap-0.6.0-cp313-cp313-macosx_10_13_universal2.whl (42.8 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

fastconstmap-0.6.0-cp312-cp312-win_amd64.whl (29.1 kB view details)

Uploaded CPython 3.12Windows x86-64

fastconstmap-0.6.0-cp312-cp312-musllinux_1_2_x86_64.whl (102.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

fastconstmap-0.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (104.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

fastconstmap-0.6.0-cp312-cp312-macosx_11_0_arm64.whl (27.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fastconstmap-0.6.0-cp312-cp312-macosx_10_13_x86_64.whl (27.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fastconstmap-0.6.0-cp312-cp312-macosx_10_13_universal2.whl (42.8 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

fastconstmap-0.6.0-cp311-cp311-win_amd64.whl (29.0 kB view details)

Uploaded CPython 3.11Windows x86-64

fastconstmap-0.6.0-cp311-cp311-musllinux_1_2_x86_64.whl (101.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

fastconstmap-0.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (103.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

fastconstmap-0.6.0-cp311-cp311-macosx_11_0_arm64.whl (27.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fastconstmap-0.6.0-cp311-cp311-macosx_10_9_x86_64.whl (26.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

fastconstmap-0.6.0-cp311-cp311-macosx_10_9_universal2.whl (42.7 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

fastconstmap-0.6.0-cp310-cp310-win_amd64.whl (29.0 kB view details)

Uploaded CPython 3.10Windows x86-64

fastconstmap-0.6.0-cp310-cp310-musllinux_1_2_x86_64.whl (99.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

fastconstmap-0.6.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (101.1 kB view details)

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

fastconstmap-0.6.0-cp310-cp310-macosx_11_0_arm64.whl (27.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fastconstmap-0.6.0-cp310-cp310-macosx_10_9_x86_64.whl (26.8 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

fastconstmap-0.6.0-cp310-cp310-macosx_10_9_universal2.whl (42.6 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

fastconstmap-0.6.0-cp39-cp39-win_amd64.whl (29.0 kB view details)

Uploaded CPython 3.9Windows x86-64

fastconstmap-0.6.0-cp39-cp39-musllinux_1_2_x86_64.whl (98.9 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

fastconstmap-0.6.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (100.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

fastconstmap-0.6.0-cp39-cp39-macosx_11_0_arm64.whl (27.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

fastconstmap-0.6.0-cp39-cp39-macosx_10_9_x86_64.whl (26.8 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

fastconstmap-0.6.0-cp39-cp39-macosx_10_9_universal2.whl (42.6 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

fastconstmap-0.6.0-cp38-cp38-win_amd64.whl (29.0 kB view details)

Uploaded CPython 3.8Windows x86-64

fastconstmap-0.6.0-cp38-cp38-musllinux_1_2_x86_64.whl (98.6 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

fastconstmap-0.6.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (100.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

fastconstmap-0.6.0-cp38-cp38-macosx_11_0_arm64.whl (27.0 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

fastconstmap-0.6.0-cp38-cp38-macosx_10_9_x86_64.whl (26.6 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

fastconstmap-0.6.0-cp38-cp38-macosx_10_9_universal2.whl (42.4 kB view details)

Uploaded CPython 3.8macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file fastconstmap-0.6.0.tar.gz.

File metadata

  • Download URL: fastconstmap-0.6.0.tar.gz
  • Upload date:
  • Size: 91.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastconstmap-0.6.0.tar.gz
Algorithm Hash digest
SHA256 51bdc7e0ba16865066bda17e8712b43d6a2febc912586aad459b0b4ee9906f6a
MD5 1c1fd015a769db902b03981b1fd60b3f
BLAKE2b-256 aa9740e9c18d324330fa12445824d463b1178a6165b808c10f851ec3bc3e3752

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 767c3826ec4c7ab99b4eb99822092dc9762f3993e101b0ac98e62ee1392c9659
MD5 1943e76f348176535f72b6339c750c81
BLAKE2b-256 1c675a5b15f35e3332a57ef760119cfdbd26685e800c79f71bb573ae2526a5cf

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a3dbeb02f6d8624c567787d5f3d97d372af9f44c86a2eaf0dcbd705020b4531e
MD5 79267ffdfdfa295d7369bbb162facffd
BLAKE2b-256 3bf2af8ee9bcdb453c7f2708d6a9fd52350487e361210bc36f8551b90cbadd6f

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2ddf4b6d684828a5ab347293657e157ecf16e2feb8b0b7f527c4c1e3cc4fb019
MD5 8a79cc560ed470177f39025a3bf78454
BLAKE2b-256 f2c72d923e208eba6894c21622c357d776984869fc7fd51643a3642d7701e905

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6aa6c29fbeabb4c4c172c97c6a22b23dfe47deac5b20394ec54ab8a074afc930
MD5 524e662ebcdf99fe506e8b7778a8df7b
BLAKE2b-256 4fc614becabe8136fc15c80964c71d7222e0c9d6b735192b38c25602bd52471c

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 bb149c4b9d585c113b6875ec03ac32cefbd0b9c86855dffbeda94179802ee0d3
MD5 282dff85090e12ad9c31e3827b0925db
BLAKE2b-256 edf7a37d3cd525116718efeaeb18301cdcb765026fcb83fb3adbe0a1b9a5f225

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp314-cp314t-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp314-cp314t-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 fb0c3b5f5ad4a53942e827f2a8772c7eb8af394c5605377f9bb1c407afc1d1d9
MD5 c6bae4a9ca1adae6657af5719824211e
BLAKE2b-256 f76384e21f6b9bdfad51fdda78399e16dcfeead24f42984b57db90ab5ff8b451

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 07d923ab95d9c99c4dac09811198df5fe9d620813aa30040a2b1924241bcbc8e
MD5 ece3c5ac094a9e196cf9d4a082281d08
BLAKE2b-256 9c964dfc718cbeb07ec929849f7ade3ad2c6a9c35af247e7bf80c1622ea0f3b8

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e6e56e13984481a9437fe5ce9ffef351834f8356db48ea1e699d76625d5c74f6
MD5 e62267fccee54ff905501eda112e81c3
BLAKE2b-256 b05fd7bc913fc59d1e5562e3a745a11baa6ab97b5646da5315b2ae36d92375e1

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9e541806b74e23ded6374d321b48438595be3aea57cef9be96bd4b3dad11db95
MD5 4dd9daa75ff897bacab522bae861d813
BLAKE2b-256 76f68546537c329d573d9381dae4c0cc7475852816cbccc5b8af868595029134

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0d316ecb57d8da84808e059ff061a14c699b281e528c473ac03a584d903a7e28
MD5 6d60ac94f222302a8cd870bb9b672e2e
BLAKE2b-256 cf5d0711ece99f17d39b611ad03dde22611f985a974554d38121377c19a5ef3f

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 3db9a7a1443d8c5702d130c96ff451536c756a1a2052ac72802ce1af6779b1d3
MD5 ecdbc1659f7db4a0bacb5b1006d5081c
BLAKE2b-256 ed5c9d92fc29906e878e99e40e4613eed6f0318b49f0227056417eebedbbcb76

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 9d3a052dc891d4529a703360372e33cf1b9e33a81399a73f76091217782ceaa2
MD5 ca804b1a7486cb5d7777e2d04fed8bf5
BLAKE2b-256 babb7b25eaf57305a503a56e0965891cbba9636a045c29ac82bcc76af3b6506d

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 62d2fc86a1ff83a59bd2fac1e91fe471a707996103750f1fb29439829290db18
MD5 61c344ef05ecde1fc46d7da8ea64e4cc
BLAKE2b-256 8fe4513fbe2d0dfc5204f46267b9a2069935ccda76d88aa100bdff6c4812e47e

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5d0118d0dcb5e0729dd7a912ef7061f33f13186ed3a44ca0ef436a442897822c
MD5 db8ed3601e2395fbcd23019580456c9f
BLAKE2b-256 47e1b788ead58ddb99302fbb27b1ddfffd7e66cb9ddc3093c29fc5539977b975

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5e5a640abd499db26d713adf7b3945dcf979bbec86e9e83be602d972b862dd53
MD5 5c3ccd14b92338c59f8fad1ec95c75cb
BLAKE2b-256 2dd2520e453f1becb7839761704dd0ed46adb3ffd69fbb9488b7632479cae492

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a539ad2aabf9dbbf403f6c81216df03d23c837f2440dd9a4098c19af44093bb1
MD5 f74361a754c9745f49a8ea95e3748507
BLAKE2b-256 8077bad79bb42e5ece58118a1d105fb89c4dfeda18982fe4e95c8d1fa6ab0d02

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 eb9d45de3cfd97a2e3f5745817430984b155a9b5cb9705362b372f38ad33f6d5
MD5 9da9424ce3ba3c4ce67473c9526bdb75
BLAKE2b-256 1eb818ebcb5720bd12677fef833e7c195c5827c78974468bde6d78c00c7f4e5c

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 80a1b33d81a88ca42f51d33d01786f0edb54e410c835585f8fe5c61a976b11ac
MD5 3bb835630995332cf6e7724676590d4a
BLAKE2b-256 b88b5e8928477570c1680fd3d20a2134099eb8f4076be279453307227cf61109

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f35bd5eebc24df213faa0fc0168b10d42f14d3343d31d325d3b88dcdf3f311e8
MD5 deaa8a3abe5b3fc4a602841706acd95d
BLAKE2b-256 44aa728b46ab933f5648b19d4111697c6a1f11c353343133cc127cca44dcce17

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f02a13c01dad5b5d8b1a3b10f8265cfdf0b97c01c0b21d87e3e2edcbdaa1c22a
MD5 eb6ed88c38614efd40437d29053f8bb6
BLAKE2b-256 ecd6671cb517b742d3ce7a0cbde58cf8dc4ecaf02258ee74c9a376df632b68bb

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3b1f27b6a78227d3147f57445daf7c762f8ab6ef439ce74f5dcd674025c18e45
MD5 71231e3fdbaa151ff6b1d5a37498a7b2
BLAKE2b-256 b14180b91a0acccae103a1b916556cb12a570303cd1ea58f8176916830160ee7

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9b1df952b988875b4a4bb4848307dd63cb29ba0346ff4302c4ba5a315419c04e
MD5 9dda1db6f699e8c221d2f2d1e9abe022
BLAKE2b-256 54819ff6357dd1c3be1a0f78aeb773203302dd32d4f3b3317a3d5094da0231db

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0ef9afc6a6c2c5a67d62cec256fa123643c605d82d5515d903398ec9d56c08f0
MD5 58067db59a1ae298d82b97886b540794
BLAKE2b-256 7f5cd33e9cac2ffeba6e5a5df9f384e7f04adbaabea4d8a701b2384843cd3369

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 eaf3b24020409f1e9aef698d0970296d774b66b4c6501549b39bccda1e848ca4
MD5 2f2907ac64c4ea93b41580cda8a2e8da
BLAKE2b-256 8c492eb94c6a0d7940a79cd697b1915901a4310e927bd997117fc1635fbd5069

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 983b8a3a8e541cbe834beb8bb92f66c0ea8560fa9135cbb5784b0973d7227224
MD5 7f6220e2db406b023ef4450f32d37a90
BLAKE2b-256 3042c2564cbcbb79285c85c75094f68a8bbc9efa3fb586da5163c8e13e51dd95

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3ccc61f0482316882c39eaa2531ae18207149c65eba3ae7a5dbe7abff751b7b0
MD5 4db92435c054a8b7c8b4cde90e6ba214
BLAKE2b-256 aad1fcc421b39d8cff7145ddc4914946f4ca67395caaf07233f513c2921836f8

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b589d84175b3d7fe31c05599b80804ffbb5d771e3f35d2f0b6d5c9fb034f3050
MD5 d263f076e09fb8bb25bc470cb2f43aaf
BLAKE2b-256 e4caea99f15ef639e7749647686c8c5540640dc86f5a9629aa1eacd814eca708

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 68ac0d656c400bf56f45ee52c18911d8b4abea95850ad1a8b84907a40b1d4c66
MD5 e844861fe0d49c6317507530a5c7bcf5
BLAKE2b-256 61536b9e101b5a093963e7c51aa5469d01ddf7a5ecfdc656de2ef040ec500398

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6fb3221c69b8dbee18b1db8c32b741cb67f2f3e71dccf3f632471b52d19c882a
MD5 a990a4a7c9ae03328d094e8131d455b2
BLAKE2b-256 0e1b51263bf70f093ab24d1aa0568205446dbce3976affdcbf6d761a14386cd5

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 679c88c2833feb08f915b8111bf6eae14c952ff983ebe011d51c675e292cba24
MD5 ddc756347ebae46c606b2dedd938a130
BLAKE2b-256 c59cb2949eee55f59147518859f86b1845046891cebfd52d1a995bfd2340c856

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3204b7e8161d54dc2ed87e991164eb36ccb66767021ab8f931cc84995b9237aa
MD5 ddea9f98e14dd590aabd16601d408270
BLAKE2b-256 e94fed8144f6f5d412de2bcfbd3c9d1139bed23f458b1e1bd26e99d6eeacadc3

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 706cace16ad3067a6e878c0afe4419532848fd3d513bd8e3694a0efc8b72ece4
MD5 e0d52d28e0ba3e3e7eed92466c032960
BLAKE2b-256 bf40aed905aa64b98ecf1a6cb13106a01fa7e7529854223715234bec2b9a0485

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 05f3a9fdf260ddabc5b4228065c5f5f1c707e89bae96080ec21c4e4a17cdeff7
MD5 4edccf19fe1d0fc43ad3cc2fe11bb2ac
BLAKE2b-256 aa10bd0f6610de9fb422e2ebe998a3ca7c4d975ae17f22f65538d7dc89627681

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 94b8ec4f4b53825c4aefb5d1c6d96f975e961438b3a25f536af527758ac94eaf
MD5 3d77bf76c4361b5a1392a835897f5a24
BLAKE2b-256 427c428bed1138adfba20e6d2c2b4ed7cccea46dac49596ed3b560722b57315a

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 28084761a404d017143a0fd29a9d4e95c3b0d52292aeef14163008fd07f17bf4
MD5 97463af8ff44a7c367ba169795009af2
BLAKE2b-256 0c010c15940120056d0168433e722819038258061e38ff5c2aaf27de6ad3f22e

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 07079912f0076e92f7b5ffd68572c79c52be19fd469b6e06db910428c589266e
MD5 5c4478018afe3feda7a01577e33f2847
BLAKE2b-256 9fe032ab95e2831eacecb42a19120977a5e6b1d27c0843cd345210565cbf7f2b

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: fastconstmap-0.6.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 29.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastconstmap-0.6.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7e8a8684cbee7b8fa07208eb4780a01d1bcd5f131f3f8abdc8cae718dc955d33
MD5 7f9bd364e2b5d766934dd5080c85fbde
BLAKE2b-256 ce4fbfdc96aa9024481cd75ce7287d56011918fe8473bf7e8061081763a3c9c4

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 51b7d0b5f8fd7e52dd0b47ca30e3a47f45eeaf4041686e884c3f770882ab169f
MD5 b8814f2ad9c4e4b2e80f7e3fd6539c94
BLAKE2b-256 207dd73334af6bc4b7cc4a53b0cb513aa24bf8826268cabd778d24917141c8a4

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c9ca4ee705fc2ce624bda0fb31de7b28e559b7ffd396cb245a094693f1654365
MD5 cfbe4d9c03ea813df52490621ed1ddc6
BLAKE2b-256 97a28de26659e9b4502aba646ff445166e28dd2fc4d064a4a95722e0a71a4c50

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1620a6f406ee48fd88546868145f55337f98b98c27964c3e3c6528640305b75d
MD5 ea69a5ff375503f9353ace7990d24b70
BLAKE2b-256 ad0484e3551a6a26201f3516477a07071a7faa6b798ab672c5efa03f69cd3cae

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 28787a8cb90ed39b6574e31c29ef0515c0e4944c4b9353d3f55fe47324f57030
MD5 cbfa2949762057563cc0865171690004
BLAKE2b-256 8f6dfd475a0267ef12745cf33a9e6bd6dc4068a2b486afa318692d4c17a25763

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1d87c13fa7c87e291f352486d986168cbc05e576810554caba3a7fc74270254e
MD5 6268cfd3b90cb1419bceda192aeb5221
BLAKE2b-256 addbd97802f380a8addb2e4ab4e645d28786825f0a442a31f7ee12f6277b39cf

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: fastconstmap-0.6.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 29.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastconstmap-0.6.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 bef394c2d2cc1cca65d0560e2998c8cf5f604abc82410e44b812975dcc7c1313
MD5 9a98346087a7b3447825b59e75960d24
BLAKE2b-256 f18f299d93575a3dea5913e735716a2ce780a4cd3b4cd17190eb6eeff0635abb

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ddf824e15e216557f3c7efe0aaa74f88a8563c1a8e3dfdb6fc7dd3a985e664fe
MD5 a1219b04d1cfbfef455e3d62938cb285
BLAKE2b-256 5d331c78a5876225744c5606ef7f8f570b24d156096bf6c9d678e1120d7a2e01

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2f3df86ce3c87b69402dc65dfbd834cd5f542304d0e03a0e73be596cb3145b9d
MD5 47cc4b8523537bf0b190758dc428d9c9
BLAKE2b-256 8c9a8e4b2daeb9b2c9ebfe3914753dd06c7a3f3615cc916623a32a9722b7f10b

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 21006cefe032ab1f5f29102d963bea4c1795173b2848aced886846a737705662
MD5 dc11a45b195d85f0137b57767b817478
BLAKE2b-256 427781c0b0541011e29babac34eb48650e4f58280dd4a75e9d5fc51c457fc22d

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c241eac23d3d51f9f80260d55e7439d184a024847499213bd90427765ab56747
MD5 fdf8e3a0a120b9c1fab3e59018daf27a
BLAKE2b-256 23429de91f1d9debac0d04d6e5418ef8043f7129de02897a416c72bcf2cb421c

See more details on using hashes here.

File details

Details for the file fastconstmap-0.6.0-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fastconstmap-0.6.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4aed59128eedc4063147aac23b0cae00c1be2ab8d59d5f368da0501d51fd4efb
MD5 58ad3f1e0c5e2ca9b1cade7c3e3cdbad
BLAKE2b-256 781bca56c6dc03520808a585d7d295066d91bef485f5cce7e74eaad0f2d72676

See more details on using hashes here.

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