1Metadata-Version: 2.1 2Name: multidict 3Version: 5.2.0 4Summary: multidict implementation 5Home-page: https://github.com/aio-libs/multidict 6Author: Andrew Svetlov 7Author-email: andrew.svetlov@gmail.com 8License: Apache 2 9Project-URL: Chat: Gitter, https://gitter.im/aio-libs/Lobby 10Project-URL: CI: GitHub, https://github.com/aio-libs/multidict/actions 11Project-URL: Coverage: codecov, https://codecov.io/github/aio-libs/multidict 12Project-URL: Docs: RTD, https://multidict.readthedocs.io 13Project-URL: GitHub: issues, https://github.com/aio-libs/multidict/issues 14Project-URL: GitHub: repo, https://github.com/aio-libs/multidict 15Platform: UNKNOWN 16Classifier: License :: OSI Approved :: Apache Software License 17Classifier: Intended Audience :: Developers 18Classifier: Programming Language :: Python 19Classifier: Programming Language :: Python :: 3 20Classifier: Programming Language :: Python :: 3.6 21Classifier: Programming Language :: Python :: 3.7 22Classifier: Programming Language :: Python :: 3.8 23Classifier: Programming Language :: Python :: 3.9 24Classifier: Programming Language :: Python :: 3.10 25Classifier: Development Status :: 5 - Production/Stable 26Requires-Python: >=3.6 27License-File: LICENSE 28 29========= 30multidict 31========= 32 33.. image:: https://github.com/aio-libs/multidict/workflows/CI/badge.svg 34 :target: https://github.com/aio-libs/multidict/actions?query=workflow%3ACI 35 :alt: GitHub status for master branch 36 37.. image:: https://codecov.io/gh/aio-libs/multidict/branch/master/graph/badge.svg 38 :target: https://codecov.io/gh/aio-libs/multidict 39 :alt: Coverage metrics 40 41.. image:: https://img.shields.io/pypi/v/multidict.svg 42 :target: https://pypi.org/project/multidict 43 :alt: PyPI 44 45.. image:: https://readthedocs.org/projects/multidict/badge/?version=latest 46 :target: http://multidict.readthedocs.org/en/latest/?badge=latest 47 :alt: Documentationb 48 49.. image:: https://img.shields.io/pypi/pyversions/multidict.svg 50 :target: https://pypi.org/project/multidict 51 :alt: Python versions 52 53.. image:: https://badges.gitter.im/Join%20Chat.svg 54 :target: https://gitter.im/aio-libs/Lobby 55 :alt: Chat on Gitter 56 57Multidict is dict-like collection of *key-value pairs* where key 58might be occurred more than once in the container. 59 60Introduction 61------------ 62 63*HTTP Headers* and *URL query string* require specific data structure: 64*multidict*. It behaves mostly like a regular ``dict`` but it may have 65several *values* for the same *key* and *preserves insertion ordering*. 66 67The *key* is ``str`` (or ``istr`` for case-insensitive dictionaries). 68 69``multidict`` has four multidict classes: 70``MultiDict``, ``MultiDictProxy``, ``CIMultiDict`` 71and ``CIMultiDictProxy``. 72 73Immutable proxies (``MultiDictProxy`` and 74``CIMultiDictProxy``) provide a dynamic view for the 75proxied multidict, the view reflects underlying collection changes. They 76implement the ``collections.abc.Mapping`` interface. 77 78Regular mutable (``MultiDict`` and ``CIMultiDict``) classes 79implement ``collections.abc.MutableMapping`` and allows to change 80their own content. 81 82 83*Case insensitive* (``CIMultiDict`` and 84``CIMultiDictProxy``) ones assume the *keys* are case 85insensitive, e.g.:: 86 87 >>> dct = CIMultiDict(key='val') 88 >>> 'Key' in dct 89 True 90 >>> dct['Key'] 91 'val' 92 93*Keys* should be ``str`` or ``istr`` instances. 94 95The library has optional C Extensions for sake of speed. 96 97 98License 99------- 100 101Apache 2 102 103Library Installation 104-------------------- 105 106.. code-block:: bash 107 108 $ pip install multidict 109 110The library is Python 3 only! 111 112PyPI contains binary wheels for Linux, Windows and MacOS. If you want to install 113``multidict`` on another operation system (or *Alpine Linux* inside a Docker) the 114Tarball will be used to compile the library from sources. It requires C compiler and 115Python headers installed. 116 117To skip the compilation please use `MULTIDICT_NO_EXTENSIONS` environment variable, 118e.g.: 119 120.. code-block:: bash 121 122 $ MULTIDICT_NO_EXTENSIONS=1 pip install multidict 123 124Please note, Pure Python (uncompiled) version is about 20-50 times slower depending on 125the usage scenario!!! 126 127 128 129Changelog 130--------- 131See `RTD page <http://multidict.readthedocs.org/en/latest/changes.html>`_. 132 133