Metadata-Version: 2.1 Name: multidict Version: 4.5.2 Summary: multidict implementation Home-page: https://github.com/aio-libs/multidict Author: Andrew Svetlov Author-email: andrew.svetlov@gmail.com License: Apache 2 Project-URL: Chat: Gitter, https://gitter.im/aio-libs/Lobby Project-URL: CI: Shippable, https://app.shippable.com/github/aio-libs/multidict Project-URL: GitHub: issues, https://github.com/aio-libs/multidict/issues Project-URL: CI: Circle, https://circleci.com/gh/aio-libs/multidict Project-URL: Coverage: codecov, https://codecov.io/github/aio-libs/multidict Project-URL: CI: AppVeyor, https://ci.appveyor.com/project/asvetlov/multidict Project-URL: GitHub: repo, https://github.com/aio-libs/multidict Project-URL: Docs: RTD, https://multidict.readthedocs.io Project-URL: CI: Travis, https://travis-ci.com/aio-libs/multidict Platform: UNKNOWN Classifier: License :: OSI Approved :: Apache Software License Classifier: Intended Audience :: Developers Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Development Status :: 5 - Production/Stable Requires-Python: >=3.4.1 ========= multidict ========= .. image:: https://img.shields.io/pypi/v/multidict.svg :target: https://pypi.org/project/multidict .. image:: https://readthedocs.org/projects/multidict/badge/?version=latest :target: http://multidict.readthedocs.org/en/latest/?badge=latest .. image:: https://img.shields.io/travis-ci/com/aio-libs/multidict/master.svg :align: right :target: http://travis-ci.com/aio-libs/multidict .. image:: https://img.shields.io/appveyor/ci/aio-libs/multidict/master.svg?label=Windows%20build%20%40%20Appveyor :align: right :target: https://ci.appveyor.com/project/aio-libs/multidict/branch/master .. image:: https://img.shields.io/pypi/pyversions/multidict.svg :target: https://pypi.org/project/multidict .. image:: https://codecov.io/gh/aio-libs/multidict/branch/master/graph/badge.svg :target: https://codecov.io/gh/aio-libs/multidict :alt: Coverage metrics .. image:: https://badges.gitter.im/Join%20Chat.svg :target: https://gitter.im/aio-libs/Lobby :alt: 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 Cython_ optimization for sake of speed. License ------- Apache 2 .. _aiohttp: https://github.com/KeepSafe/aiohttp .. _Cython: http://cython.org/ Changelog --------- See `RTD page `_.