Skip to main content

Serializable map of integers to bytes with near zero parsing.

Project description

PyPI version

mapbuffer

Serializable map of integers to bytes with near zero parsing.

from mapbuffer import MapBuffer, IntMap

data = { 2848: b'abc', 12939: b'123' }
mb = MapBuffer(data)

with open("data.mb", "wb") as f:
    f.write(mb.tobytes())

with open("data.mb", "rb") as f:
    binary = f.read()

# Uses mmap to read the file. 
# Cannot access data after file is closed.
with open("data.mb", "rb") as f:
    mb = MapBuffer(f)

mb = MapBuffer(binary)
print(mb[2848]) # fast: almost zero parsing required

>>> b'abc'

# assume data are a set of gzipped utf8 encoded strings
mb = MapBuffer(binary, 
    compress="gzip",
    frombytesfn=lambda x: x.decode("utf8")
)
print(mb[2848])
>>> "abc" # bytes were automatically decoded

# There is also an IntMap class for u64 -> u64 mapping
# You don't need to specify compress or from/to bytes
# The serialization is also smaller as it's only the
# index, no payload. Everything else is the same.
im = IntMap({ 1: 2, 3: 4 })
print(im[1]) # 2

with open("data.im", "wb") as f:
    f.write(im.tobytes())

Installation

pip install mapbuffer

Motivation

MapBuffer is designed to allow you to store dictionaries mapping integers to binary buffers in a serialized format and then read that back in and use it without requiring an expensive parse of the entire dictionary. Instead, if you have a dictionary containing thousands of keys, but only need a few items from it you can extract them rapidly.

This serialization format was designed to solve a performance problem with our pipeline for merging skeleton fragments from a large dense image segmentation. The 3D image was carved up into a grid and each gridpoint generated potentially thousands of skeletons which were written into a single pickle file. Since an individual segmentation could cross many gridpoints, fusion across many files is required, but each file contains many irrelevant skeleton fragments for a given operation. In one measurement, pickle.loads was taking 68% of the processing time for an operation that was taking two weeks to run on hundreds of cores.

Therefore, this method was developed to skip parsing the dictionaries and rapidly extract skeleton fragments.

Design

The MapBuffer object is designed to translate dictionaries into a serialized byte buffer and extract objects directly from it by consulting an index. The index consists of a series of key-value pairs where the values are indices into the byte stream where each object's data stream starts.

This means that the format is best regarded as immutable once written. It can be easily converted into a standard dictionary at will. The main purpose is for reading just a few objects out of a larger stream of data.

Benchmark

The following benchmark was derived from running perf.py.

Format

The byte string format consists of a 16 byte header, an index, and a series of (possibily individually compressed) serialized objects.

HEADER|INDEX|DATA_REGION
Format Version description
0 Initial Release
1 Adds crc32c check values to each item.

Header

b'mapbufr' (7b)|FORMAT_VERSION (uint8)|COMPRESSION_TYPE (4b)|INDEX_SIZE (uint32)

Valid compression types: b'none', b'gzip', b'00br', b'zstd', b'lzma'

Example: b'mapbufr\x00gzip\x00\x00\x04\x00' meaning version 0 format, gzip compressed, 1024 keys.

Index

<uint64*>[ label, offset, label, offset, label, offset, ... ]

The index is an array of label and offset pairs (both uint64) that tell you where in the byte stream to start reading. The read length can be determined by referencing the next offset which are guaranteed to be in ascending order. The labels however, are written in Eyztinger order to enable cache-aware binary search.

The index can be consulted by conducting an Eytzinger binary search over the labels to find the correct offset.

Data Region

The data objects are serialized to bytes and compressed individually if the header indicates they should be. They are then concatenated in the same order the index specifies. The last four bytes are a crc32c check value that was added in format version 1.

Versus Flexbuffers

The concept here was inspired by Flatbuffers.Flexbuffers, however the Python implementation (not the C++ implementation) there was a little slow as of this writing. We also add a few differences:

  1. Eytzinger ordering of labels to potentially achieve even higher read speeds
  2. Structure optimized for network range reads.
  3. Integer keys only.
  4. Compression is built in to the structure.
  5. Interface has a lot of syntatic sugar to simulate dictionaries.

Link: https://google.github.io/flatbuffers/flexbuffers.html

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

mapbuffer-1.0.0.tar.gz (172.2 kB view details)

Uploaded Source

Built Distributions

mapbuffer-1.0.0-cp312-cp312-win_amd64.whl (20.6 kB view details)

Uploaded CPython 3.12 Windows x86-64

mapbuffer-1.0.0-cp312-cp312-win32.whl (20.3 kB view details)

Uploaded CPython 3.12 Windows x86

mapbuffer-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (30.7 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

mapbuffer-1.0.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.3 kB view details)

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

