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.nameinstead 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 .venvor when you are already using uv:
uv venv --python 3.12Then install the package in that environment:
source .venv/bin/activate
pip install navdictor with uv, simply run the following, since uv will automatically use
the environment.
uv pip install navdictWhen 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