navdict


Namenavdict JSON
Version 0.6.1 PyPI version JSON
download
home_pageNone
SummaryA navigable dictionary with dot notation access and automatic file loading
upload_time2025-10-16 22:04:13
maintainerNone
docs_urlNone
authorIvS KU Leuven
requires_python>=3.10
licenseNone
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"
}
        
Elapsed time: 0.86335s