Skip to main content

Microdict

A high performance python hash table library that is generally faster and consumes significantly less memory than Python Dictionaries. It currently supports Python 3.5+.


Why Microdict? Why create another Hash table library when there is the builtin Python Dictionary?

Python Dictionaries are fast but their memory consumption can also be high at the same time. This is partly due to the nature of Python keeping data, within RAM, in the form of PyObjects, which consume far more memory than native types such as Integers and Character Arrays. As a result, Python Dictionaries can be prohibitive in many cases while building memory intensive python applications. This motivated me to develop a typed python hash table library that consumes significantly (upto 7 times) less memory compared to python dictionaries. It is also faster than python dictionaries. Moreover, it's underlying C implementation can also outperform Google's highly optimized Swiss Table and Facebook's F14 hash tables. See the Performance Section.


Installation and Building

You can install Microdict using pip : pip install microdict.

Microdict is absolutely built using C extensions and as such building it will require Python C api header files. Build and install the package using python setup.py install from the terminal after cloning the repository. Microdict 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.


Run tests

Once installed, type the following code snippet in your python interpreter to run the tests:

from microdict import run_tests
run_tests.run()

Usage

The following code snippet shows common uses of the library.

from microdict import mdict

dict_i32 = mdict.create("i32:i32") # Generates a dictionary with key and value type of signed 32 bit integer.
dict_i32[1] = 2 # Just like python dictionaries, setting a key value pair.
try:
   print(4 in dict_i32) # prints False after catching a KeyError exception.
except KeyError:
   pass

print(dict_i32[1]) # prints 2
try:
   print(dict_i32.pop(4)) # prints None.
except KeyError:
   pass
print(dict_i32.pop(1)) # Removes [1,2] from the hashtable and prints 2.

dict_i32[10] = 0
dict_i32[5] = 1
dict_i32[6] = 8

for k in dict_i32:
   print(k) # Will print 10, 5, 6

for v in dict_i32.values():
   print(v) # Will print 0, 1, 8

for k,v in dict_i32.items():
   print(k,v) # Will print all the items.

d2 = dict_i32.copy() # Creates a deep copy of dict_i32.
dict_i32.clear([10,6]) # Removes the pairs [10,0] and [6,8]
dict_i32.clear() # Makes the dictionary empty.

pydict = d2.to_Pydict() # Returns a python dictionary containing all the items in d2
pydict[120] = 5
pydict[42] = 9

d2.update(pydict) # d2 now will additionally have the pairs [120, 5] and [42, 9]

dict_i32[111] = 89
dict_i32[123] = 1
d2.update(dict_i32) # d2 now will additionally have the pairs [111, 89] and [123, 1].

print(list(d2.items())) # prints all d2 items
"""
Faster approach shown below. d2.get_items() creates and returns a list of all items. 
So if you don't need a list container, iterate using d2.items() for memory efficiency. 
Same applies for other d2.get_* methods shown below.
"""
print(d2.get_items()) # 
print(list(d2.values())) # prints all d2 values
print(d2.get_values()) # Same but faster approach
print(list(d2)) # prints all d2 keys
print(d2.get_keys()) # Same but faster approach

Hash Table types

Currently, Microdict includes 5 types of dictionaries:

  • "i32:i32" -> 32 bit signed keys and 32 bit signed values
  • "i32:i64" -> 32 bit signed keys and 64 bit signed values
  • "i64:i32" -> 64 bit signed keys and 32 bit signed values
  • "i64:i64" -> 64 bit signed keys and 64 bit signed values
  • "str:str" -> string keys and string values.

