Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

pypocketmap

NOTE: this package is in beta. The current repo contains implementations for these key/value combinations: [str, _] and [i64, i64].

A high performance python hash table library that consumes significantly less memory than Python Dictionaries. It currently supports Python 3.6+. It is forked from Microdict to remove the limitation on the length of string keys, and add utility methods like get and setdefault. It also has a slightly different table design, making use of code ported to C from abseil-cpp.

Benchmarks

The latest charts are at https://observablehq.com/@dylan-burati-ws/pypocketmap-benchmarks

Installation and Building

You can install using pip: pip install pypocketmap.

pypocketmap is tested to work on Linux, Mac OSX, and Windows systems. You will need GCC 7+ on linux/mac osx systems and Visual C++ 14+ compiler on Windows systems to build the package. For the best performance use on a 64 bit system.

Usage

The following code snippet shows common uses of the library.

>>> import pypocketmap as pkm

# Generates a dictionary with string keys and signed 64 bit integer values.
>>> d = pkm.create(str, int)
>>> d = pkm.create(pkm.string_, pkm.int64_)  # or explicitly

# Works just like a python dictionary, although insertion order != iteration order
>>> d["a"] = 2
>>> "a" in d, "b" in d
(True, False)

# `get` default value can be any type
>>> d.get("a"), d.get("b"), d.get("b", False)
(2, None, False)

# `setdefault` default value must be an int
>>> d.setdefault("a", -10)
2
>>> d.setdefault("b", -10)
-10
>>> d.update({"okc": 1997, "yhf": 2002})
>>> d
<pypocketmap[str, int64]: {'b': -10, 'okc': 1997, 'a': 2, 'yhf': 2002}>
>>> [k for k in d], list(d.keys())
(['b', 'okc', 'a', 'yhf'], ['b', 'okc', 'a', 'yhf'])
>>> list(d.values()), list(d.items())
([-10, 1997, 2, 2002], [('b', -10), ('okc', 1997), ('a', 2), ('yhf', 2002)])
>>> len(d)
4
>>> d.clear()
>>> len(d)
0

How it works

The C parts

The map part of pypocketmap is just a C port of abseil-cpp's SwissTable, which is explained nicely in this blog post series: https://www.kylematsuda.com/blog/writing_a_hashmap_part_2.

The memory savings (pocket part) are partially due to an optimization for small strings - when stored in the key or value array of the map, a string is a 16-byte packed_str_t. This is a union:

  • contained: the data fits in 15 bytes, and the length and sentinel bit 1 fit in 1 byte.
  • spilled: the struct holds a char * pointing to the data, and the length and sentinel bit 0 take up the remaining 8 bytes.
    • 4 bytes are padding on 32-bit platforms; 8 bytes end up unused because the longer lengths would fail to allocate.

The C++ standard library and Rust crate byteyarn do something similar - I learned about this from the crate author's blog post: https://mcyoung.xyz/2023/08/09/yarns/.

The Python C API parts

The file str_int64_Py.c is the only Python module definition which should be edited. That file and abstract.h use C macros and typedef to fake generics. Many Python-specific blocks in the former file are also annotated with custom template! comments, which I came up with for this library's Java equivalent, pocketmap.

The template! comments are the reason for the nearly equivalent *_Py.c files in the repo. Essentially, the macros and comments implement the following traits for the key and value types. Since the "implementations" are just inlined into the files, this is prone to errors. It is probably doable in C++, but for now I'm choosing to add tests rather than convert the C code.

trait Value {
  type Packed;

  // the `&` operator indicates something borrowed.
  // physically, both Self and &Self can be a struct { char* data, uint64_t len }
  // semantically, &Self means that the data field is readonly, and it's not safe
  // to use the pointer once the source of the borrow is possibly freed/dropped.
  // ===

  /// Converts the possibly-borrowed value to an owned value independent of any
  /// PyObjects and stores it.
  fn p_set(arr: *mut Self::Packed, index: usize, elem: &Self);

  /// Frees anything alloc'd in a previous `p_set(arr, index)`.
  /// No-op for everything except spilled strings.
  fn p_unset(arr: *mut Self::Packed, index: usize);

