munch
A dot-accessible dictionary (a la JavaScript objects)
Decision gist · record as of 2026-08-14
Yes. Munch is a small, stable, permissively licensed utility with zero security vulnerabilities and low install friction. It solves a real usability problem (dict attribute access) cleanly and is widely deployed. The dormant maintenance is not a concern for a mature, feature-complete package. Install it if you want to reduce dict-bracket noise in your codebase.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction: pure Python wheel with only importlib-metadata as a runtime dependency.
- Maintenance is dormant (last release July 2023, last commit June 2024), but the package is stable and widely used; no active development needed for a mature utility.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
last release 2023-07-01 (1140 days) · last repo commit 2024-06-05 · 785 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,293,513 downloads/mo, #2,670 on PyPI
Alternatives
Verify before relying
pip install munch
from munch import Munch
b = Munch()
b.hello = 'world'
print(b.hello) # 'world'
print(b['hello']) # 'world'- Whether optional YAML serialization (via PyYAML) or JSON serialization features are actively tested in the dormant maintenance window.
- Real-world performance characteristics when working with deeply nested Munch structures.
What it is and what it does
Munch is a dictionary subclass that lets you access and set keys using attribute notation (dot syntax) in addition to standard dictionary bracket notation. It is a maintained fork of the Bunch package, designed to provide JavaScript-like object syntax for Python dictionaries while remaining fully compatible with dict methods and operations.
The package supports nested Munch objects, serialization to JSON and YAML (when those libraries are available), and variants like DefaultMunch and DefaultFactoryMunch for handling missing keys. It is pure Python, requires only importlib-metadata at runtime, and works across Python 3.6 through 3.11. The codebase is stable and production-ready, though development is dormant.
Use it for
- Simplify config file handling by loading YAML or JSON into Munch objects and accessing values with dot notation instead of nested bracket syntax.
- Build API response wrappers where you want to treat JSON responses as objects with attribute access rather than raw dicts.
- Create lightweight data containers for function arguments or internal state without defining a full class.
- Serialize Python objects to JSON or YAML while maintaining readable attribute-style access during development.
- Replace repetitive dict key lookups in data transformation pipelines with cleaner dot-notation code.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Munch is a small, stable, permissively licensed utility with zero security vulnerabilities and low install friction. It solves a real usability problem (dict attribute access) cleanly and is widely deployed. The dormant maintenance is not a concern for a mature, feature-complete package. Install it if you want to reduce dict-bracket noise in your codebase.
Install
munch on PyPI
Before you install
Low friction: pure Python wheel with only importlib-metadata as a runtime dependency. Maintenance is dormant (last release July 2023, last commit June 2024), but the package is stable and widely used; no active development needed for a mature utility.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install munch
from munch import Munch
b = Munch()
b.hello = 'world'
print(b.hello) # 'world'
print(b['hello']) # 'world'
Verify before relying
- Whether optional YAML serialization (via PyYAML) or JSON serialization features are actively tested in the dormant maintenance window.
- Real-world performance characteristics when working with deeply nested Munch structures.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packageimportlib-metadata |
| Maintenance | Dormant 1,140 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,293,513 / month, #2,670 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software DevelopmentTopic :: Software Development :: LibrariesTopic :: Utilities |
Evidence: munch-4.0.0-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “attribute access dictionary”
- munchMunch provides a dictionary subclass that allows attribute-style…
- addictProvides a dictionary subclass that allows nested attribute-style…
- prodictProdict wraps Python dictionaries to allow dot-notation attribute…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also easydict · super-collections · jsonasobj2 · mo-dots · python-box · json-fix · aspy.yaml · addict · jsonasobj