Method Documentations

  • microdict.mdict.create (dtype, key_len=None, val_len=None)

    : Returns a Microdict hash table of any of the types given above.

    Parameters:

    • dtype: A python string type (str) that sets the hash table type to be created. It can be any one of the above types.
    • key_len: A python Integer type (int). It sets the maximum number of bytes the characters of a key (UTF-8 string) requires. Passing a UTF-8 encoded string key which consumes more bytes than key_len will not be accepted. This argument is only applicable when dtype="str:str". It only accepts a value of at most 65355 and a larger value will raise a TypeError.
    • val_len: A python Integer type(int). It sets the maximum number of bytes the characters of a value (UTF-8 string) requires. Passing a UTF-8 encoded string value which consumes more bytes than val_len will not be accepted. This argument is only applicable when dtype="str:str". It only accepts a value of at most 65355 and a larger value will raise a TypeError.
  • microdict.mdict.listDictionaryTypes ()

    : Prints a series of lines of the form : Key Type: key_t . Value Type: val_t, where key_t:val_t forms a type given above.

The following are the methods that are common to all hash table types returned by mdict.create.

  • clear (key_list = None)

    : Returns None. If key_list is not provided, the clear method will delete all items from the hash table.

    Parameters:

    • key_list: It is an optional argument but not a keyword optional argument (keyword must not be provided). So, it suffices: keys = [1,2]; d.clear(keys). If provided, it must be of type list. The entries within key_list are the keys that will be removed from the hash table. By default, any entry that is not present in the hash table will be skipped. For any of the integer hash table types, any non python int entry will be skipped. It is upto the programmer to pass the proper sized integer to prevent overflows. For str:str type, the entries must be python UTF-8 strings with UTF-8 character bytes upto key_len as set by mdict.create and otherwise, that entry will be skipped.
  • copy ()

    : Returns a deep copy of the Microdict Hash table of the same type as the caller Hash table object.

  • get_items ()

    : Creates and returns a python list containing all the items (key, value) in the hash table.

  • get_keys ()

    : Creates and returns a python list containing all the keys in the hash table.

  • get_values ()

    : Creates and returns a python list containing all the values in the hash table.

  • items ()

    : Used to iterate over items using a for loop. Example : for k,v in d.items() : print(k, v)

  • pop (key)

    : Deletes a key from the hash table and returns its corresponding value. If the key is not present, then a KeyError is raised.

    Parameters:

    • key: For any of the integer hash table types, any non python int entry will raise a TypeError. It is upto the programmer to pass the proper sized integer to prevent overflows. For str:str type, the entries must be python UTF-8 strings with UTF-8 character bytes upto key_len as set by mdict.create and otherwise, a TypeError will be raised.
  • to_Pydict ()

    : Creates and returns a python dictionary containing all items present in the Microdict hash table.

  • update (dictionary)

    : Inserts all the items present in the dictionary into the Microdict hash table.

    Parameters:

    • dictionary: Must be either a python dictionary or a Microdict hash table. If it is a python dictionary, then all its items that are of the same type as the Microdict hash table will be inserted. The rest will be skipped by default. The conditions given in the method documentation of clear regarding type constraints apply here too.
  • values ()

    : Used to iterate over values using a for loop. Example : for v in d.values() : print(v).


Performance

Competing with Python Dictionary

Each of the cells in the tables below are of the format (Speed Gain, Space Gain).

  • Speed Gain is defined as : .

  • Similarly, Space Gain :

Experiments were carried out for the types "i32:i32", "i64:64", "str:str" (key and value length kept to 8 characters). Speed Gain and Space Gain are computed by averaging over the results of 30 experiments carried out using (unique) randomly generated data. Space consumption was computed using the psutil library. Time consumption was computed using the time.perf_counter method. All the experiments were conducted with Python 3.8.2 on a 64 bit Ubuntu 20.04 LTS system. The following table shows the benchmarks against Python Dictionary for retrieving all values using the full set of keys and the [] operator.

#Items i32:i32 i64:i64 str:str
100000 1.48x, 7.13x 1.29x, 4.67x 1.43x, 5.19x
1000000 1.47x, 4.23x 1.48x, 2.64x 1.46x, 4.46x
10000000 1.44x, 4.77x 1.48x, 3.02x 1.53x, 4.97x
3x10000000 1.55x, 4.19x 1.3x , 2.57x 1.36x, 3.93x

Competing with Google's Swiss Table and Facebook's F14