  /// Borrows the value - the caller is responsible for making sure `arr[index]` is
  /// set, and stays set while the returned &Self is in use.
  fn p_get(arr: *Self::Packed, index: usize) -> &Self;

  /// Converts the Python object to a C value.
  fn from_py(obj: &PyObject) -> Result<&Self, ()>;

  /// Convert the C value to a new Python object which owns its data. The caller
  /// owns the returned Python object, and should eventually either decrement its
  /// reference count, or return it as the result of a pymethodfunc.
  fn as_py(&self) -> PyObject;

  /// For `repr`.
  fn fmt(&self, f: &mut _PyUnicodeWriter) -> Result<(), ()>;

  /// For `setdefault` when the value arg is left out.
  fn default() -> &'static Self;

  /// For `__eq__` when acting as the value type. For pretty much all methods
  /// when acting as the key type.
  fn eq(&self, other: &Self) -> bool;
}

trait Key: Value + Hash {}

Not yet supported

  • Automatic or manual shrink_to_fit
  • Concurrent modification exceptions if an iterator is used after the table has been rehashed. The implementation can skip elements or yield them twice if used incorrectly.
  • update should work on any arg when PyDict_Check returns true or PyMapping_Keys returns non-null
    • __or__ and __ior__ operators can be implemented with this
  • The METH_FASTCALL convention is stable since Python 3.10, and it should be possible to alter the *Py.c files to use it in place of METH_VARARGS when compiling for 3.10+.
  • Additional overflow checking when LLONG_MAX != INT64_MAX or (more likely) LONG_MAX != INT32_MAX

Metadata

Release files for pypocketmap 0.0.1rc1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pypocketmap 0.0.1rc1
File Size Uploaded
pypocketmap-0.0.1rc1.tar.gz 41.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pypocketmap 0.0.1rc1
File
pypocketmap-0.0.1rc1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pypocketmap-0.0.1rc1-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
pypocketmap-0.0.1rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
pypocketmap-0.0.1rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
pypocketmap-0.0.1rc1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details
pypocketmap-0.0.1rc1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
pypocketmap-0.0.1rc1-cp312-cp312-macosx_10_15_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.15+ x86-64 Details
pypocketmap-0.0.1rc1-cp312-cp312-macosx_10_15_universal2.whl CPython 3.12 CPython 3.12 macOS 10.15+ universal2 (ARM64, x86-64) Details
pypocketmap-0.0.1rc1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pypocketmap-0.0.1rc1-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
pypocketmap-0.0.1rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
pypocketmap-0.0.1rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
pypocketmap-0.0.1rc1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details
pypocketmap-0.0.1rc1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
pypocketmap-0.0.1rc1-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details
pypocketmap-0.0.1rc1-cp311-cp311-macosx_10_15_universal2.whl CPython 3.11 CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64) Details
pypocketmap-0.0.1rc1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pypocketmap-0.0.1rc1-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
pypocketmap-0.0.1rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
pypocketmap-0.0.1rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
pypocketmap-0.0.1rc1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.10 CPython 3.10 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details
pypocketmap-0.0.1rc1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
pypocketmap-0.0.1rc1-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details
pypocketmap-0.0.1rc1-cp310-cp310-macosx_10_15_universal2.whl CPython 3.10 CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64) Details
pypocketmap-0.0.1rc1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
pypocketmap-0.0.1rc1-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details
pypocketmap-0.0.1rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
pypocketmap-0.0.1rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details
pypocketmap-0.0.1rc1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.9 CPython 3.9 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details
pypocketmap-0.0.1rc1-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
pypocketmap-0.0.1rc1-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details
pypocketmap-0.0.1rc1-cp39-cp39-macosx_10_15_universal2.whl CPython 3.9 CPython 3.9 macOS 10.15+ universal2 (ARM64, x86-64) Details
pypocketmap-0.0.1rc1-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
pypocketmap-0.0.1rc1-cp38-cp38-win32.whl CPython 3.8 CPython 3.8 Windows x86-32 Details
pypocketmap-0.0.1rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
pypocketmap-0.0.1rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ ARM64 Details
pypocketmap-0.0.1rc1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.8 CPython 3.8 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details
pypocketmap-0.0.1rc1-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
pypocketmap-0.0.1rc1-cp38-cp38-macosx_10_15_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.15+ x86-64 Details
pypocketmap-0.0.1rc1-cp38-cp38-macosx_10_15_universal2.whl CPython 3.8 CPython 3.8 macOS 10.15+ universal2 (ARM64, x86-64) Details

