Skip to main content

multidict implementation

Project description

Azure Pipelines status for master branch Coverage metrics PyPI Documentationb Python versions Chat on Gitter

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

multidict-4.7.5.tar.gz (50.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

multidict-4.7.5-cp38-cp38-win_amd64.whl (48.8 kB view details)

Uploaded CPython 3.8Windows x86-64

multidict-4.7.5-cp38-cp38-win32.whl (46.5 kB view details)

Uploaded CPython 3.8Windows x86

multidict-4.7.5-cp38-cp38-manylinux1_x86_64.whl (162.9 kB view details)

Uploaded CPython 3.8

multidict-4.7.5-cp38-cp38-macosx_10_13_x86_64.whl (48.9 kB view details)

Uploaded CPython 3.8macOS 10.13+ x86-64

multidict-4.7.5-cp37-cp37m-win_amd64.whl (48.6 kB view details)

Uploaded CPython 3.7mWindows x86-64

multidict-4.7.5-cp37-cp37m-win32.whl (46.4 kB view details)

Uploaded CPython 3.7mWindows x86

multidict-4.7.5-cp37-cp37m-manylinux1_x86_64.whl (149.9 kB view details)

Uploaded CPython 3.7m

multidict-4.7.5-cp37-cp37m-macosx_10_13_x86_64.whl (48.8 kB view details)

Uploaded CPython 3.7mmacOS 10.13+ x86-64

multidict-4.7.5-cp36-cp36m-win_amd64.whl (48.6 kB view details)

Uploaded CPython 3.6mWindows x86-64

multidict-4.7.5-cp36-cp36m-win32.whl (46.4 kB view details)

Uploaded CPython 3.6mWindows x86

multidict-4.7.5-cp36-cp36m-manylinux1_x86_64.whl (148.8 kB view details)

Uploaded CPython 3.6m

multidict-4.7.5-cp36-cp36m-macosx_10_13_x86_64.whl (48.8 kB view details)

Uploaded CPython 3.6mmacOS 10.13+ x86-64

multidict-4.7.5-cp35-cp35m-win_amd64.whl (48.7 kB view details)

Uploaded CPython 3.5mWindows x86-64

multidict-4.7.5-cp35-cp35m-win32.whl (46.2 kB view details)

Uploaded CPython 3.5mWindows x86

multidict-4.7.5-cp35-cp35m-manylinux1_x86_64.whl (148.5 kB view details)

Uploaded CPython 3.5m

multidict-4.7.5-cp35-cp35m-macosx_10_13_x86_64.whl (48.8 kB view details)

Uploaded CPython 3.5mmacOS 10.13+ x86-64

File details

Details for the file multidict-4.7.5.tar.gz.

File metadata

  • Download URL: multidict-4.7.5.tar.gz
  • Upload date:
  • Size: 50.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5.tar.gz
Algorithm Hash digest
SHA256 aee283c49601fa4c13adc64c09c978838a7e812f85377ae130a24d7198c0331e
MD5 9a1ed2cc0cd3e5dd2e71921104f2b760
BLAKE2b-256 61b4475114b3f1671da634f89239e61038f8742d9ac13aa34b32a05bf8022d22

See more details on using hashes here.

File details

Details for the file multidict-4.7.5-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: multidict-4.7.5-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 48.8 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 544fae9261232a97102e27a926019100a9db75bec7b37feedd74b3aa82f29969
MD5 4c37f1e81a198668fe35d7846ac3562f
BLAKE2b-256 f273f4b2dc0e17b58efc42b595ed6e02878168931c8b0e7f7faf2d84126641fa

See more details on using hashes here.

File details

Details for the file multidict-4.7.5-cp38-cp38-win32.whl.

File metadata

  • Download URL: multidict-4.7.5-cp38-cp38-win32.whl
  • Upload date:
  • Size: 46.5 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 bb519becc46275c594410c6c28a8a0adc66fe24fef154a9addea54c1adb006f5
MD5 ec06286733f5a7765859cc3083cb5815
BLAKE2b-256 b309997a09bfcde304fb3196320cb84251411966489eebf10c6ead4edde01988

See more details on using hashes here.

File details

Details for the file multidict-4.7.5-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: multidict-4.7.5-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 162.9 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ae402f43604e3b2bc41e8ea8b8526c7fa7139ed76b0d64fc48e28125925275b2
MD5 0ca2d9e604184045e9e8efcd04222729
BLAKE2b-256 b238b04156c04bf44e4f886219d8369274b5db3ab9a1c97b75413e33679307eb

See more details on using hashes here.

File details

Details for the file multidict-4.7.5-cp38-cp38-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: multidict-4.7.5-cp38-cp38-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 48.9 kB
  • Tags: CPython 3.8, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5-cp38-cp38-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b51249fdd2923739cd3efc95a3d6c363b67bbf779208e9f37fd5e68540d1a4d4
MD5 2ebcdff748235d25b3bec1bc77cbe375
BLAKE2b-256 bfda1b24e4d1bd9fe1b98e9c94bd2007755a2aa48d93d85766ed7f3fadf7c5bb

See more details on using hashes here.

File details

Details for the file multidict-4.7.5-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: multidict-4.7.5-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 48.6 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 317f96bc0950d249e96d8d29ab556d01dd38888fbe68324f46fd834b430169f1
MD5 890f35deb3aa469ca989c90ce22c60b4
BLAKE2b-256 d93cd1c93ae89f16f280a506b1ef02078d24865e3fa545177eeff1181b03265b

See more details on using hashes here.

File details

Details for the file multidict-4.7.5-cp37-cp37m-win32.whl.

File metadata

  • Download URL: multidict-4.7.5-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 46.4 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 4b7df040fb5fe826d689204f9b544af469593fb3ff3a069a6ad3409f742f5928
MD5 05c5296458bba1c46089167722c4c82d
BLAKE2b-256 1a66dbf390610d9e33699b604a7223fb40f5002f2f3466b398e58f6e5a8a32fa

See more details on using hashes here.

File details

Details for the file multidict-4.7.5-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: multidict-4.7.5-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 149.9 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 dc561313279f9d05a3d0ffa89cd15ae477528ea37aa9795c4654588a3287a9ab
MD5 75518093b25e81b27632f207269f4fc7
BLAKE2b-256 983fe53dea9face4115abfb796f398bf74747a0d294537b12935d1bbf697c11a

See more details on using hashes here.

File details

Details for the file multidict-4.7.5-cp37-cp37m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: multidict-4.7.5-cp37-cp37m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 48.8 kB
  • Tags: CPython 3.7m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a326f4240123a2ac66bb163eeba99578e9d63a8654a59f4688a79198f9aa10f8
MD5 124c5ecc2f3f9c83da8ea968ea25d9a4
BLAKE2b-256 548cb667b6a0efb9ca96cf48ae970a821bf99f2be60603366ce04b3b7c0a6bad

See more details on using hashes here.

File details

Details for the file multidict-4.7.5-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: multidict-4.7.5-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 48.6 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 6e6fef114741c4d7ca46da8449038ec8b1e880bbe68674c01ceeb1ac8a648e78
MD5 c3ea26f62a7dc8d117dcd9384e34d9e5
BLAKE2b-256 76c1e7b7a41a377e082e71fd459d75082814c67881e7de7685a6ae4fccbfea99

See more details on using hashes here.

File details

Details for the file multidict-4.7.5-cp36-cp36m-win32.whl.

File metadata

  • Download URL: multidict-4.7.5-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 46.4 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 620b37c3fea181dab09267cd5a84b0f23fa043beb8bc50d8474dd9694de1fa6e
MD5 ff7fa8771d65be67ff11d27d7340ab98
BLAKE2b-256 8ee82215ea9f863e0bc47c460ab7b9843ab06ef61715ad62ebd9db5c8aee65ee

See more details on using hashes here.

File details

Details for the file multidict-4.7.5-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: multidict-4.7.5-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 148.8 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 85cb26c38c96f76b7ff38b86c9d560dea10cf3459bb5f4caf72fc1bb932c7136
MD5 80f6020567a096ce5cef69b30b453ca9
BLAKE2b-256 302e3ab2f1fb72571f75013db323a3799d505d99f3bc203513604f1ffb9b7858

See more details on using hashes here.

File details

Details for the file multidict-4.7.5-cp36-cp36m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: multidict-4.7.5-cp36-cp36m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 48.8 kB
  • Tags: CPython 3.6m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e439c9a10a95cb32abd708bb8be83b2134fa93790a4fb0535ca36db3dda94d20
MD5 771c886a9acda9601df751e20e80d9e2
BLAKE2b-256 bbe2a184505abb365be0188b150358bbe2e4dcf437dfd33cf7e5e3a4497c23ba

See more details on using hashes here.

File details

Details for the file multidict-4.7.5-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: multidict-4.7.5-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 48.7 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 c2c37185fb0af79d5c117b8d2764f4321eeb12ba8c141a95d0aa8c2c1d0a11dd
MD5 619b2efcc9dbd33ff0c2f7c61b202882
BLAKE2b-256 5f1495af0f0f54fe198e9701955f9ba2afef47922025ec9dfe084cb637c91c37

See more details on using hashes here.

File details

Details for the file multidict-4.7.5-cp35-cp35m-win32.whl.

File metadata

  • Download URL: multidict-4.7.5-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 46.2 kB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 7774e9f6c9af3f12f296131453f7b81dabb7ebdb948483362f5afcaac8a826f1
MD5 c6960a79b6535ca767eb1a2e6f6c8004
BLAKE2b-256 e759cb845a1139e397ad73223978f3dab998e3f483a2a3197d7de2f18ce49c9b

See more details on using hashes here.

File details

Details for the file multidict-4.7.5-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: multidict-4.7.5-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 148.5 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 42f56542166040b4474c0c608ed051732033cd821126493cf25b6c276df7dd35
MD5 5cc3443abe43d67b47de9a7427994203
BLAKE2b-256 18a241cfebb8c3f7d49a2421192a0f9f3de3d2bc59d59cbdd55985cca1490dd2

See more details on using hashes here.

File details

Details for the file multidict-4.7.5-cp35-cp35m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: multidict-4.7.5-cp35-cp35m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 48.8 kB
  • Tags: CPython 3.5m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for multidict-4.7.5-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 fc3b4adc2ee8474cb3cd2a155305d5f8eda0a9c91320f83e55748e1fcb68f8e3
MD5 3813c75f23ca410af656d8bec58f359b
BLAKE2b-256 87930d83ef8bb5a1d3c8ca4c1c7d6d5d25455a15ba7a1689ed4e336cdc22d372

See more details on using hashes here.

Supported by

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