Microdict's underlying C implementation was benchmarked against Swiss Table->abseil::flat_hash_map and F14->folly::F14FastMap to further test its capabilities. The data types were set as above using the same settings. The following tables show the results for retrieving all values using the keys.

abseil::flat_hash_map folly::F14FastMap
#Items i32:i32 i64:i64 str:str
1000000 1.22x, 1.56x 1.02x, 1.08x 1.33x, 1.82x
10000000 1.14x, 1x 1.09x, 1.33x 1.73x, 1.67x
3x10000000 1.11x, 1.27x 1.15x, 1.03x 1.68x, 1.65x
#Items i32:i32 i64:i64 str:str
1000000 2.96x, 1.56x 2.74x, 1x 3.12x, 1.39x
10000000 2.11x, 1x 2.12x, 1.29x 3.45x, 1.4x
3x10000000 1.84x, 1.22x 1.97x, 1x 3.36x, 1.21x

Release files for microdict 0.1.1

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

Built distributions (wheels)

Table of built distributions (wheels) for microdict 0.1.1
File
microdict-0.1.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
microdict-0.1.1-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details
microdict-0.1.1-cp39-cp39-manylinux2010_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.12+ x86-64 Details
microdict-0.1.1-cp39-cp39-manylinux2010_i686.whl CPython 3.9 CPython 3.9 Linux glibc 2.12+ x86-32 Details
microdict-0.1.1-cp39-cp39-manylinux1_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.5+ x86-64 Details
microdict-0.1.1-cp39-cp39-manylinux1_i686.whl CPython 3.9 CPython 3.9 Linux glibc 2.5+ x86-32 Details
microdict-0.1.1-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
microdict-0.1.1-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
microdict-0.1.1-cp38-cp38-win32.whl CPython 3.8 CPython 3.8 Windows x86-32 Details
microdict-0.1.1-cp38-cp38-manylinux2010_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.12+ x86-64 Details
microdict-0.1.1-cp38-cp38-manylinux2010_i686.whl CPython 3.8 CPython 3.8 Linux glibc 2.12+ x86-32 Details
microdict-0.1.1-cp38-cp38-manylinux1_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.5+ x86-64 Details
microdict-0.1.1-cp38-cp38-manylinux1_i686.whl CPython 3.8 CPython 3.8 Linux glibc 2.5+ x86-32 Details
microdict-0.1.1-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details
microdict-0.1.1-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
microdict-0.1.1-cp37-cp37m-win32.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-32 Details
microdict-0.1.1-cp37-cp37m-manylinux2010_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64 Details
microdict-0.1.1-cp37-cp37m-manylinux2010_i686.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-32 Details
microdict-0.1.1-cp37-cp37m-manylinux1_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64 Details
microdict-0.1.1-cp37-cp37m-manylinux1_i686.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-32 Details
microdict-0.1.1-cp37-cp37m-macosx_10_9_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64 Details
microdict-0.1.1-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
microdict-0.1.1-cp36-cp36m-win32.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-32 Details
microdict-0.1.1-cp36-cp36m-manylinux2010_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64 Details
microdict-0.1.1-cp36-cp36m-manylinux2010_i686.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-32 Details
microdict-0.1.1-cp36-cp36m-manylinux1_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64 Details
microdict-0.1.1-cp36-cp36m-manylinux1_i686.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-32 Details
microdict-0.1.1-cp36-cp36m-macosx_10_9_x86_64.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.9+ x86-64 Details
microdict-0.1.1-cp35-cp35m-win_amd64.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-64 Details
microdict-0.1.1-cp35-cp35m-win32.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-32 Details
microdict-0.1.1-cp35-cp35m-manylinux2010_x86_64.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.12+ x86-64 Details
microdict-0.1.1-cp35-cp35m-manylinux2010_i686.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.12+ x86-32 Details
microdict-0.1.1-cp35-cp35m-manylinux1_x86_64.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64 Details
microdict-0.1.1-cp35-cp35m-manylinux1_i686.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-32 Details
microdict-0.1.1-cp35-cp35m-macosx_10_9_x86_64.whl CPython 3.5 CPython 3.5 pymalloc macOS 10.9+ x86-64 Details