Total release size: 9.2 MB

Release files / pypocketmap-0.0.1rc1.tar.gz

Download URL pypocketmap-0.0.1rc1.tar.gz
Size 41.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b099a6a06ad71e02e67d1293eaea4e2c19e6332eda85880cb1cc5a7baa2cafa7
BLAKE2b-256 checksum
How to use checksums
3b330c1bfbcc2fd2aeff8176fa102651cd5ba45b89c94562a0dbac14272c7e09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp312-cp312-win_amd64.whl

Download URL pypocketmap-0.0.1rc1-cp312-cp312-win_amd64.whl
Size 111.5 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
71e1c5a25a104c3c07a89526e9f6513272de444b213ec650da2e6609fda80846
BLAKE2b-256 checksum
How to use checksums
a883855b7ec7207ef43b433e854ae0e252d93d3eff6021c224330b06ca8cd19b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp312-cp312-win32.whl

Download URL pypocketmap-0.0.1rc1-cp312-cp312-win32.whl
Size 117.5 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
57e7482e23d6db579e82a208af4e88013857e3a3d9f7b644aa2ba2e49a17b4e0
BLAKE2b-256 checksum
How to use checksums
2eb737ba6ed265bed9526d7baf739df29e9a364d5d62f81381a6078bc7f45051
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pypocketmap-0.0.1rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 421.1 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
540d070f415ff99869d264be4374c7791b21bd82022fafec3757d91ae95a8948
BLAKE2b-256 checksum
How to use checksums
d8810c5c2d5b1b6e68a1a13c05e2dbab033d8a1e46b95481f07aaf978319e7d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL pypocketmap-0.0.1rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 403.6 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
5e8ff88c6a6ce611a6947e02b7c4aa690768c6e54dc692d953c1ddf3a00cc161
BLAKE2b-256 checksum
How to use checksums
044716cba446bbdaa1e17145244c2752847939a9d943c2d0b18f2933e6f4180f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL pypocketmap-0.0.1rc1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 449.5 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
9d63dc953b4dc4e1fe8009af645fce7a187252bd3dc074f0814a9fd8b9fdc2bb
BLAKE2b-256 checksum
How to use checksums
cd124ba8ef4cd34c1b7600001ae44052dd55fe6436be5bf08b8314b1995b7bf5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp312-cp312-macosx_11_0_arm64.whl

Download URL pypocketmap-0.0.1rc1-cp312-cp312-macosx_11_0_arm64.whl
Size 95.8 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
050cb00d198ca51887ba259b7383635761fd27e1846a280b89ae0f9352282e66
BLAKE2b-256 checksum
How to use checksums
0db8518d6e25946666eecc7ae66de730375d7b6fd0a0d30c9eee861bb2bc4d54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp312-cp312-macosx_10_15_x86_64.whl

Download URL pypocketmap-0.0.1rc1-cp312-cp312-macosx_10_15_x86_64.whl
Size 92.9 kB
Tags CPython 3.12 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
042208cfdd4f214fdd2765427d69a2d74e25fbe9102d279ecce72385cf90870c
BLAKE2b-256 checksum
How to use checksums
31de89d94e163aa606f489fb7377446c530d3ef2d827b59b51ebb8b81b9051ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp312-cp312-macosx_10_15_universal2.whl

Download URL pypocketmap-0.0.1rc1-cp312-cp312-macosx_10_15_universal2.whl
Size 160.7 kB
Tags CPython 3.12 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
58f142a5961287050402f50893d1effabc616d7b1e3d2c805191a7fe42fd1289
BLAKE2b-256 checksum
How to use checksums
9d0eea141f397872043ea297ddd299859a7542ff050f5d219ac3283a45f4ccc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp311-cp311-win_amd64.whl

Download URL pypocketmap-0.0.1rc1-cp311-cp311-win_amd64.whl
Size 111.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
13a50613715e0b9c2240767c643333e5e658c4239d067632bd130a0791a04fcd
BLAKE2b-256 checksum
How to use checksums
5c0fa4595f4739d25565a1e350d865eb3c65d1ffee7087fd1fed87b2675be845
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp311-cp311-win32.whl

