| Name | navdict JSON |
| Version |
0.6.1
JSON |
| download |
| home_page | None |
| Summary | A navigable dictionary with dot notation access and automatic file loading |
| upload_time | 2025-10-16 22:04:13 |
| maintainer | None |
| docs_url | None |
| author | IvS KU Leuven |
| requires_python | >=3.10 |
| license | None |
| keywords |
|
| VCS |
|
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# NavigableDict (aka. navdict)
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.
## Features
- **Dot Notation Access**: Access nested dictionaries with `data.user.name` instead of `data["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
## Installation
Always install packages into a virtual environment which you can create with
```shell
python3 -m venv .venv
```
or when you are already using `uv`:
```shell
uv venv --python 3.12
```
Then install the package in that environment:
```bash
source .venv/bin/activate
pip install navdict
```
or with `uv`, simply run the following, since `uv` will automatically use
the environment.
```shell
uv pip install navdict
```
### Installation in a project
When you want to use `navdict` in a project you are developing, add the
dependency to your `pyproject.toml` manually, or using `uv`
```shell
uv add navdict
```
Raw data
{
"_id": null,
"home_page": null,
"name": "navdict",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "Rik Huygen <rik.huygen@kuleuven.be>",
"keywords": null,
"author": "IvS KU Leuven",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/40/33/9727e9b462dbb4c2214a555dd051b05aa5ae65a75b37fe5f7616d5aab11d/navdict-0.6.1.tar.gz",
"platform": null,
"description": "# NavigableDict (aka. navdict)\n\nA Python dictionary that supports both traditional key access (`dict[\"key\"]`)\nand convenient dot notation (`dict.key`) for navigating nested data \nstructures, plus some extras.\n\n## Features\n\n- **Dot Notation Access**: Access nested dictionaries with `data.user.name` instead of `data[\"user\"][\"name\"]`\n- **Backward Compatible**: Works exactly like a regular dictionary for all standard operations\n- **Nested Structure Support**: Automatically converts nested dictionaries to navdict objects\n- **Safe Attribute Access**: Handles keys that conflict with dictionary methods gracefully\n- **Type Hints**: Full typing support for better IDE integration\n- **Lightweight**: Minimal overhead over standard dictionaries\n\nand \n\n- **Automatic File Loading**: Seamlessly load and parse data files (CSV, YAML, JSON, etc.) when accessing dictionary keys, eliminating manual file handling\n- **Dynamic Class Instantiation**: Automatically import and instantiate classes with configurable parameters, enabling flexible object creation from configuration data\n\n\n## Installation\n\nAlways install packages into a virtual environment which you can create with\n```shell\npython3 -m venv .venv\n```\nor when you are already using `uv`:\n```shell\nuv venv --python 3.12\n```\n\nThen install the package in that environment:\n\n```bash\nsource .venv/bin/activate\npip install navdict\n```\n\nor with `uv`, simply run the following, since `uv` will automatically use \nthe environment.\n\n```shell\nuv pip install navdict\n```\n\n### Installation in a project\n\nWhen you want to use `navdict` in a project you are developing, add the \ndependency to your `pyproject.toml` manually, or using `uv`\n\n```shell\nuv add navdict\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "A navigable dictionary with dot notation access and automatic file loading",
"version": "0.6.1",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "5e3f012b91f8a78cecd1e66b697c591a4c31e9adfe05100b4e9ac5c8a21a3bb3",
"md5": "4af5a3ca767be1c82a21d7c85b26f7f1",
"sha256": "89237347fa3e6a5f90ff415659a60dc65daf101942ef3135225290989d9870eb"
},
"downloads": -1,
"filename": "navdict-0.6.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4af5a3ca767be1c82a21d7c85b26f7f1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 17302,
"upload_time": "2025-10-16T22:04:11",
"upload_time_iso_8601": "2025-10-16T22:04:11.866922Z",
"url": "https://files.pythonhosted.org/packages/5e/3f/012b91f8a78cecd1e66b697c591a4c31e9adfe05100b4e9ac5c8a21a3bb3/navdict-0.6.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "40339727e9b462dbb4c2214a555dd051b05aa5ae65a75b37fe5f7616d5aab11d",
"md5": "1da8b70276167c59f6f4f8ce1a19c373",
"sha256": "1dcef9f5279d85f1eee5a6181c393c4db371d2cec7027a0d07baefda4f307a94"
},
"downloads": -1,
"filename": "navdict-0.6.1.tar.gz",
"has_sig": false,
"md5_digest": "1da8b70276167c59f6f4f8ce1a19c373",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 309260,
"upload_time": "2025-10-16T22:04:13",
"upload_time_iso_8601": "2025-10-16T22:04:13.103503Z",
"url": "https://files.pythonhosted.org/packages/40/33/9727e9b462dbb4c2214a555dd051b05aa5ae65a75b37fe5f7616d5aab11d/navdict-0.6.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-16 22:04:13",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "navdict"
}