Total release size: 6.9 MB

Release files / microdict-0.1.1-cp39-cp39-win_amd64.whl

Download URL microdict-0.1.1-cp39-cp39-win_amd64.whl
Size 67.4 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
df4c0b59479d980de81c75154c3153b700c61528af53402e5161dd69362dc7b1
BLAKE2b-256 checksum
How to use checksums
f247200c0fadea0824330bd2dfdbed13c13a3adad4fd262d322cce0c7798333f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp39-cp39-win32.whl

Download URL microdict-0.1.1-cp39-cp39-win32.whl
Size 58.5 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
649c0870c5c5007ca4b9365254c2bb62eda47584605a6bfe0df1ac151c080aa4
BLAKE2b-256 checksum
How to use checksums
eb4fbff04e931e4fe2a202ee4b3c7bd0f1a403aef22be67e3a71eafba2ef9384
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp39-cp39-manylinux2010_x86_64.whl

Download URL microdict-0.1.1-cp39-cp39-manylinux2010_x86_64.whl
Size 255.4 kB
Tags CPython 3.9 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
e883232685dcc5870f4f4b0e699f8a3c11c6f14b420a6c345744d6bea012eba1
BLAKE2b-256 checksum
How to use checksums
e7ba10d13736966d23f50d2b7f74aa295ec4f0768d7d8c4d940201e46e8142b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp39-cp39-manylinux2010_i686.whl

Download URL microdict-0.1.1-cp39-cp39-manylinux2010_i686.whl
Size 254.4 kB
Tags CPython 3.9 Linux glibc 2.12+ x86-32
SHA-256 checksum
How to use checksums
c6447a8cff41b76d9b7e4921a0c3c85fd81f56bac2ec1c97a88d8c8e52af8ccf
BLAKE2b-256 checksum
How to use checksums
c644481ac786408bef4013906f913cf62a23b9a55398ea2edc298cf84028a3a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp39-cp39-manylinux1_x86_64.whl

Download URL microdict-0.1.1-cp39-cp39-manylinux1_x86_64.whl
Size 255.4 kB
Tags CPython 3.9 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
399f5bc6c82839646bce2d73e7a9abb7bed7ebe1bf09e03b3a27aa67a37139ad
BLAKE2b-256 checksum
How to use checksums
6b992bff7328c2c91649463a2077bbd5c36ab94646212742788256f9ff47ee46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp39-cp39-manylinux1_i686.whl

Download URL microdict-0.1.1-cp39-cp39-manylinux1_i686.whl
Size 254.4 kB
Tags CPython 3.9 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
d178b23c3d90904a7bf93d3efa8ed385d08f7639e099653baa8c2a3b97d3a649
BLAKE2b-256 checksum
How to use checksums
31775b0c6bf8ae83865e51e808c664140a494ed85c5eb9873fe1f56bb81534de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp39-cp39-macosx_10_9_x86_64.whl

Download URL microdict-0.1.1-cp39-cp39-macosx_10_9_x86_64.whl
Size 221.9 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
ff9632ec070b95a497667a9437ef42285a685cdc646406d74eb322c1ca03bbbf
BLAKE2b-256 checksum
How to use checksums
151c987cd64c26bf7814521a4d3295b2163f46f19402e5b29f7c97f56aa46617
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp38-cp38-win_amd64.whl

Download URL microdict-0.1.1-cp38-cp38-win_amd64.whl
Size 67.4 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
aa07f91a755a3d0f5c09884eb52622020b2ba9d8605d302f467f1ad39320b8db
BLAKE2b-256 checksum
How to use checksums
86825bd79669a86da70498e768624caa23af3ed8471b1840c7611b76ffb682fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp38-cp38-win32.whl

