{"id":13533099,"url":"https://github.com/aio-libs/multidict","last_synced_at":"2025-04-01T21:31:38.965Z","repository":{"id":3879771,"uuid":"51206425","full_name":"aio-libs/multidict","owner":"aio-libs","description":"The multidict implementation","archived":false,"fork":false,"pushed_at":"2025-03-28T20:41:54.000Z","size":2115,"stargazers_count":434,"open_issues_count":16,"forks_count":102,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-03-28T21:30:52.008Z","etag":null,"topics":["aiohttp","hacktoberfest","headers","multidict"],"latest_commit_sha":null,"homepage":"https://multidict.aio-libs.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aio-libs.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["asvetlov","webknjaz"]}},"created_at":"2016-02-06T14:52:32.000Z","updated_at":"2025-03-28T20:41:57.000Z","dependencies_parsed_at":"2023-02-16T12:30:49.162Z","dependency_job_id":"f4ff64c5-fb20-4e54-98b0-f5851cbef320","html_url":"https://github.com/aio-libs/multidict","commit_stats":{"total_commits":1359,"total_committers":58,"mean_commits":23.43103448275862,"dds":0.7218543046357616,"last_synced_commit":"888553ee583839f622539721a7866cb3bb552553"},"previous_names":[],"tags_count":154,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aio-libs%2Fmultidict","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aio-libs%2Fmultidict/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aio-libs%2Fmultidict/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aio-libs%2Fmultidict/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aio-libs","download_url":"https://codeload.github.com/aio-libs/multidict/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246365644,"owners_count":20765546,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aiohttp","hacktoberfest","headers","multidict"],"created_at":"2024-08-01T07:01:16.566Z","updated_at":"2025-04-01T21:31:38.958Z","avatar_url":"https://github.com/aio-libs.png","language":"Python","readme":"=========\nmultidict\n=========\n\n.. image:: https://github.com/aio-libs/multidict/actions/workflows/ci-cd.yml/badge.svg\n   :target: https://github.com/aio-libs/multidict/actions\n   :alt: GitHub status for master branch\n\n.. image:: https://codecov.io/gh/aio-libs/multidict/branch/master/graph/badge.svg?flag=pytest\n   :target: https://codecov.io/gh/aio-libs/multidict?flags[]=pytest\n   :alt: Coverage metrics\n\n.. image:: https://img.shields.io/pypi/v/multidict.svg\n   :target: https://pypi.org/project/multidict\n   :alt: PyPI\n\n.. image:: https://readthedocs.org/projects/multidict/badge/?version=latest\n   :target: https://multidict.aio-libs.org\n   :alt: Read The Docs build status badge\n\n.. image:: https://img.shields.io/endpoint?url=https://codspeed.io/badge.json\n   :target: https://codspeed.io/aio-libs/multidict\n   :alt: CodSpeed\n\n.. image:: https://img.shields.io/pypi/pyversions/multidict.svg\n   :target: https://pypi.org/project/multidict\n   :alt: Python versions\n\n.. image:: https://img.shields.io/matrix/aio-libs:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs%3Amatrix.org\u0026logo=matrix\u0026server_fqdn=matrix.org\u0026style=flat\n   :target: https://matrix.to/#/%23aio-libs:matrix.org\n   :alt: Matrix Room — #aio-libs:matrix.org\n\n.. image:: https://img.shields.io/matrix/aio-libs-space:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs-space%3Amatrix.org\u0026logo=matrix\u0026server_fqdn=matrix.org\u0026style=flat\n   :target: https://matrix.to/#/%23aio-libs-space:matrix.org\n   :alt: Matrix Space — #aio-libs-space:matrix.org\n\nMultidict is dict-like collection of *key-value pairs* where key\nmight occur more than once in the container.\n\nIntroduction\n------------\n\n*HTTP Headers* and *URL query string* require specific data structure:\n*multidict*. It behaves mostly like a regular ``dict`` but it may have\nseveral *values* for the same *key* and *preserves insertion ordering*.\n\nThe *key* is ``str`` (or ``istr`` for case-insensitive dictionaries).\n\n``multidict`` has four multidict classes:\n``MultiDict``, ``MultiDictProxy``, ``CIMultiDict``\nand ``CIMultiDictProxy``.\n\nImmutable proxies (``MultiDictProxy`` and\n``CIMultiDictProxy``) provide a dynamic view for the\nproxied multidict, the view reflects underlying collection changes. They\nimplement the ``collections.abc.Mapping`` interface.\n\nRegular mutable (``MultiDict`` and ``CIMultiDict``) classes\nimplement ``collections.abc.MutableMapping`` and allows them to change\ntheir own content.\n\n\n*Case insensitive* (``CIMultiDict`` and\n``CIMultiDictProxy``) assume the *keys* are case\ninsensitive, e.g.::\n\n   \u003e\u003e\u003e dct = CIMultiDict(key='val')\n   \u003e\u003e\u003e 'Key' in dct\n   True\n   \u003e\u003e\u003e dct['Key']\n   'val'\n\n*Keys* should be ``str`` or ``istr`` instances.\n\nThe library has optional C Extensions for speed.\n\n\nLicense\n-------\n\nApache 2\n\nLibrary Installation\n--------------------\n\n.. code-block:: bash\n\n   $ pip install multidict\n\nThe library is Python 3 only!\n\nPyPI contains binary wheels for Linux, Windows and MacOS.  If you want to install\n``multidict`` on another operating system (or *Alpine Linux* inside a Docker) the\ntarball will be used to compile the library from source.  It requires a C compiler and\nPython headers to be installed.\n\nTo skip the compilation, please use the `MULTIDICT_NO_EXTENSIONS` environment variable,\ne.g.:\n\n.. code-block:: bash\n\n   $ MULTIDICT_NO_EXTENSIONS=1 pip install multidict\n\nPlease note, the pure Python (uncompiled) version is about 20-50 times slower depending on\nthe usage scenario!!!\n\n\n\nChangelog\n---------\nSee `RTD page \u003chttp://multidict.aio-libs.org/en/latest/changes\u003e`_.\n","funding_links":["https://github.com/sponsors/asvetlov","https://github.com/sponsors/webknjaz"],"categories":["Data Structures","Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faio-libs%2Fmultidict","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faio-libs%2Fmultidict","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faio-libs%2Fmultidict/lists"}