multidict implementation
Project description
Multidict is dict-like collection of key-value pairs where key might be occurred more than once in the container.
Introduction
HTTP Headers and URL query string require specific data structure: multidict. It behaves mostly like a regular dict but it may have several values for the same key and preserves insertion ordering.
The key is str (or istr for case-insensitive dictionaries).
multidict has four multidict classes: MultiDict, MultiDictProxy, CIMultiDict and CIMultiDictProxy.
Immutable proxies (MultiDictProxy and CIMultiDictProxy) provide a dynamic view for the proxied multidict, the view reflects underlying collection changes. They implement the collections.abc.Mapping interface.
Regular mutable (MultiDict and CIMultiDict) classes implement collections.abc.MutableMapping and allows to change their own content.
Case insensitive (CIMultiDict and CIMultiDictProxy) ones assume the keys are case insensitive, e.g.:
>>> dct = CIMultiDict(key='val') >>> 'Key' in dct True >>> dct['Key'] 'val'
Keys should be str or istr instances.
The library has optional C Extensions for sake of speed.
License
Apache 2
Library Installation
$ pip install multidict
The library is Python 3 only!
PyPI contains binary wheels for Linux, Windows and MacOS. If you want to install multidict on another operation system (or Alpine Linux inside a Docker) the Tarball will be used to compile the library from sources. It requires C compiler and Python headers installed.
To skip the compilation please use MULTIDICT_NO_EXTENSIONS environment variable, e.g.:
$ MULTIDICT_NO_EXTENSIONS=1 pip install multidict
Please note, Pure Python (uncompiled) version is about 20-50 times slower depending on the usage scenario!!!
Changelog
See RTD page.
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 Distribution
Built Distributions
Hashes for multidict-5.0.2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7b8b5bd16376c8ac2977748bd978a200326af5145d8d0e7f799e2b355d425b6 |
|
MD5 | 34836b87da30cb8fde7040ad40c4d8bd |
|
BLAKE2b-256 | 13ea6c2a3ab6b823eaaf8a04a8221397972762a91557d9e0dce3775ef91bdb5d |
Hashes for multidict-5.0.2-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17847fede1aafdb7e74e01bb34ab47a1a1ea726e8184c623c45d7e428d2d5d34 |
|
MD5 | 86ce383bcea546239ca9503849068320 |
|
BLAKE2b-256 | 26779854cac53e3ef72ff0a49451757318c2a042e2df11a510d59fbac6e65a5a |
Hashes for multidict-5.0.2-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa0503947a99a1be94f799fac89d67a5e20c333e78ddae16e8534b151cdc588a |
|
MD5 | ff9692d2840ca32b7c5f7e6f70ee7b3a |
|
BLAKE2b-256 | 0dd88434c400be1e815af1d337c6da3fe079ba57bdab32795bf2ae7db617054a |
Hashes for multidict-5.0.2-cp39-cp39-manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43c7a87d8c31913311a1ab24b138254a0ee89142983b327a2c2eab7a7d10fea9 |
|
MD5 | 8d365f8ee44712f178410c0e7bcfd338 |
|
BLAKE2b-256 | 699edfd456414bb71c931b442bd790f3b99ec29753dc4d87632b985b91264539 |
Hashes for multidict-5.0.2-cp39-cp39-manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbabfc12b401d074298bfda099c58dfa5348415ae2e4ec841290627cb7cb6b2e |
|
MD5 | 94b9088007eb20e26f8960d2071f5ebe |
|
BLAKE2b-256 | bf26441c006fb0368afdadc69122b7caa28060763c636aaff2cf500265c239c3 |
Hashes for multidict-5.0.2-cp39-cp39-manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4df708ef412fd9b59b7e6c77857e64c1f6b4c0116b751cb399384ec9a28baa66 |
|
MD5 | bdb92de28b54c50c8e517d15ec2b4ae9 |
|
BLAKE2b-256 | 195d77ee6500496c3c507a8c0ecb870c9aac48f9e0b5243f61f7169726231764 |
Hashes for multidict-5.0.2-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e61cc244fd30bd9fdfae13bdd0c5ec65da51a86575ff1191255cae677045ffe |
|
MD5 | e87b57453364aa363678747a67b80c29 |
|
BLAKE2b-256 | 83bd4c15dc62d938b532c6f8d63f39f857f8824c3068a4bec29860e3024bd470 |
Hashes for multidict-5.0.2-cp39-cp39-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af271c2540d1cd2a137bef8d95a8052230aa1cda26dd3b2c73d858d89993d518 |
|
MD5 | df18cbfb5c1e3c359d17c2090ba3f80f |
|
BLAKE2b-256 | 6c1369d420e5a6504effc78039f593084a0efeead45abefc7d7681148ce5b359 |
Hashes for multidict-5.0.2-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a3f19da871befa53b48dd81ee48542f519beffa13090dc135fffc18d8fe36db |
|
MD5 | c63cd93dba5db2375542475a82f34982 |
|
BLAKE2b-256 | c5c255bef8288d514e2779cb34cebba0f562c408e76cb5395da74647ccdefb43 |
Hashes for multidict-5.0.2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 060d68ae3e674c913ec41a464916f12c4d7ff17a3a9ebbf37ba7f2c681c2b33e |
|
MD5 | c43327d7d5d2da186b7becd13930657d |
|
BLAKE2b-256 | 9123a42f5608a99ea255551bfcd8b8a0e776d5fd25692f0948142d29e0f1534b |
Hashes for multidict-5.0.2-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8efcf070d60fd497db771429b1c769a3783e3a0dd96c78c027e676990176adc5 |
|
MD5 | c94bef8d2a4f424f92985cbf24a369ac |
|
BLAKE2b-256 | 2b9dbacbb01930e6d68dac4ebcf2f8f941f7f1c13c2ea02f16ea5579347e8aa2 |
Hashes for multidict-5.0.2-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06f39f0ddc308dab4e5fa282d145f90cd38d7ed75390fc83335636909a9ec191 |
|
MD5 | 4a45aa54e9a4f2f7533d096e9e2d3c43 |
|
BLAKE2b-256 | ad2ff7206fd5e28d228dff3ef1d8ce75eda445ae750d7da1166ee96dc52864b7 |
Hashes for multidict-5.0.2-cp38-cp38-manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fa4549f341a057feec4c3139056ba73e17ed03a506469f447797a51f85081b5 |
|
MD5 | 269d6719ca653e47ff606ac672f1c2c1 |
|
BLAKE2b-256 | d260cb9fd24b621d67cf7959ae65234c49a2d0e6e4ffaf7543c84d93bfa812bb |
Hashes for multidict-5.0.2-cp38-cp38-manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e58db0e0d60029915f7fc95a8683fa815e204f2e1990f1fb46a7778d57ca8c35 |
|
MD5 | d1216fc5e4f6f06cc59d4f1033658a80 |
|
BLAKE2b-256 | 8ed3acbddb957b88e53a5656757be50dfd44397aafd63a94642d4e231cfce77b |
Hashes for multidict-5.0.2-cp38-cp38-manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6168839491a533fa75f3f5d48acbb829475e6c7d9fa5c6e245153b5f79b986a3 |
|
MD5 | 3c9d24a23ef0c7c1fa52fd6542243352 |
|
BLAKE2b-256 | 712acec85e5aeb4a9d6a94c4bb66bab1be3ed87912e9d77dc9acab1a49618559 |
Hashes for multidict-5.0.2-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6566749cd78cb37cbf8e8171b5cd2cbfc03c99f0891de12255cf17a11c07b1a3 |
|
MD5 | 17361a31332d8ae511ef02b7d8fe7aee |
|
BLAKE2b-256 | 767de0af0389ef421ff7952951c7ba97493bcfef62bb7d6c92fbe4bbda9408f4 |
Hashes for multidict-5.0.2-cp38-cp38-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20cc9b2dd31761990abff7d0e63cd14dbfca4ebb52a77afc917b603473951a38 |
|
MD5 | b422b41552cd5bce3b2441b9627ba874 |
|
BLAKE2b-256 | bae389fabf1843dc4a4ccdb6a2561bbd4bb0f2c38b60318e336acbe1a6613311 |
Hashes for multidict-5.0.2-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2576e30bbec004e863d87216bc34abe24962cc2e964613241a1c01c7681092ab |
|
MD5 | 35c4bc7c755f400c66abdc46a902ba47 |
|
BLAKE2b-256 | 699ee8d5cfcbd9cba9480f32f1110951028fc7209c7a7789d21da3cba64fbf37 |
Hashes for multidict-5.0.2-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f65a2442c113afde52fb09f9a6276bbc31da71add99dc76c3adf6083234e07c6 |
|
MD5 | 9bf48a7058de1dd6416163e2c7d55566 |
|
BLAKE2b-256 | 11fde6c4bd37df386d97da3b366c29c0523bc4d83fd2e1ba812c48b144eb523f |
Hashes for multidict-5.0.2-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ed9b280f7778ad6f71826b38a73c2fdca4077817c64bc1102fdada58e75c03c |
|
MD5 | 532d08eac61d66c140516dc31c902840 |
|
BLAKE2b-256 | 53076965b53ad8dd8e432747ed5311fddb8f4e0e58e570eb0311053f155ff814 |
Hashes for multidict-5.0.2-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6128d2c0956fd60e39ec7d1c8f79426f0c915d36458df59ddd1f0cff0340305f |
|
MD5 | 6e4d5aea040bb36e26a4a9f75c43bff4 |
|
BLAKE2b-256 | b3367e3d2dfcae5255973743bd777f2b29fa5c4be58247bb444131999eee8d59 |
Hashes for multidict-5.0.2-cp37-cp37m-manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f612e8ef8408391a4a3366e3508bab8ef97b063b4918a317cb6e6de4415f01af |
|
MD5 | 94fc4837d0f49bf7eb324c4c93b56016 |
|
BLAKE2b-256 | b62d73fee6ab2f033395336dbbcd1886ffdb5a7138505ea4df1502982f311187 |
Hashes for multidict-5.0.2-cp37-cp37m-manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d99da85d6890267292065e654a329e1d2f483a5d2485e347383800e616a8c0b1 |
|
MD5 | 19a9440a279e59130a6de6d6e99cab55 |
|
BLAKE2b-256 | 00b4a43766350349003eb7006bfbe51bcba59b061eb1040f7930ba51e2c25093 |
Hashes for multidict-5.0.2-cp37-cp37m-manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cd102057b09223b919f9447c669cf2efabeefb42a42ae6233f25ffd7ee31a79 |
|
MD5 | 6e86b94af8b41874754ea3d54d12c4be |
|
BLAKE2b-256 | aa737019b9c92bb7a025b3c583d2bbb233f32c5ddff475db6b16557bfc8930a7 |
Hashes for multidict-5.0.2-cp37-cp37m-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9380b3f2b00b23a4106ba9dd022df3e6e2e84e1788acdbdd27603b621b3288df |
|
MD5 | f50a19a8e89d6fc8c4f755ea3459be6b |
|
BLAKE2b-256 | 7c4111e247193763e08c82d3c614fb7d48b10d9cd43109b8cd472a2d34b3a314 |
Hashes for multidict-5.0.2-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b561e76c9e21402d9a446cdae13398f9942388b9bff529f32dfa46220af54d00 |
|
MD5 | 68d106f57cadf5f5ad991ba1391e3561 |
|
BLAKE2b-256 | 84184c1c56b16f350593599237009a5181b74758af726016bc3ba77a944fa5f5 |
Hashes for multidict-5.0.2-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 359ea00e1b53ceef282232308da9d9a3f60d645868a97f64df19485c7f9ef628 |
|
MD5 | 04ba88bb512c0b0cb97c5fa67e714f12 |
|
BLAKE2b-256 | 4b906e051ea841db3ee29bb21572700bff121d0611b3355fca098701626f3039 |
Hashes for multidict-5.0.2-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c58e53e1c73109fdf4b759db9f2939325f510a8a5215135330fe6755921e4886 |
|
MD5 | b72d4977867aaa93138fcbd5196b81d4 |
|
BLAKE2b-256 | 5f9994141928fa4583ab7331f342f2e762f1d6c48269334ab15e7330d68c99e5 |
Hashes for multidict-5.0.2-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 653b2bbb0bbf282c37279dd04f429947ac92713049e1efc615f68d4e64b1dbc2 |
|
MD5 | 891ad9abeb315b85f52040fbbbda87f6 |
|
BLAKE2b-256 | 4ebcc186bd3e462a1b1e0f3455688133208219f57fea56ac9282d9129e291fe1 |
Hashes for multidict-5.0.2-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76cbdb22f48de64811f9ce1dd4dee09665f84f32d6a26de249a50c1e90e244e0 |
|
MD5 | 09f5073def3102f88d72ec5c079aa7c5 |
|
BLAKE2b-256 | a595f89c97db4d27b24fce7c6fb6ef05228f347e43bbf67e4737a0660c8753fd |
Hashes for multidict-5.0.2-cp36-cp36m-manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59182e975b8c197d0146a003d0f0d5dc5487ce4899502061d8df585b0f51fba2 |
|
MD5 | 61d4d12830af4695c4f764954ea1b69a |
|
BLAKE2b-256 | eba21262a5c2a77b2bd6944e603af9b83f52f5697e47a460e717e79edf7e8796 |
Hashes for multidict-5.0.2-cp36-cp36m-manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62abab8088704121297d39c8f47156cb8fab1da731f513e59ba73946b22cf3d0 |
|
MD5 | 5ef456c9e133e2d632ba14e9a5c345b3 |
|
BLAKE2b-256 | 3729482db3bb4169c563f9957b9b0642c87352c9343cad3e48008039ef7c9253 |
Hashes for multidict-5.0.2-cp36-cp36m-manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ab9cad4c5ef5c41e1123ed1f89f555aabefb9391d4e01fd6182de970b7267ed |
|
MD5 | 82bd8cfb98e690f4a2c5ad7815963c0e |
|
BLAKE2b-256 | ec16136c65440e3a1c107c2a474319668c1fc32fe222ecd8c7067fd3d12908fd |
Hashes for multidict-5.0.2-cp36-cp36m-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4a6fb98e9e9be3f7d70fd3e852369c00a027bd5ed0f3e8ade3821bcad257408 |
|
MD5 | b403972f87a0486fd3f80a145220c2ff |
|
BLAKE2b-256 | 6e570abc981d72be92aea7a68b0f55bd6721b1bd6dc5196ce9980e6b76f97b21 |
Hashes for multidict-5.0.2-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b98af08d7bb37d3456a22f689819ea793e8d6961b9629322d7728c4039071641 |
|
MD5 | 0954d54eec837d35805367738bfe5ec0 |
|
BLAKE2b-256 | 0fec7fd1cfd6a683b98c4da58a8c8516df481dca50f0203e478d2c0bb85c2fc6 |
Hashes for multidict-5.0.2-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b82400ef848bbac6b9035a105ac6acaa1fb3eea0d164e35bbb21619b88e49fed |
|
MD5 | 9f6fd9721fbdc29c0d794c5cf30ff575 |
|
BLAKE2b-256 | fe53692366fd809736380f02d4ba202eed068264d9b8e1ec728c45feb7e0dcc1 |