Download URL microdict-0.1.1-cp38-cp38-win32.whl
Size 58.5 kB
Tags CPython 3.8 Windows x86-32
SHA-256 checksum
How to use checksums
f95343e3751921d5acc7d2952592dbafab727f8910783b562fd46447141469bd
BLAKE2b-256 checksum
How to use checksums
f47079c264ab24cea2d4a796f6cb5520284d0da72abbefe43f077ce08bf0e042
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp38-cp38-manylinux2010_x86_64.whl

Download URL microdict-0.1.1-cp38-cp38-manylinux2010_x86_64.whl
Size 257.7 kB
Tags CPython 3.8 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
2c40ace4cf6c58c818f98363171f169fa1673f5a93d79306a622856756d76342
BLAKE2b-256 checksum
How to use checksums
01c543b256887feb0f6606a24a2c6d5ddac41ff1d3077d83b68b390c88eb7b69
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp38-cp38-manylinux2010_i686.whl

Download URL microdict-0.1.1-cp38-cp38-manylinux2010_i686.whl
Size 256.5 kB
Tags CPython 3.8 Linux glibc 2.12+ x86-32
SHA-256 checksum
How to use checksums
595f354b9b7dab735625496210076a5ca5a3aa9dcc765a95c4297b899bafbfa1
BLAKE2b-256 checksum
How to use checksums
d27a1c76ecfc60870849be29e22bbe04807bda84dd0073c4ba3b199c9c2454f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp38-cp38-manylinux1_x86_64.whl

Download URL microdict-0.1.1-cp38-cp38-manylinux1_x86_64.whl
Size 257.6 kB
Tags CPython 3.8 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
f80cc1bb954687996dfcaa888812b22078672d144a087581199d8f5b331be542
BLAKE2b-256 checksum
How to use checksums
2823880d004d6b54645fa9e32b76a2fed43557231fa57aec4c90842b99439c63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp38-cp38-manylinux1_i686.whl

Download URL microdict-0.1.1-cp38-cp38-manylinux1_i686.whl
Size 256.5 kB
Tags CPython 3.8 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
dc0d5278e14a60fdf6cdcfeccf5626159c7031167b641ebb50fe6ecf44d1174e
BLAKE2b-256 checksum
How to use checksums
eb1485dd8887a50973c0b2e9967624a80ef8d35acb4ee8160ab54f0ae357f4e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp38-cp38-macosx_10_9_x86_64.whl

Download URL microdict-0.1.1-cp38-cp38-macosx_10_9_x86_64.whl
Size 225.2 kB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
09e7d57dd067d2f49cc64f3bc0029b2f1350337d568b335dd253acd8d704b365
BLAKE2b-256 checksum
How to use checksums
18b648ac2db74ff9ad93996e800a0613c558a6c7e0cb4b79ed6aef52c1a8437c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp37-cp37m-win_amd64.whl

Download URL microdict-0.1.1-cp37-cp37m-win_amd64.whl
Size 67.2 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
63838db6daddf0910517c01c3f493cc90c4c0aae0fd09ea9ffab55a467645a21
BLAKE2b-256 checksum
How to use checksums
9c28d6068986e2abf5adbe0013627fc4fd7afbb78eb0772cc7348760ad7d0b3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp37-cp37m-win32.whl

Download URL microdict-0.1.1-cp37-cp37m-win32.whl
Size 58.4 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
5c0c97e387c6d117290eec45c72725f5e0d7de6310c06ae47a55045d73164d01
BLAKE2b-256 checksum
How to use checksums
8b0691eb6a517d76ce5e2cd73ce60c3a46285ac9e56da3a98d8320e85640ed93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp37-cp37m-manylinux2010_x86_64.whl

Download URL microdict-0.1.1-cp37-cp37m-manylinux2010_x86_64.whl
Size 259.2 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
bcba03c07150a8669b2d323a65fb5864ce3835c328127609744d526b7b06adff
BLAKE2b-256 checksum
How to use checksums
bd2b35c53b6073e091b7e30fc75d136bad12d41e788679f4ecaf02280b4a7367
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp37-cp37m-manylinux2010_i686.whl

