--- id: orderedmultidict version: "1.0.2" license: Unlicense license_treatment: permissive maintenance: aging --- # orderedmultidict — Ordered Multivalue Dictionary License: permissive · Maintenance: aging · Downloads: 6.0M/mo ## What it is and what it does orderedmultidict (omdict) is a dictionary implementation that allows multiple values to be stored under a single key, while maintaining the order in which keys and values were inserted or modified. It provides method parity with Python's built-in dict, so it can often be used as a drop-in replacement. The package depends only on six and is written in pure Python, making it lightweight and portable. The primary use case is handling data structures where a key naturally maps to multiple values—such as URL query parameters or form submissions—while preserving the sequence of insertions. It supports standard dict operations like update(), get(), and items(), alongside multidict-specific methods like add(), addlist(), and getlist() for managing multiple values per key. Use it for: - Parse and manipulate URL query strings where parameters may repeat (used by furl) - Store form submission data where a field name may have multiple values - Build ordered key-value stores that need to preserve insertion sequence across updates - Replace dict in code that needs multivalue semantics without rewriting the API ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. orderedmultidict provides a dictionary that stores multiple values per key while preserving insertion order, with an API compatible with Python's built-in dict. Yes, if you need multivalue dictionary semantics. The package is stable, has no known vulnerabilities, installs with low friction, and is in the public domain. The 269-day maintenance gap is a minor concern for a mature library, but the active repository and broad Python version support (2.7, 3.6–3.9, PyPy) make it reliable for existing projects. Not necessary if you can use a list-of-tuples or a dict-of-lists instead. ## Install pip install orderedmultidict uv add orderedmultidict poetry add orderedmultidict ## Installing orderedmultidict Before you install: Installation is straightforward with low friction; the package depends only on six and ships as a pure Python wheel. Maintenance is aging—no releases in 269 days—but the repository remains active and the codebase is stable. License in practice: Released under the Unlicense and placed in the public domain, so there are no licensing restrictions on use, modification, or redistribution. Quickstart: pip install orderedmultidict from orderedmultidict import omdict omd = omdict() omd.add(1, 'first') omd.add(1, 'second') print(omd.getlist(1)) # [1, 'first', 'second'] Verify before relying: - Current compatibility with Python versions beyond 3.9 (classifiers list 3.9 as the highest) - Whether the package is actively maintained or in maintenance-only mode given the 269-day gap since last release ## Package facts - License: Unlicense (permissive) - Python support: unspecified - Install friction: low - Maintenance: aging - Downloads: 6.0M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags multivalue dictionary, ordered multidict, multiple values per key, dict with multiple values, ordered key-value storage, multidict python, preserve insertion order dict, data-structure, dict-replacement [View on SkillFed](https://skillfed.io/packages/orderedmultidict) · [View on PyPI](https://pypi.org/project/orderedmultidict/)