mapbuffer-1.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (29.8 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

mapbuffer-1.0.0-cp312-cp312-macosx_11_0_arm64.whl (18.2 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

mapbuffer-1.0.0-cp312-cp312-macosx_10_9_x86_64.whl (17.8 kB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

mapbuffer-1.0.0-cp311-cp311-win_amd64.whl (20.5 kB view details)

Uploaded CPython 3.11 Windows x86-64

mapbuffer-1.0.0-cp311-cp311-win32.whl (20.2 kB view details)

Uploaded CPython 3.11 Windows x86

mapbuffer-1.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (30.6 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

mapbuffer-1.0.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.2 kB view details)

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

mapbuffer-1.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (29.7 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

mapbuffer-1.0.0-cp311-cp311-macosx_11_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

mapbuffer-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl (17.7 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

mapbuffer-1.0.0-cp310-cp310-win_amd64.whl (20.5 kB view details)

Uploaded CPython 3.10 Windows x86-64

mapbuffer-1.0.0-cp310-cp310-win32.whl (20.2 kB view details)

Uploaded CPython 3.10 Windows x86

mapbuffer-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (30.5 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

mapbuffer-1.0.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.1 kB view details)

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

mapbuffer-1.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (29.7 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

mapbuffer-1.0.0-cp310-cp310-macosx_11_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

mapbuffer-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl (17.7 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

mapbuffer-1.0.0-cp39-cp39-win_amd64.whl (20.5 kB view details)

Uploaded CPython 3.9 Windows x86-64

mapbuffer-1.0.0-cp39-cp39-win32.whl (20.2 kB view details)

Uploaded CPython 3.9 Windows x86

mapbuffer-1.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (30.2 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

mapbuffer-1.0.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (29.9 kB view details)

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

mapbuffer-1.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (29.4 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

mapbuffer-1.0.0-cp39-cp39-macosx_11_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

mapbuffer-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl (17.7 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

mapbuffer-1.0.0-cp38-cp38-win_amd64.whl (20.5 kB view details)

Uploaded CPython 3.8 Windows x86-64

mapbuffer-1.0.0-cp38-cp38-win32.whl (20.2 kB view details)

Uploaded CPython 3.8 Windows x86

mapbuffer-1.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (30.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

mapbuffer-1.0.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.0 kB view details)

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

mapbuffer-1.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (29.5 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

mapbuffer-1.0.0-cp38-cp38-macosx_11_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

mapbuffer-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl (17.7 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

Details for the file mapbuffer-1.0.0.tar.gz.

File metadata

  • Download URL: mapbuffer-1.0.0.tar.gz
  • Upload date:
  • Size: 172.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0.tar.gz
Algorithm Hash digest
SHA256 5f332a62660a6a1d6d940957d0d723968cd49b2d385e5f2c9318e9245f6df2d4
MD5 df8a26a448fcdf5576bfdb214d425731
BLAKE2b-256 ad6284a8558ffe04b1cc1c6a3c392632ae6bf9894c39ef66c3dc4ed150f30e31

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 20.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 435894b45041c5feed20fbe01dbcc204168f4f36b9fef23049f95de73b32d23c
MD5 932787c347a7b2791e1fd6e16c1e959f
BLAKE2b-256 df490d54745f8893f9851197de18a8456020cb82db40d65d13d9374bac0f6aba

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 20.3 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 cb3bc0cce98f9c6da0977a5ce821232ce6494be693403d5219cb32357764a74b
MD5 a0bb70983d1eab3a0c2c101c43c6d325
BLAKE2b-256 edd17d042776f92c61c2d6b4dbab94ced9f5eb98816d4aefaf5dc46c5e38b55d

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mapbuffer-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 61234a59a0ead4284a519e8de7b69a162263dec834317f03c9b8fa7efb6e8287
MD5 339db0b58493e3efe740b223e8c330e6
BLAKE2b-256 3d62dd293c80188ee18640efad758c81a2a1acf696165827671911793285fdd4

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mapbuffer-1.0.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d36dd373262684e50bb75cb4a701daf071088d312434ad4ba8daf5804edbafd1
MD5 ed89d49640491a1ef14b552fc0dc7177
BLAKE2b-256 03dc08d7710cb62f4d3e51541e9666361a73a908be98ea2d5ce283bbb50f9d7a

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for mapbuffer-1.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5ff702db0003e56bc2afb94a909df47efad7a56283dc128706a473e6f2e8f247
MD5 cd5d1a53b35c44d360766ba96c5b009a
BLAKE2b-256 27effeb758e222f5c6dcca6af53e4d9b6fa1ac31f20138bbe4043519df0be406

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 59b3b5f1ae426e3e7a8b5c78dd481ec6c6f509da52e158e6378c3800f4d5b640
MD5 15ef33ef04c08570eebbba2fa165aeec
BLAKE2b-256 c51d416329da306416a6b8b275a82a0b675e48be5aac656250a6258ff594326c

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp312-cp312-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 17.8 kB
  • Tags: CPython 3.12, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0cfda944b7a52ebeb57f40c41ab3c2df1f5936b001943897ea64f6731098cea1
MD5 e6d171755858797c29eb478502e3c119
BLAKE2b-256 7cef4843821dfbf0d5accaa1ec9fc2ffea3c2066c7321458db10b407cf6ae738

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6a844437bcd0e6a6710a284f8e1e98fb933861b07ea27b109f9451b110ed7bed
MD5 b30671403b2d3444258226c6fd8fb2cb
BLAKE2b-256 84f97d38912650c56af82860cb52c1e784880bf734cabe60f5209fecb74b26d4

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 1012ace4821508a76b23db7d879f8611bbbcfed795afd16d496409ab2fb568ce
MD5 36669034f623dc291e9aa2b8a40b0dd9
BLAKE2b-256 b694be09c1db85eb5d6974ba3dae235d56a946895ba8ada3878ff0e084547833

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mapbuffer-1.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a7400dcc8fb8ae7ddb46038903c46672235bccb5c56765c7cf825458df6d736f
MD5 444ee78fb6913953e2480a7c3f58e9b4
BLAKE2b-256 072c1f887b1a46cced8bb79f3eca3da663643fa21707208148a398e95e118930

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mapbuffer-1.0.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f5a5814f36284704b3cdd2164f4d2fca5436a9539e175019151ade462c042523
MD5 9aa185843e03001bf4d8c817e90fda74
BLAKE2b-256 647f00fcb4a55ef42c175c27da9add7a15270e4f0901c319f6e94d0aa7b3102d

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for mapbuffer-1.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8fc74fc6aca273829f675405f952b98267a61f39f902f22a73e5c2b16d053382
MD5 30ce3e6922c9860edb5635a6b0335333
BLAKE2b-256 3a7bb28e5137cc042d50f644e21d387b6cf95a1069138b612b59c97540888319

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96d6da36401a503c93a457810e5678ac9e02ea8256533b0fbecef2add2314a34
MD5 040e52179f3e51e571e9bf6738941913
BLAKE2b-256 ad0b036021f8b0caaf2b6656b9e01d341af0689d6cad54bc1d40f846d08529e6

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: CPython 3.11, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d52d9d684030d83049875abf6ace89e50e131edb75f0b2d8538cae1602a65b1a
MD5 0ddb34bd83de935fb0fbfedde74ac86d
BLAKE2b-256 1ca37b4273839495796ca0813a63ee1a7f0c28ac1ac011de8b96173df1095dd9

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4070cd65d76e77217448b859b10889c45b1484fbe5d0097601a80623da81c6e7
MD5 463d45a9fa71e820adec386a6d3e685d
BLAKE2b-256 31291eb3a64e9dc6d7c5c0e6128ca9099a31846df192ddd7feebb4542f08323b

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 e8a24a3674eaec75c753511c860da5903512b5d3eb56b31a9646d76e81dee66d
MD5 1f7dde4bcb69819094259bca06520c1e
BLAKE2b-256 c4bd1bd09fd63b061d52176cc0339e86ea2da73b30ce09122c13d85be5cf2944

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mapbuffer-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5ad24db791fd01a205240a0002c44d36451cf464d321569446836e1fcbf31056
MD5 7769221905fbb188b1a81c43a87c6926
BLAKE2b-256 dfe769f12abc59b08bf334a65eb1238620d3d768e10e30580608738bc6f7627b

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mapbuffer-1.0.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ba9de6f6096350cf3e309ce517e66aa72554d4006657e07df36c66eb1f551fa1
MD5 ec8a67fe5aece8af3f85a9435a885be3
BLAKE2b-256 07a633d95849a523896648cb68feed7a2e29963d139f19a06d1c7d8e4a9df8f8

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for mapbuffer-1.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f58e94606880f099ac805fbb776f9ed46bb1b8d5c96f75dfd7bf5fc8b1554ff9
MD5 8f60c223b2e120556d71a3fe0ee38505
BLAKE2b-256 c5799636f7cb72f973d5508d22dfea9fb19810d9c23db48313927ca33ff71db1

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: CPython 3.10, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 18a2292ef9182ad077416efa804025deb12d86d43959a0afd7a25dd650dd7026
MD5 627d9d2d4cfaf71485b83171eac00112
BLAKE2b-256 6f05b482b65154963d1eb133c16db201402b888a9b5d88aca14d8de0439d304f

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: CPython 3.10, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ff3dd66ebeeffcececa4bea1d5b34637951e0437dbc89d2784ba93a13afdff79
MD5 d54a7a3cb759b8f2e19ce1dd7fb7fc95
BLAKE2b-256 59348812642304ddc5c68a95ceb9d050e6a1cb446320fddeb23466930bf9488a

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 85826e233ecb6ce6bd48b1dcc918872625152d74c8e68ccc3a1eedb37ae9ab85
MD5 cf401d4d4799a8dcd0fa4d11ac45b45a
BLAKE2b-256 9efcfc0a4cbeb47622d3819b8df04277bd3b4c2c895e7d1d11f159be22f59c27

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 3065ccf560ba7326e19f24606f798b3a5bbc4e97e5518c4497d33cacb91f3839
MD5 c4cdc0d835f079e50d93e2265cac871e
BLAKE2b-256 bf994bc12aa0c055f04bc987005abbf46b4d3b7d6f1cbc892ea40f7c6e10dcf8

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mapbuffer-1.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 78e34b68085e074dc65469db236a83ff667a87711e3a0bf7f69348ef2e0587a1
MD5 c4b3703383bdb3d8fab432e71c0956b1
BLAKE2b-256 708306eb5bad93453690b0685cf81d41f8c6bc2c86914dac85f8a71b1607a755

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mapbuffer-1.0.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7bb8162d96dc5bd02a4312d23a00925a39f3228851eae31ce93b53b7e9cc5d71
MD5 91b453e36e55578a1d4f95576e831a20
BLAKE2b-256 3e34023e221c0f77e591e8cb57d0c3c37fbabdd58f181b678037f5e01f5e033c

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for mapbuffer-1.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3893ba35a7ae5b79ed694a26dec329e1ba6c7ff46c261dcf3740cdb745f1d6fd
MD5 6e98c4b94a4a6c3c538f7ebee30f5d71
BLAKE2b-256 772ddfaf6614fac93c64198e3dc9d91d3e81bcf5e9137cd9ccae17a20d884e8c

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bdb434b10a5215b76f9b6198fe2ba08693a606e87581f5fc465a54514be61ee3
MD5 3de919ef178cfa09ebe6a17b3271ad1f
BLAKE2b-256 e7fd866ad19fd08ffbcfb0c887063abf1b7c54a284f61ad69c0362f1f2ef2f95

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c69c30fd203d57cd55cc36f5b3c5c2e1f58762d47808c22e0fe35a89aeb8200e
MD5 6457f00fc418e7a16468d73350c2feae
BLAKE2b-256 221d51ab72ce1b360577fd0843082af6e63fa0881d582ca6afad38c4f731229d

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9f0fc62a60035ff1ab0885730e03f31cc488daf7c63ef5eece612d7fa53ffe33
MD5 a14a01580f5e0751288758a55202d10f
BLAKE2b-256 d84a94e41b1eae822c0f6f758a468ad6711bc8d2f1841ea11a0a8a59e27111bc

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 bc71170c91281c61e2bb2de186060e7da766e82a527e6c1de6fbddbf392c2217
MD5 a77514d78278e9c14b6e5aa60468c711
BLAKE2b-256 449f4ddbe83e08160f069850fa4bedb70f8ddc54c9f016341c4a09ddb2738a20

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mapbuffer-1.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 978dddcbe723cd714de01b48fc98614232912bd38d5c844f0b4fcb0a9a54108f
MD5 b269b3cc4ffe0b7e8fc264a09a8e713a
BLAKE2b-256 93edb564a86ae5db9a4671e4a349f3d2da13271efdd34633de36d3a8dc4001ec

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mapbuffer-1.0.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 28dc78449293bf338743eab35f385ac4b38fbdeee0eef1273edc1437942ed5c9
MD5 42bad04a8d92a958e409a40b32628177
BLAKE2b-256 d72edef7f6491dedfd10aed359044a8e0e1a94d13fa0443b00953d604c9afdea

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for mapbuffer-1.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3b05969c0db0b80cdf6010ad09516ff73d0a6e4358086c67b3f3fb2e9cf70b94
MD5 5b491354c27cc192cd6f493fb4769d68
BLAKE2b-256 173b5aafaee44f4573955e2f0417937bd6ec1d26298517553fb8fe84df0d9ce4

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: CPython 3.8, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 51b8868c0717c64b363a66930c55604e7c9a9e00535106a4179d767862bd47fc
MD5 50b04332f992fc886ed8bdf9f6c13f55
BLAKE2b-256 86cb59a85bb5cf268ab1f98a8c7afd464176be9a13935b54353f28a222838397

See more details on using hashes here.

File details

Details for the file mapbuffer-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: mapbuffer-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for mapbuffer-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4e2f6affad2ca196445a97b73f8528976f01b72b7bdd1439547f97e28577d7fb
MD5 19d94ad29eefc8c1e3263f9cf6ec732d
BLAKE2b-256 f0bfa815b2f7bcb7914ad0747d699124f10e0dd27ce0d6d337e0b7f3eba58973

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page