Download URL pypocketmap-0.0.1rc1-cp311-cp311-win32.whl
Size 117.1 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
45b71a82c6c6acfd709eb89f0ca9a0f737c05fb12a017dbaf070013260ea766a
BLAKE2b-256 checksum
How to use checksums
4a4835c5286695d85a388f4cb40a988ac681ee8156f007b1387d6cc0bec132fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pypocketmap-0.0.1rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 415.3 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
99f70af0e35c3883fdc5b4dee72d79dff4764757d8da9a7a0929437a5d9b004b
BLAKE2b-256 checksum
How to use checksums
b5bdf5b0270afe0884c8ecfa97e12017298e8cb7dd07576e6d47593e219f661d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL pypocketmap-0.0.1rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 398.5 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
3b54fb1a1ac971f0a3e4614da26a31d38719f9b0422791ac0b026cde24842273
BLAKE2b-256 checksum
How to use checksums
f73221314ccdd385505a26c7be4e1b0a515392e648a54c125e5e204ba5843cc8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL pypocketmap-0.0.1rc1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 445.5 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
f454787b803297fa20865314e30ea292eba84d89dd0e5459cf876a3fe2481996
BLAKE2b-256 checksum
How to use checksums
c4e0ae21e6c53725d6f62b38163d8b2c378c5efd2b92348c8c57ae3ddaea3997
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp311-cp311-macosx_11_0_arm64.whl

Download URL pypocketmap-0.0.1rc1-cp311-cp311-macosx_11_0_arm64.whl
Size 95.5 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2236d0d2fa7047058d80e66eac3cf4cddc11614d5a35f0b666505684d420797f
BLAKE2b-256 checksum
How to use checksums
bb9b7c900fc2933a13eeebbb57dc85f1c17ec8090878c4f122ec6fa0bdddfd66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp311-cp311-macosx_10_15_x86_64.whl

Download URL pypocketmap-0.0.1rc1-cp311-cp311-macosx_10_15_x86_64.whl
Size 92.3 kB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
76910370a3f38f15bf82f3f023db21a0df8db6892aba494e7e95029e9df39b4e
BLAKE2b-256 checksum
How to use checksums
af743b021044d82359d102f354d0e032167bf7357217cb70aa2bb75f17071737
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp311-cp311-macosx_10_15_universal2.whl

Download URL pypocketmap-0.0.1rc1-cp311-cp311-macosx_10_15_universal2.whl
Size 159.8 kB
Tags CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
177f1176546ae787fc9f4b762a6fec7ea213939b24beb79eb0cf0b6801a9b45b
BLAKE2b-256 checksum
How to use checksums
5cfe50ea137f84ed5770e6fc8f2215ef35edafe90ef47799b9e342a9d22b06fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp310-cp310-win_amd64.whl

Download URL pypocketmap-0.0.1rc1-cp310-cp310-win_amd64.whl
Size 111.1 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
e5580e57b9be7fffaf4dd063055cb9f02b411987f9c1174fba90a564d3289fff
BLAKE2b-256 checksum
How to use checksums
c564cc72c87b47b8ebebff942bac852fd7bd5bb4f0d5e9fbc6a64287440f439c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp310-cp310-win32.whl

Download URL pypocketmap-0.0.1rc1-cp310-cp310-win32.whl
Size 117.0 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
1ae064e04563b232a046865599b7f17aaca7a57066ab542c9ed12c0fca88ca8a
BLAKE2b-256 checksum
How to use checksums
d61e085dad876f3bbc078cd81044b5879aa7c2ee0fb15f3b58731721cff0f02b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pypocketmap-0.0.1rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 414.9 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
0f51568356506d1771d7d7929e3dd4e702599d02866db9e9a83ba920175e34be
BLAKE2b-256 checksum
How to use checksums
156ee8325ce4837639d772bb35f29f6ac42d0e4022bc22eca1f3fa1c9cef9148
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL pypocketmap-0.0.1rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 398.0 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
84f5eba5ec467e4dee5996a7a2c5606b55dee6bd502ea93cd6796621e2cb9638
BLAKE2b-256 checksum
How to use checksums
7bbbc3fe82c925635e2ebbcf6abcaf0e79239896f3e8016131692da184b0c7c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL pypocketmap-0.0.1rc1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 444.9 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
c0fd2b7fbf6873769faa2b4cc2486f1aaf3da96cbf70cd49c01c7cd2dde68213
BLAKE2b-256 checksum
How to use checksums
2c25924dda0dc83234d1222b1b7b5c04eeb2bb41f7ae18f732c25e17ffaeddf8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp310-cp310-macosx_11_0_arm64.whl

