A Python dictionary that supports both traditional key access (dict["key"]
)
and convenient dot notation (dict.key
) for navigating nested data
structures, plus some extras.
- Dot Notation Access: Access nested dictionaries with
data.user.name
instead ofdata["user"]["name"]
- Backward Compatible: Works exactly like a regular dictionary for all standard operations
- Nested Structure Support: Automatically converts nested dictionaries to navdict objects
- Safe Attribute Access: Handles keys that conflict with dictionary methods gracefully
- Type Hints: Full typing support for better IDE integration
- Lightweight: Minimal overhead over standard dictionaries
and
- Automatic File Loading: Seamlessly load and parse data files (CSV, YAML, JSON, etc.) when accessing dictionary keys, eliminating manual file handling
- Dynamic Class Instantiation: Automatically import and instantiate classes with configurable parameters, enabling flexible object creation from configuration data
Always install packages into a virtual environment which you can create with
python3 -m venv .venv
or when you are already using uv
:
uv venv --python 3.12
Then install the package in that environment:
source .venv/bin/activate
pip install navdict
or with uv
, simply run the following, since uv
will automatically use
the environment.
uv pip install navdict
When you want to use navdict
in a project you are developing, add the
dependency to your pyproject.toml
manually, or using uv
uv add navdict