123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- Metadata-Version: 2.1
- Name: multidict
- Version: 6.1.0
- 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: Matrix, https://matrix.to/#/#aio-libs:matrix.org
- Project-URL: Chat: Matrix Space, https://matrix.to/#/#aio-libs-space:matrix.org
- Project-URL: CI: GitHub, https://github.com/aio-libs/multidict/actions
- Project-URL: Code of Conduct, https://github.com/aio-libs/.github/blob/master/CODE_OF_CONDUCT.md
- Project-URL: Coverage: codecov, https://codecov.io/github/aio-libs/multidict
- Project-URL: Docs: Changelog, https://multidict.aio-libs.org/en/latest/changes/
- Project-URL: Docs: RTD, https://multidict.aio-libs.org
- Project-URL: GitHub: issues, https://github.com/aio-libs/multidict/issues
- Project-URL: GitHub: repo, https://github.com/aio-libs/multidict
- Classifier: Development Status :: 5 - Production/Stable
- Classifier: Intended Audience :: Developers
- Classifier: License :: OSI Approved :: Apache Software License
- Classifier: Programming Language :: Python
- Classifier: Programming Language :: Python :: 3
- Classifier: Programming Language :: Python :: 3.8
- Classifier: Programming Language :: Python :: 3.9
- Classifier: Programming Language :: Python :: 3.10
- Classifier: Programming Language :: Python :: 3.11
- Classifier: Programming Language :: Python :: 3.12
- Classifier: Programming Language :: Python :: 3.13
- Requires-Python: >=3.8
- Description-Content-Type: text/x-rst
- License-File: LICENSE
- Requires-Dist: typing-extensions >=4.1.0 ; python_version < "3.11"
- =========
- multidict
- =========
- .. image:: https://github.com/aio-libs/multidict/actions/workflows/ci-cd.yml/badge.svg
- :target: https://github.com/aio-libs/multidict/actions
- :alt: GitHub status for master branch
- .. 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://img.shields.io/pypi/v/multidict.svg
- :target: https://pypi.org/project/multidict
- :alt: PyPI
- .. image:: https://readthedocs.org/projects/multidict/badge/?version=latest
- :target: https://multidict.aio-libs.org
- :alt: Read The Docs build status badge
- .. image:: https://img.shields.io/pypi/pyversions/multidict.svg
- :target: https://pypi.org/project/multidict
- :alt: Python versions
- .. image:: https://img.shields.io/matrix/aio-libs:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs%3Amatrix.org&logo=matrix&server_fqdn=matrix.org&style=flat
- :target: https://matrix.to/#/%23aio-libs:matrix.org
- :alt: Matrix Room — #aio-libs:matrix.org
- .. image:: https://img.shields.io/matrix/aio-libs-space:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs-space%3Amatrix.org&logo=matrix&server_fqdn=matrix.org&style=flat
- :target: https://matrix.to/#/%23aio-libs-space:matrix.org
- :alt: Matrix Space — #aio-libs-space:matrix.org
- Multidict is dict-like collection of *key-value pairs* where key
- might occur 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 them to change
- their own content.
- *Case insensitive* (``CIMultiDict`` and
- ``CIMultiDictProxy``) 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 speed.
- License
- -------
- Apache 2
- Library Installation
- --------------------
- .. code-block:: bash
- $ 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 operating system (or *Alpine Linux* inside a Docker) the
- tarball will be used to compile the library from source. It requires a C compiler and
- Python headers to be installed.
- To skip the compilation, please use the `MULTIDICT_NO_EXTENSIONS` environment variable,
- e.g.:
- .. code-block:: bash
- $ MULTIDICT_NO_EXTENSIONS=1 pip install multidict
- Please note, the pure Python (uncompiled) version is about 20-50 times slower depending on
- the usage scenario!!!
- Changelog
- ---------
- See `RTD page <http://multidict.aio-libs.org/en/latest/changes>`_.
|