Download URL pypocketmap-0.0.1rc1-cp310-cp310-macosx_11_0_arm64.whl
Size 95.5 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
97a9fef7dac31097bd86955d678867e52d10cf847c75e8b1b8c5e96dbdce14bb
BLAKE2b-256 checksum
How to use checksums
1a896bf21dd48ac4537cdc4fc365bb8c10c8136694c7f7b6e4f0db50c3dccac0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp310-cp310-macosx_10_15_x86_64.whl

Download URL pypocketmap-0.0.1rc1-cp310-cp310-macosx_10_15_x86_64.whl
Size 92.3 kB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
e74e6afc33d9a6676c9e05dbe8d661c92d3660881f8be660d554f4233810bda2
BLAKE2b-256 checksum
How to use checksums
bc6923e957e5d4214dfddf489b6eacd936271ff0bb5453f7fd1efe7bf2a3eccd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp310-cp310-macosx_10_15_universal2.whl

Download URL pypocketmap-0.0.1rc1-cp310-cp310-macosx_10_15_universal2.whl
Size 159.8 kB
Tags CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
e500d6f616f1617e31401472f49b6be7c33d89e7ba4d2a692c15ec59498cebfd
BLAKE2b-256 checksum
How to use checksums
014346c036170c5e3eae6d5f39b981759ace0223777b6000f57241e49ef3d1f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp39-cp39-win_amd64.whl

Download URL pypocketmap-0.0.1rc1-cp39-cp39-win_amd64.whl
Size 111.1 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
1b04155a10199d504503d05f457ad1907c43134fc7a1fffec68ac16ce1b2c1a5
BLAKE2b-256 checksum
How to use checksums
ebb2afaa3971b09f38af38044a322133aeac0d1c4bde8ab3315df16248673ea4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp39-cp39-win32.whl

Download URL pypocketmap-0.0.1rc1-cp39-cp39-win32.whl
Size 117.0 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
e0d293322c436e6e101d0873f453e98951ae4c3322dba7a6cd19240f3dcbe0a2
BLAKE2b-256 checksum
How to use checksums
30d5f200e4a4da71874723082cd2253358dd72596aef1112ef2f3a132602e9a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pypocketmap-0.0.1rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 414.1 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
32567ef55d7e50acf77128b2a67ebc5072ce369f197896173b00bad865ed37c6
BLAKE2b-256 checksum
How to use checksums
fde0fa5261c3e9d581823a2d6a9be320091d153f435ba6433590adedc0103956
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL pypocketmap-0.0.1rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 397.5 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
1c8c736e0adcfbd00ecd466c299c387a325cd8df175693986a9ba1e24d66d9bb
BLAKE2b-256 checksum
How to use checksums
deef2779d06fa5cad3c4e595f9e9ee8d5392984dd0e59b9171770815dd3d53b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL pypocketmap-0.0.1rc1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 444.3 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
5690a2c0f90ec63de065b7fcc3b245416aad51ff30fb1876c93b64148322438b
BLAKE2b-256 checksum
How to use checksums
88fc6c58aad3150708126c6ab64370848d23852a06a77c4a31b8c0a336cdfbb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp39-cp39-macosx_11_0_arm64.whl

Download URL pypocketmap-0.0.1rc1-cp39-cp39-macosx_11_0_arm64.whl
Size 95.5 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5a01abe354dd78c140a0676be6a12a7268ef419de75d6ebf1369436aba762d23
BLAKE2b-256 checksum
How to use checksums
cb5a9fca577fe8c73f9d22de44512e018fcb5fb731933366589fef8ddf382ad2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp39-cp39-macosx_10_15_x86_64.whl

