The Microdict library - a high performance Python hashtable implementation
Project description
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 whendtype="str:str"
. It only accepts a value of at most 65355 and a larger value will raise aTypeError
. - 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 whendtype="str:str"
. It only accepts a value of at most 65355 and a larger value will raise aTypeError
.
- dtype: A python string type (
-
microdict.mdict.listDictionaryTypes ()
: Prints a series of lines of the form :
Key Type: key_t . Value Type: val_t
, wherekey_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 typelist
. 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 pythonint
entry will be skipped. It is upto the programmer to pass the proper sized integer to prevent overflows. Forstr:str
type, the entries must be python UTF-8 strings with UTF-8 character bytes upto key_len as set bymdict.create
and otherwise, that entry will be skipped.
- key_list: It is an optional argument but not a keyword optional argument (keyword must not be provided). So, it suffices:
-
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 aTypeError
. It is upto the programmer to pass the proper sized integer to prevent overflows. Forstr:str
type, the entries must be python UTF-8 strings with UTF-8 character bytes upto key_len as set bymdict.create
and otherwise, aTypeError
will be raised.
- key: For any of the integer hash table types, any non python
-
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 | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
File details
Details for the file microdict-0.1.1-cp39-cp39-win_amd64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 67.4 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | df4c0b59479d980de81c75154c3153b700c61528af53402e5161dd69362dc7b1 |
|
MD5 | de3c0b87272d85636931cfda94ec657f |
|
BLAKE2b-256 | f247200c0fadea0824330bd2dfdbed13c13a3adad4fd262d322cce0c7798333f |
File details
Details for the file microdict-0.1.1-cp39-cp39-win32.whl
.
File metadata
- Download URL: microdict-0.1.1-cp39-cp39-win32.whl
- Upload date:
- Size: 58.5 kB
- Tags: CPython 3.9, Windows x86
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 649c0870c5c5007ca4b9365254c2bb62eda47584605a6bfe0df1ac151c080aa4 |
|
MD5 | 9db918fbc2cd87b8b254cb51e3d41d96 |
|
BLAKE2b-256 | eb4fbff04e931e4fe2a202ee4b3c7bd0f1a403aef22be67e3a71eafba2ef9384 |
File details
Details for the file microdict-0.1.1-cp39-cp39-manylinux2010_x86_64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp39-cp39-manylinux2010_x86_64.whl
- Upload date:
- Size: 255.4 kB
- Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e883232685dcc5870f4f4b0e699f8a3c11c6f14b420a6c345744d6bea012eba1 |
|
MD5 | 946b632cdc8cfa57b73c4b6f8d084bea |
|
BLAKE2b-256 | e7ba10d13736966d23f50d2b7f74aa295ec4f0768d7d8c4d940201e46e8142b7 |
File details
Details for the file microdict-0.1.1-cp39-cp39-manylinux2010_i686.whl
.
File metadata
- Download URL: microdict-0.1.1-cp39-cp39-manylinux2010_i686.whl
- Upload date:
- Size: 254.4 kB
- Tags: CPython 3.9, manylinux: glibc 2.12+ i686
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6447a8cff41b76d9b7e4921a0c3c85fd81f56bac2ec1c97a88d8c8e52af8ccf |
|
MD5 | f13cb1b9b51bff1816104fa396daac28 |
|
BLAKE2b-256 | c644481ac786408bef4013906f913cf62a23b9a55398ea2edc298cf84028a3a4 |
File details
Details for the file microdict-0.1.1-cp39-cp39-manylinux1_x86_64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp39-cp39-manylinux1_x86_64.whl
- Upload date:
- Size: 255.4 kB
- Tags: CPython 3.9
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 399f5bc6c82839646bce2d73e7a9abb7bed7ebe1bf09e03b3a27aa67a37139ad |
|
MD5 | 35c304104c7ccd5f43ddf1584a868750 |
|
BLAKE2b-256 | 6b992bff7328c2c91649463a2077bbd5c36ab94646212742788256f9ff47ee46 |
File details
Details for the file microdict-0.1.1-cp39-cp39-manylinux1_i686.whl
.
File metadata
- Download URL: microdict-0.1.1-cp39-cp39-manylinux1_i686.whl
- Upload date:
- Size: 254.4 kB
- Tags: CPython 3.9
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d178b23c3d90904a7bf93d3efa8ed385d08f7639e099653baa8c2a3b97d3a649 |
|
MD5 | 4d68d0caf33c62bb0c5e56c7efb79a3c |
|
BLAKE2b-256 | 31775b0c6bf8ae83865e51e808c664140a494ed85c5eb9873fe1f56bb81534de |
File details
Details for the file microdict-0.1.1-cp39-cp39-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp39-cp39-macosx_10_9_x86_64.whl
- Upload date:
- Size: 221.9 kB
- Tags: CPython 3.9, macOS 10.9+ x86-64
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff9632ec070b95a497667a9437ef42285a685cdc646406d74eb322c1ca03bbbf |
|
MD5 | 03e0c68a6ab864b5cb2a556e52c3013b |
|
BLAKE2b-256 | 151c987cd64c26bf7814521a4d3295b2163f46f19402e5b29f7c97f56aa46617 |
File details
Details for the file microdict-0.1.1-cp38-cp38-win_amd64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 67.4 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa07f91a755a3d0f5c09884eb52622020b2ba9d8605d302f467f1ad39320b8db |
|
MD5 | a0f50cff828a310ce079561894e0a78a |
|
BLAKE2b-256 | 86825bd79669a86da70498e768624caa23af3ed8471b1840c7611b76ffb682fe |
File details
Details for the file microdict-0.1.1-cp38-cp38-win32.whl
.
File metadata
- Download URL: microdict-0.1.1-cp38-cp38-win32.whl
- Upload date:
- Size: 58.5 kB
- Tags: CPython 3.8, Windows x86
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f95343e3751921d5acc7d2952592dbafab727f8910783b562fd46447141469bd |
|
MD5 | df53f0c0c42fbd2de3f6112d03c652af |
|
BLAKE2b-256 | f47079c264ab24cea2d4a796f6cb5520284d0da72abbefe43f077ce08bf0e042 |
File details
Details for the file microdict-0.1.1-cp38-cp38-manylinux2010_x86_64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp38-cp38-manylinux2010_x86_64.whl
- Upload date:
- Size: 257.7 kB
- Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c40ace4cf6c58c818f98363171f169fa1673f5a93d79306a622856756d76342 |
|
MD5 | b30f06010a55e406b9d6856382842cf7 |
|
BLAKE2b-256 | 01c543b256887feb0f6606a24a2c6d5ddac41ff1d3077d83b68b390c88eb7b69 |
File details
Details for the file microdict-0.1.1-cp38-cp38-manylinux2010_i686.whl
.
File metadata
- Download URL: microdict-0.1.1-cp38-cp38-manylinux2010_i686.whl
- Upload date:
- Size: 256.5 kB
- Tags: CPython 3.8, manylinux: glibc 2.12+ i686
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 595f354b9b7dab735625496210076a5ca5a3aa9dcc765a95c4297b899bafbfa1 |
|
MD5 | b082a3f2c861387d824b78acb39c4c42 |
|
BLAKE2b-256 | d27a1c76ecfc60870849be29e22bbe04807bda84dd0073c4ba3b199c9c2454f0 |
File details
Details for the file microdict-0.1.1-cp38-cp38-manylinux1_x86_64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp38-cp38-manylinux1_x86_64.whl
- Upload date:
- Size: 257.6 kB
- Tags: CPython 3.8
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f80cc1bb954687996dfcaa888812b22078672d144a087581199d8f5b331be542 |
|
MD5 | 042499346342d4ab30abff716a735895 |
|
BLAKE2b-256 | 2823880d004d6b54645fa9e32b76a2fed43557231fa57aec4c90842b99439c63 |
File details
Details for the file microdict-0.1.1-cp38-cp38-manylinux1_i686.whl
.
File metadata
- Download URL: microdict-0.1.1-cp38-cp38-manylinux1_i686.whl
- Upload date:
- Size: 256.5 kB
- Tags: CPython 3.8
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc0d5278e14a60fdf6cdcfeccf5626159c7031167b641ebb50fe6ecf44d1174e |
|
MD5 | 3adb0ce11632a75bccf9bd3c7f4ca6cf |
|
BLAKE2b-256 | eb1485dd8887a50973c0b2e9967624a80ef8d35acb4ee8160ab54f0ae357f4e1 |
File details
Details for the file microdict-0.1.1-cp38-cp38-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp38-cp38-macosx_10_9_x86_64.whl
- Upload date:
- Size: 225.2 kB
- Tags: CPython 3.8, macOS 10.9+ x86-64
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09e7d57dd067d2f49cc64f3bc0029b2f1350337d568b335dd253acd8d704b365 |
|
MD5 | 56816360a866b76f3ef473a7fe6f8a43 |
|
BLAKE2b-256 | 18b648ac2db74ff9ad93996e800a0613c558a6c7e0cb4b79ed6aef52c1a8437c |
File details
Details for the file microdict-0.1.1-cp37-cp37m-win_amd64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp37-cp37m-win_amd64.whl
- Upload date:
- Size: 67.2 kB
- Tags: CPython 3.7m, Windows x86-64
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63838db6daddf0910517c01c3f493cc90c4c0aae0fd09ea9ffab55a467645a21 |
|
MD5 | 94d686f0821bbbe8a7b51f72a48a04b6 |
|
BLAKE2b-256 | 9c28d6068986e2abf5adbe0013627fc4fd7afbb78eb0772cc7348760ad7d0b3f |
File details
Details for the file microdict-0.1.1-cp37-cp37m-win32.whl
.
File metadata
- Download URL: microdict-0.1.1-cp37-cp37m-win32.whl
- Upload date:
- Size: 58.4 kB
- Tags: CPython 3.7m, Windows x86
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c0c97e387c6d117290eec45c72725f5e0d7de6310c06ae47a55045d73164d01 |
|
MD5 | 638d7278db38c501544b232377789e06 |
|
BLAKE2b-256 | 8b0691eb6a517d76ce5e2cd73ce60c3a46285ac9e56da3a98d8320e85640ed93 |
File details
Details for the file microdict-0.1.1-cp37-cp37m-manylinux2010_x86_64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp37-cp37m-manylinux2010_x86_64.whl
- Upload date:
- Size: 259.2 kB
- Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcba03c07150a8669b2d323a65fb5864ce3835c328127609744d526b7b06adff |
|
MD5 | 6a6175fdee2beed54505ff9f6ecd1351 |
|
BLAKE2b-256 | bd2b35c53b6073e091b7e30fc75d136bad12d41e788679f4ecaf02280b4a7367 |
File details
Details for the file microdict-0.1.1-cp37-cp37m-manylinux2010_i686.whl
.
File metadata
- Download URL: microdict-0.1.1-cp37-cp37m-manylinux2010_i686.whl
- Upload date:
- Size: 258.5 kB
- Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1642cb6edcabf0f19f43f71727eaed444927b2f933ef13feb700964c0dfc0194 |
|
MD5 | 3cf98994e3d4e54db1c87e9805e02af1 |
|
BLAKE2b-256 | ac3d118ed31d7cb3fabce702cff2f5b444e2ac1c4fa225f5818cefb45a2f09de |
File details
Details for the file microdict-0.1.1-cp37-cp37m-manylinux1_x86_64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp37-cp37m-manylinux1_x86_64.whl
- Upload date:
- Size: 259.2 kB
- Tags: CPython 3.7m
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bce262be1a893a89fc1eba4a509662c9cf965cff45bde334dfc32a0cc0df7caa |
|
MD5 | 61ff164d94c15a7696221dde426eb4e2 |
|
BLAKE2b-256 | 860f6c64237f42a99de6a52bfde1961d0d2ec4a7dd00e997a5a0aa7949ab50bb |
File details
Details for the file microdict-0.1.1-cp37-cp37m-manylinux1_i686.whl
.
File metadata
- Download URL: microdict-0.1.1-cp37-cp37m-manylinux1_i686.whl
- Upload date:
- Size: 258.5 kB
- Tags: CPython 3.7m
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c3fe474bd512d4063c042e8d09a8bf02b50388864572bf96ac2f1a696967b87 |
|
MD5 | ffcee097e59f73c5343b05af0f837d91 |
|
BLAKE2b-256 | 7412a595a3ab2984bfb46270f906da3366585cc0d20feb64d29160abb5ff9edf |
File details
Details for the file microdict-0.1.1-cp37-cp37m-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp37-cp37m-macosx_10_9_x86_64.whl
- Upload date:
- Size: 223.4 kB
- Tags: CPython 3.7m, macOS 10.9+ x86-64
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed5c2e7fa0856c2a69b51f0c85c7f5609e3baccbeb516378bd27633e655323d8 |
|
MD5 | abea210a42513e07b77a3b14e80a51a2 |
|
BLAKE2b-256 | 2aadfb182268e9b9e753c2cc0958886ef0cff2c3e64a193c9d05d55d5192d33b |
File details
Details for the file microdict-0.1.1-cp36-cp36m-win_amd64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp36-cp36m-win_amd64.whl
- Upload date:
- Size: 67.3 kB
- Tags: CPython 3.6m, Windows x86-64
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b23bbbed0e414d8e154c2b286ed8563b2985b92c5aae1aae6b49a495953449eb |
|
MD5 | 1239e206463d8335a3e2761b2b1627d5 |
|
BLAKE2b-256 | 5525b76234e7ea1f7a8338da527e9b06645233918c166ebf4aeb3458c2ed5299 |
File details
Details for the file microdict-0.1.1-cp36-cp36m-win32.whl
.
File metadata
- Download URL: microdict-0.1.1-cp36-cp36m-win32.whl
- Upload date:
- Size: 58.4 kB
- Tags: CPython 3.6m, Windows x86
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c7b7781a16c23ff8112031bd19f43aba253adb11f18a6804a7e50ce03780deb |
|
MD5 | 4af6e1e5c097b7ed467bf35ec88007d9 |
|
BLAKE2b-256 | fae9cdfae3daf44d8343da416e8469ac61c3b863cfebb4d90791fb1f9abc014f |
File details
Details for the file microdict-0.1.1-cp36-cp36m-manylinux2010_x86_64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp36-cp36m-manylinux2010_x86_64.whl
- Upload date:
- Size: 254.6 kB
- Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4cd7415f7b863a3c645c287477c32361deb2ffd3750055e04969bf574e0f0f4 |
|
MD5 | 73b082647a0b81e6908d513ddcba411a |
|
BLAKE2b-256 | b3b27faddbbbf629226aef1084f9f0c1cd269178aa0679276cc878571774115e |
File details
Details for the file microdict-0.1.1-cp36-cp36m-manylinux2010_i686.whl
.
File metadata
- Download URL: microdict-0.1.1-cp36-cp36m-manylinux2010_i686.whl
- Upload date:
- Size: 253.8 kB
- Tags: CPython 3.6m, manylinux: glibc 2.12+ i686
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cf70204dd25119d6cf3fe1988e877e29120810c0916e6b26f78ed39faf8687e |
|
MD5 | 1b6322eff378034e1ccbe97ea0873e00 |
|
BLAKE2b-256 | ef7266ad3a8a87188421afe87a0687c0cb378d2723124ebb602aba0145b94419 |
File details
Details for the file microdict-0.1.1-cp36-cp36m-manylinux1_x86_64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp36-cp36m-manylinux1_x86_64.whl
- Upload date:
- Size: 254.6 kB
- Tags: CPython 3.6m
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fb0fad7758bad8403ce412d1506285f6c3106fb5021d3fe1fdce818b4570042 |
|
MD5 | f9d3606e2a21da1fdfe23a779503ec0a |
|
BLAKE2b-256 | fe554bceb4c7c625ed2abe9d35a9036fd1dcfa128d616dbd3b07400832862ad9 |
File details
Details for the file microdict-0.1.1-cp36-cp36m-manylinux1_i686.whl
.
File metadata
- Download URL: microdict-0.1.1-cp36-cp36m-manylinux1_i686.whl
- Upload date:
- Size: 253.8 kB
- Tags: CPython 3.6m
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f361df3511ff910233d97b455c9a9c215024c49b90930905550b059eed15ac1a |
|
MD5 | 96829a59620869b1fa9b88133b55c35b |
|
BLAKE2b-256 | 9f1862c8f54f3efc423a55c2e4c9268b4fabaefc1581be16445106d049570330 |
File details
Details for the file microdict-0.1.1-cp36-cp36m-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp36-cp36m-macosx_10_9_x86_64.whl
- Upload date:
- Size: 223.3 kB
- Tags: CPython 3.6m, macOS 10.9+ x86-64
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4a93c629964abfa9483618f9341bd2ee58b865cc0721e99525c5dc015e6bab1 |
|
MD5 | 8a40fcd4f1bf30d55e5a6074a3b65abe |
|
BLAKE2b-256 | b97d7f7e732047de0e44814ee0be4988830eaa95429b6abe3fa03687a4f33aea |
File details
Details for the file microdict-0.1.1-cp35-cp35m-win_amd64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp35-cp35m-win_amd64.whl
- Upload date:
- Size: 67.2 kB
- Tags: CPython 3.5m, Windows x86-64
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbd544af6fca114a8c2690a82062eb97a676317e13eb2db4356275a0ff2e1525 |
|
MD5 | 2826cee80ae142b7acfdcd3d052a1bbc |
|
BLAKE2b-256 | 93c6d9b9fe8c3be16784d703ef629dcd674df9c85e2124d4000a369877ba38a6 |
File details
Details for the file microdict-0.1.1-cp35-cp35m-win32.whl
.
File metadata
- Download URL: microdict-0.1.1-cp35-cp35m-win32.whl
- Upload date:
- Size: 58.3 kB
- Tags: CPython 3.5m, Windows x86
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3432f08db7aa934b7aa14b090f5c46d67b63d1cadd88a6573fb5988b125fdfd |
|
MD5 | b917ba4b3d7538b0b96ed5c59378f052 |
|
BLAKE2b-256 | eab33f083d0be6616b7812e506769b6613cbc51c5c6ff2696fde6f0111797919 |
File details
Details for the file microdict-0.1.1-cp35-cp35m-manylinux2010_x86_64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp35-cp35m-manylinux2010_x86_64.whl
- Upload date:
- Size: 253.1 kB
- Tags: CPython 3.5m, manylinux: glibc 2.12+ x86-64
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e833f641d6c23b9c64ad8584b59cca282e8698f80fa191c83658918c23f55b45 |
|
MD5 | a392b4e9b39e4460aa76fc0207c95f92 |
|
BLAKE2b-256 | e3da52016402166f07718116a35ce609adb7f22977076fde3ec320a6bd930706 |
File details
Details for the file microdict-0.1.1-cp35-cp35m-manylinux2010_i686.whl
.
File metadata
- Download URL: microdict-0.1.1-cp35-cp35m-manylinux2010_i686.whl
- Upload date:
- Size: 252.6 kB
- Tags: CPython 3.5m, manylinux: glibc 2.12+ i686
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e89eb15150422e12f6bed41070a81101f72cdbb1e82eb8bbb253914bbec68a38 |
|
MD5 | b1a427739dc6241ad3841ab5d20a11de |
|
BLAKE2b-256 | 3f7b60a01391fe9d2318c823a7da67e910e1d8430527edbc640ff5d66e284ff3 |
File details
Details for the file microdict-0.1.1-cp35-cp35m-manylinux1_x86_64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp35-cp35m-manylinux1_x86_64.whl
- Upload date:
- Size: 253.1 kB
- Tags: CPython 3.5m
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e13165d690b55d2a96e2215e12be3bc7e4aa62417dbc540b5e13919c6663d58 |
|
MD5 | 2c4e64ad8545e0d58f97945ecaf812bb |
|
BLAKE2b-256 | 58f49b111a445c454f3243b96799602e04613b0a64575e0f9d5c5bff71548365 |
File details
Details for the file microdict-0.1.1-cp35-cp35m-manylinux1_i686.whl
.
File metadata
- Download URL: microdict-0.1.1-cp35-cp35m-manylinux1_i686.whl
- Upload date:
- Size: 252.6 kB
- Tags: CPython 3.5m
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fced8887153fe5ce95259d046d9ebaf594651f40ae1c044017cac86151e1e091 |
|
MD5 | 35d441cd8ad69067195decedf11b6dbc |
|
BLAKE2b-256 | a8ce3c565b461149e899e84d31107ffa6174a8bf25d1fe66fd388bf5935d1408 |
File details
Details for the file microdict-0.1.1-cp35-cp35m-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: microdict-0.1.1-cp35-cp35m-macosx_10_9_x86_64.whl
- Upload date:
- Size: 222.4 kB
- Tags: CPython 3.5m, macOS 10.9+ x86-64
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0531620d444972e04adc998daa922127735c895ae830ff8bda1a489de471add4 |
|
MD5 | 7e887cde990404272261e57b6e344048 |
|
BLAKE2b-256 | 880b8ead8109521e317cf759f25cfa1125c7ba031f654beba1f7b5c87e5f4e03 |