# dot-dict
A Python library for dot notation access to nested dictionaries.
## Features
- Access nested dictionary values using dot notation
- Automatic creation of nested structures
- Compatible with standard dictionary operations
- JSON serialization support
- Lightweight and efficient
## Installation
```bash
pip install dotdict-plus
```
## Usage
```python
from dotdict import DotDict
# Create a Dot object from a dictionary
data = {
"user": {
"name": "John",
"age": 30,
"address": {
"city": "New York",
"country": "USA"
}
}
}
dot_data = DotDict(data)
# Access values using dot notation
print(dot_data.user.name) # Output: John
print(dot_data.user.address.city) # Output: New York
# Set values using dot notation
dot_data.user.age = 31
dot_data.user.email = "john@example.com"
# Automatic creation of nested structures
dot_data.settings.theme = "dark"
dot_data.settings.language = "en"
# Convert back to dictionary
dict_data = dot_data.to_dict()
# JSON serialization
print(str(dot_data))
```
## Development
### pytest
```bash
pytest
```
### Setup
```bash
# Clone the repository
git clone https://git.xmov.ai/jiangbin/dot-dict.git
cd dot-dict
# Install development dependencies
pip install -e ".[dev]"
```
### Upload
```bash
make upload-test
```
## License
MIT License
Raw data
{
"_id": null,
"home_page": null,
"name": "dotdict-plus",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "python, dictionary, dot-notation, nested, data-structure",
"author": null,
"author_email": "Jiangbin <07jiangbin@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/61/28/67f16cbfa31a94fbbb6561a2d151d0a759241bf811c70aa5da7b553b510a/dotdict_plus-1.0.3.tar.gz",
"platform": null,
"description": "# dot-dict\n\nA Python library for dot notation access to nested dictionaries.\n\n## Features\n\n- Access nested dictionary values using dot notation\n- Automatic creation of nested structures\n- Compatible with standard dictionary operations\n- JSON serialization support\n- Lightweight and efficient\n\n## Installation\n\n```bash\npip install dotdict-plus\n```\n\n## Usage\n\n```python\nfrom dotdict import DotDict\n\n# Create a Dot object from a dictionary\ndata = {\n \"user\": {\n \"name\": \"John\",\n \"age\": 30,\n \"address\": {\n \"city\": \"New York\",\n \"country\": \"USA\"\n }\n }\n}\n\ndot_data = DotDict(data)\n\n# Access values using dot notation\nprint(dot_data.user.name) # Output: John\nprint(dot_data.user.address.city) # Output: New York\n\n# Set values using dot notation\ndot_data.user.age = 31\ndot_data.user.email = \"john@example.com\"\n\n# Automatic creation of nested structures\ndot_data.settings.theme = \"dark\"\ndot_data.settings.language = \"en\"\n\n# Convert back to dictionary\ndict_data = dot_data.to_dict()\n\n# JSON serialization\nprint(str(dot_data))\n```\n\n## Development\n\n### pytest\n\n```bash\npytest\n```\n\n\n\n### Setup\n\n```bash\n# Clone the repository\ngit clone https://git.xmov.ai/jiangbin/dot-dict.git\ncd dot-dict\n\n# Install development dependencies\npip install -e \".[dev]\"\n```\n\n\n### Upload\n\n```bash\nmake upload-test\n```\n\n\n## License\n\nMIT License \n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python library for dot notation access to nested dictionaries",
"version": "1.0.3",
"project_urls": {
"Homepage": "https://git.xmov.ai/jiangbin/dot-dict",
"Issues": "https://git.xmov.ai/jiangbin/dot-dict",
"Repository": "https://git.xmov.ai/jiangbin/dot-dict"
},
"split_keywords": [
"python",
" dictionary",
" dot-notation",
" nested",
" data-structure"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "48b06fe397a0062cff2633c5e9cfb06cebd7fbc7211ca5bc30c5c06986c377e8",
"md5": "d9c9a2089c92bf33f483612a991645f2",
"sha256": "f0abc906a3c8958b81fac825116e675e20c138585c02b304a6e8159fd5325d42"
},
"downloads": -1,
"filename": "dotdict_plus-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d9c9a2089c92bf33f483612a991645f2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 3324,
"upload_time": "2025-08-20T02:46:30",
"upload_time_iso_8601": "2025-08-20T02:46:30.499470Z",
"url": "https://files.pythonhosted.org/packages/48/b0/6fe397a0062cff2633c5e9cfb06cebd7fbc7211ca5bc30c5c06986c377e8/dotdict_plus-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "612867f16cbfa31a94fbbb6561a2d151d0a759241bf811c70aa5da7b553b510a",
"md5": "e831f8b84712dc1a4b54421e6a0e1027",
"sha256": "9bb23c333042e71b9716969c3d78b979e55e62a458cbf2ebd1c0e284dcdf5cda"
},
"downloads": -1,
"filename": "dotdict_plus-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "e831f8b84712dc1a4b54421e6a0e1027",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 3783,
"upload_time": "2025-08-20T02:46:32",
"upload_time_iso_8601": "2025-08-20T02:46:32.029470Z",
"url": "https://files.pythonhosted.org/packages/61/28/67f16cbfa31a94fbbb6561a2d151d0a759241bf811c70aa5da7b553b510a/dotdict_plus-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-20 02:46:32",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "dotdict-plus"
}