# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= python-multidict VERSION= 6.4.3 KEYWORDS= python VARIANTS= v12 v13 SDESC[v12]= Multidict implementation (3.12) SDESC[v13]= Multidict implementation (3.13) HOMEPAGE= https://github.com/aio-libs/multidict CONTACT= Python_Automaton[python@ironwolf.systems] DOWNLOAD_GROUPS= main SITES[main]= PYPIWHL/96/10/7d526c8974f017f1e7ca584c71ee62a638e9334d8d33f27d7cdfc9ae79e4 DISTFILE[1]= multidict-6.4.3-py3-none-any.whl:main DIST_SUBDIR= python-src DF_INDEX= 1 SPKGS[v12]= single SPKGS[v13]= single OPTIONS_AVAILABLE= PY312 PY313 OPTIONS_STANDARD= none VOPTS[v12]= PY312=ON PY313=OFF VOPTS[v13]= PY312=OFF PY313=ON DISTNAME= multidict-6.4.3.dist-info GENERATED= yes [PY312].USES_ON= python:v12,wheel [PY313].USES_ON= python:v13,wheel [FILE:2370:descriptions/desc.single] ========= multidict ========= :alt: GitHub status for master branch :alt: Coverage metrics :alt: PyPI :alt: Read The Docs build status badge :alt: CodSpeed :alt: Python versions :alt: Matrix Room — #aio-libs: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!!! For extension development, set the MULTIDICT_DEBUG_BUILD environment variable to compile the extensions in debug mode: .. code-block:: console $ MULTIDICT_DEBUG_BUILD=1 pip install multidict [FILE:122:distinfo] 59fe01ee8e2a1e8ceb3f6dbb216b09c8d9f4ef1c22c4fc825d045a147fa2ebc9 10400 python-src/multidict-6.4.3-py3-none-any.whl