skillfed

MultiMapping

Special MultiMapping objects used in Zope.

multimapping v5.1 130.4K downloads/30d#11,644 on PyPI0
License unclear ZPL-2.1 Active released

What it is and what it does

MultiMapping is a specialized data structure from the Zope ecosystem that implements multi-level dictionary-like objects. It allows you to stack multiple mappings and look up keys across them in order, with fallback to the next layer if a key is not found. The package is mature (first released in 2010) and is primarily used internally by Zope components like ZRDB for managing layered configuration or request-scoped data.

The package depends only on ExtensionClass and is available as a pure-Python wheel, making installation straightforward. It supports modern Python versions (3.10–3.14) and both CPython and PyPy. Unless you are working directly with Zope internals or ZRDB, you are unlikely to need this package directly—it is typically pulled in as a transitive dependency of larger Zope applications.

Use it for:

  • Building layered configuration systems where keys resolve through multiple fallback dictionaries.
  • Implementing request-scoped variable lookup in Zope web applications.
  • Supporting ZRDB database query parameter resolution with multiple scopes.
  • Creating namespace hierarchies where inner scopes shadow outer ones.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

MultiMapping provides special mapping objects used internally by Zope, particularly in ZRDB, that support multiple layers of key lookups with fallback behavior.

Yes, if you are working with Zope or ZRDB and need its multi-level mapping behavior. No, if you are not already in the Zope ecosystem—standard Python dictionaries or ChainMap cover most use cases. The package is actively maintained, has no known vulnerabilities, and installs cleanly, but its utility is narrow and domain-specific.

Install

multimapping on PyPI

pip

pip install multimapping

uv

uv add multimapping

poetry

poetry add multimapping

Installing MultiMapping

Before you install

Low install friction with a pure-Python wheel. Actively maintained as of 2026-01-23 with recent Python version support (3.10–3.14). Single dependency on ExtensionClass.

License in practice

Licensed under ZPL-2.1 with unclear treatment classification. Review the license terms if you have specific compliance requirements before adopting.

Quickstart

pip install MultiMapping

from MultiMapping import MultiMapping

mm = MultiMapping([{'a': 1}, {'b': 2}])
print(mm['a'])  # accesses first mapping

Requires Python 3.10 or later.

Verify before relying

  • Whether MultiMapping is necessary for typical Zope applications or only for advanced ZRDB use cases.
  • Performance characteristics when layering many mappings or with large dictionaries.
  • Real-world usage patterns outside the Zope framework ecosystem.

Package facts

License ZPL-2.1 (unclear)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 1 — ExtensionClass
Maintenance actively maintained — 203 days since the last release
Last repo commit
First released
Downloads 130,367/month — #11,644 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: multimapping-5.1-py3-none-any.whl

Development Status :: 6 - MatureEnvironment :: Web EnvironmentFramework :: Zope :: 5Operating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

Tags

zope multimapping objectsnested dictionary lookupzope internal data structureslayered key resolutionzrdb mapping support
zope-ecosystemlayered-lookup

More Application Frameworks packages