# cdgriffith/Box

Python dictionaries with advanced dot notation access

Repository: https://github.com/cdgriffith/Box
Canonical: https://ross.abutalabs.com/products/cdgriffith-box
Homepage: https://github.com/cdgriffith/Box/wiki
Language: Python
License: MIT
License Family: permissive
Topics: dictionaries, bunch, python-types, python, python3, object, helper, python-library, pypi, box, python-box, addict
Last push: 2026-02-21T16:20:58+00:00

## Health v2 (maintenance only)
Score: 75/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 68, release rhythm 71, longevity 100
- inputs: {"age_days": 3462, "days_push": 193, "days_rel": 193, "gap_med": 18.0, "n_releases_24m": 5}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2830, forks 131 (observed 2026-08-28T04:07:24.318128+00:00)

## What it is
Box is a Python library providing dictionary subclasses with advanced dot notation attribute access, automatic conversion of nested dicts and lists, and safe handling of keys with spaces or special characters. It supports easy serialization to and from formats like JSON, YAML, TOML, and msgpack, with optional Cython optimizations for faster loading of large data sets.

## Use cases
- access nested dictionary values with dot notation in python
- load json or yaml config files into attribute-accessible objects
- replace dicts with a drop-in object-style container
- safely access dict keys containing spaces or special characters
- convert between dict, json, yaml, toml, and msgpack
- recursively convert nested dicts and lists into attribute objects

## When to choose
- you want dict-like data with attribute access and automatic nested conversion
- you need convenient loading and saving of config or data files in multiple formats
- you want a mature, MIT-licensed, actively maintained library with Cython speedups

## When to avoid
- you need strict type checking or schema validation of the data structure
- you cannot tolerate breaking changes between major versions without pinning
- you require minimal dependencies and pure-stdlib behavior on unsupported platforms

## Facets
- artifact type: library
- maturity: active
- function: serialization, developer-tools
- domain: developer-tools
- platform: python, cross-platform
- tags: dot-notation, dictionaries, bunch, python-types, config-loading, json-yaml-toml, data-engineering

## Member repositories
- cdgriffith/Box (main) score 75

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:24.318128+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:38:10.324717+00:00, confidence not recorded.
  - readme: https://github.com/cdgriffith/Box (fetched 2026-08-28T04:07:24.318128+00:00, sha b1b8095ba249)
  - homepage: https://github.com/cdgriffith/Box/wiki (fetched 2026-08-29T09:53:22.498995+00:00, sha 19992fd10c55)
- Data as of 2026-08-30T08:39:29.467469+00:00.