Download URL microdict-0.1.1-cp37-cp37m-manylinux2010_i686.whl
Size 258.5 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-32
SHA-256 checksum
How to use checksums
1642cb6edcabf0f19f43f71727eaed444927b2f933ef13feb700964c0dfc0194
BLAKE2b-256 checksum
How to use checksums
ac3d118ed31d7cb3fabce702cff2f5b444e2ac1c4fa225f5818cefb45a2f09de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp37-cp37m-manylinux1_x86_64.whl

Download URL microdict-0.1.1-cp37-cp37m-manylinux1_x86_64.whl
Size 259.2 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
bce262be1a893a89fc1eba4a509662c9cf965cff45bde334dfc32a0cc0df7caa
BLAKE2b-256 checksum
How to use checksums
860f6c64237f42a99de6a52bfde1961d0d2ec4a7dd00e997a5a0aa7949ab50bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp37-cp37m-manylinux1_i686.whl

Download URL microdict-0.1.1-cp37-cp37m-manylinux1_i686.whl
Size 258.5 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
4c3fe474bd512d4063c042e8d09a8bf02b50388864572bf96ac2f1a696967b87
BLAKE2b-256 checksum
How to use checksums
7412a595a3ab2984bfb46270f906da3366585cc0d20feb64d29160abb5ff9edf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp37-cp37m-macosx_10_9_x86_64.whl

Download URL microdict-0.1.1-cp37-cp37m-macosx_10_9_x86_64.whl
Size 223.4 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
ed5c2e7fa0856c2a69b51f0c85c7f5609e3baccbeb516378bd27633e655323d8
BLAKE2b-256 checksum
How to use checksums
2aadfb182268e9b9e753c2cc0958886ef0cff2c3e64a193c9d05d55d5192d33b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp36-cp36m-win_amd64.whl

Download URL microdict-0.1.1-cp36-cp36m-win_amd64.whl
Size 67.3 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
b23bbbed0e414d8e154c2b286ed8563b2985b92c5aae1aae6b49a495953449eb
BLAKE2b-256 checksum
How to use checksums
5525b76234e7ea1f7a8338da527e9b06645233918c166ebf4aeb3458c2ed5299
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp36-cp36m-win32.whl

Download URL microdict-0.1.1-cp36-cp36m-win32.whl
Size 58.4 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
9c7b7781a16c23ff8112031bd19f43aba253adb11f18a6804a7e50ce03780deb
BLAKE2b-256 checksum
How to use checksums
fae9cdfae3daf44d8343da416e8469ac61c3b863cfebb4d90791fb1f9abc014f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp36-cp36m-manylinux2010_x86_64.whl

Download URL microdict-0.1.1-cp36-cp36m-manylinux2010_x86_64.whl
Size 254.6 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
e4cd7415f7b863a3c645c287477c32361deb2ffd3750055e04969bf574e0f0f4
BLAKE2b-256 checksum
How to use checksums
b3b27faddbbbf629226aef1084f9f0c1cd269178aa0679276cc878571774115e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp36-cp36m-manylinux2010_i686.whl

Download URL microdict-0.1.1-cp36-cp36m-manylinux2010_i686.whl
Size 253.8 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-32
SHA-256 checksum
How to use checksums
2cf70204dd25119d6cf3fe1988e877e29120810c0916e6b26f78ed39faf8687e
BLAKE2b-256 checksum
How to use checksums
ef7266ad3a8a87188421afe87a0687c0cb378d2723124ebb602aba0145b94419
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp36-cp36m-manylinux1_x86_64.whl

Download URL microdict-0.1.1-cp36-cp36m-manylinux1_x86_64.whl
Size 254.6 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
7fb0fad7758bad8403ce412d1506285f6c3106fb5021d3fe1fdce818b4570042
BLAKE2b-256 checksum
How to use checksums
fe554bceb4c7c625ed2abe9d35a9036fd1dcfa128d616dbd3b07400832862ad9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp36-cp36m-manylinux1_i686.whl