Download URL pypocketmap-0.0.1rc1-cp39-cp39-macosx_10_15_x86_64.whl
Size 92.3 kB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
0b52dd3881256051ca24b20ee0b7a6777291d418334f4bf85fcacba3fb373d2e
BLAKE2b-256 checksum
How to use checksums
2c48e701fb415a29c340aaf7533203e95fa8115721df1ba7732f11927b4a845b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp39-cp39-macosx_10_15_universal2.whl

Download URL pypocketmap-0.0.1rc1-cp39-cp39-macosx_10_15_universal2.whl
Size 159.8 kB
Tags CPython 3.9 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
f1c85c58281d470b730f4922f5fd9464e0f5a762beb3d7e8429e1d568bb4eac6
BLAKE2b-256 checksum
How to use checksums
1e1bc645b974b602184ce9c7940bb7e2799b9b4ff20dbda4798c62c7302e6a40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp38-cp38-win_amd64.whl

Download URL pypocketmap-0.0.1rc1-cp38-cp38-win_amd64.whl
Size 111.1 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
86a37bbbedf5ada6e391c195a49377e7132e6028d0a67de46043085ff59ee578
BLAKE2b-256 checksum
How to use checksums
78c23718cd579ae241be932be8cb9761fe00d41923466573450e5a0cf8b19a9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp38-cp38-win32.whl

Download URL pypocketmap-0.0.1rc1-cp38-cp38-win32.whl
Size 117.0 kB
Tags CPython 3.8 Windows x86-32
SHA-256 checksum
How to use checksums
9882f0c64162e306c8b22820ba9f3f7c9b0b896a43971f5330f306c63aaacded
BLAKE2b-256 checksum
How to use checksums
f4baa9ee51393657c332913297af555b41b1dc1a51677ba14456357fdcfeba27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pypocketmap-0.0.1rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 420.1 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
097a05f318db5ebf7b61c1154fdcc6db493a66bc2222766e837ab7628e64faa5
BLAKE2b-256 checksum
How to use checksums
0ab5a8aec9391645b25a81455e5e539f7a2ca4e3bb59cde44e88ac836aa52749
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL pypocketmap-0.0.1rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 403.2 kB
Tags CPython 3.8 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
cffe7e522474d6453b8e771b9c97464b6feb45a76419d3300dbba770cd114b60
BLAKE2b-256 checksum
How to use checksums
138c9027efebcc22235f302b1a1b14e1017398c032d4ebb6ac59c3c44d39f3bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL pypocketmap-0.0.1rc1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 450.1 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
b2a2aefc09790fcfc4c2524b230c50d12ece5a6c6abd371d5506b08fcc366760
BLAKE2b-256 checksum
How to use checksums
4b6869acd31a3ef63e3537295cce8857ada8a5259ad93d6e490556902f1e91ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp38-cp38-macosx_11_0_arm64.whl

Download URL pypocketmap-0.0.1rc1-cp38-cp38-macosx_11_0_arm64.whl
Size 95.5 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fcbcba82bb0283a5b5933a84a1db9f09c01c0c413a6a0a9aea15ace859b4a0e8
BLAKE2b-256 checksum
How to use checksums
279ae03c55458a191ceb74e7b67ed1dd04d2af39beb4c9f62099bfa521e420e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp38-cp38-macosx_10_15_x86_64.whl

Download URL pypocketmap-0.0.1rc1-cp38-cp38-macosx_10_15_x86_64.whl
Size 92.3 kB
Tags CPython 3.8 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
6b873ef61820370107e4f89de6ec5fa857c1ce4a69334fba413c75a1b3e2207c
BLAKE2b-256 checksum
How to use checksums
da79349b692be9db3289e04ce0ba09256cf747872b934e2c3b9731a65c5df868
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pypocketmap-0.0.1rc1-cp38-cp38-macosx_10_15_universal2.whl

Download URL pypocketmap-0.0.1rc1-cp38-cp38-macosx_10_15_universal2.whl
Size 159.8 kB
Tags CPython 3.8 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
e306adbbfb833de3bde85544a92d32e67f09360879ffeb7d1a5632967b7b12f8
BLAKE2b-256 checksum
How to use checksums
57c52891da54f5bf66b653a0f8e4a2962bdbfe23e1c9b3235348ac0e6a4d5819
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.0.1rc1 This release

41 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page