Download URL microdict-0.1.1-cp36-cp36m-manylinux1_i686.whl
Size 253.8 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
f361df3511ff910233d97b455c9a9c215024c49b90930905550b059eed15ac1a
BLAKE2b-256 checksum
How to use checksums
9f1862c8f54f3efc423a55c2e4c9268b4fabaefc1581be16445106d049570330
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp36-cp36m-macosx_10_9_x86_64.whl

Download URL microdict-0.1.1-cp36-cp36m-macosx_10_9_x86_64.whl
Size 223.3 kB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
b4a93c629964abfa9483618f9341bd2ee58b865cc0721e99525c5dc015e6bab1
BLAKE2b-256 checksum
How to use checksums
b97d7f7e732047de0e44814ee0be4988830eaa95429b6abe3fa03687a4f33aea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp35-cp35m-win_amd64.whl

Download URL microdict-0.1.1-cp35-cp35m-win_amd64.whl
Size 67.2 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
bbd544af6fca114a8c2690a82062eb97a676317e13eb2db4356275a0ff2e1525
BLAKE2b-256 checksum
How to use checksums
93c6d9b9fe8c3be16784d703ef629dcd674df9c85e2124d4000a369877ba38a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp35-cp35m-win32.whl

Download URL microdict-0.1.1-cp35-cp35m-win32.whl
Size 58.3 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
f3432f08db7aa934b7aa14b090f5c46d67b63d1cadd88a6573fb5988b125fdfd
BLAKE2b-256 checksum
How to use checksums
eab33f083d0be6616b7812e506769b6613cbc51c5c6ff2696fde6f0111797919
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp35-cp35m-manylinux2010_x86_64.whl

Download URL microdict-0.1.1-cp35-cp35m-manylinux2010_x86_64.whl
Size 253.1 kB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
e833f641d6c23b9c64ad8584b59cca282e8698f80fa191c83658918c23f55b45
BLAKE2b-256 checksum
How to use checksums
e3da52016402166f07718116a35ce609adb7f22977076fde3ec320a6bd930706
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp35-cp35m-manylinux2010_i686.whl

Download URL microdict-0.1.1-cp35-cp35m-manylinux2010_i686.whl
Size 252.6 kB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.12+ x86-32
SHA-256 checksum
How to use checksums
e89eb15150422e12f6bed41070a81101f72cdbb1e82eb8bbb253914bbec68a38
BLAKE2b-256 checksum
How to use checksums
3f7b60a01391fe9d2318c823a7da67e910e1d8430527edbc640ff5d66e284ff3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp35-cp35m-manylinux1_x86_64.whl

Download URL microdict-0.1.1-cp35-cp35m-manylinux1_x86_64.whl
Size 253.1 kB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
1e13165d690b55d2a96e2215e12be3bc7e4aa62417dbc540b5e13919c6663d58
BLAKE2b-256 checksum
How to use checksums
58f49b111a445c454f3243b96799602e04613b0a64575e0f9d5c5bff71548365
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp35-cp35m-manylinux1_i686.whl

Download URL microdict-0.1.1-cp35-cp35m-manylinux1_i686.whl
Size 252.6 kB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
fced8887153fe5ce95259d046d9ebaf594651f40ae1c044017cac86151e1e091
BLAKE2b-256 checksum
How to use checksums
a8ce3c565b461149e899e84d31107ffa6174a8bf25d1fe66fd388bf5935d1408
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release files / microdict-0.1.1-cp35-cp35m-macosx_10_9_x86_64.whl

Download URL microdict-0.1.1-cp35-cp35m-macosx_10_9_x86_64.whl
Size 222.4 kB
Tags CPython 3.5 CPython 3.5 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
0531620d444972e04adc998daa922127735c895ae830ff8bda1a489de471add4
BLAKE2b-256 checksum
How to use checksums
880b8ead8109521e317cf759f25cfa1125c7ba031f654beba1f7b5c87e5f4e03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.2

Release history Release notifications | RSS feed

This release

0.1.1 This release

35 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