Convert dictionaries into objects with attribute-style access
Project description
๐ฆ Dict2Obj - Dictionary to Object Converter
๐ Convert Python dictionaries into objects with attribute-style access.
๐ Supports nested dictionaries.
๐ Easily flatten dictionaries into dot notation.
๐ Features
โ
Convert dictionary keys to object attributes
โ
Return None for missing attributes instead of raising errors
โ
Convert back to dictionary with to_dict()
โ
Flatten to dot notation with to_dot_dict()
๐ Installation
pip install dict2objects
๐ Usage
Basic Example
from dict2objects import Dict2Obj
data = {"name": "Alice", "age": 30, "address": {"city": "New York", "zip": "10001"}}
obj = Dict2Obj(data)
print(obj.name) # Alice
print(obj.address.city) # New York
print(obj.to_dict())
# {'name': 'Alice', 'age': 30, 'address': {'city': 'New York', 'zip': '10001'}}
Flatten Dictionary
print(obj.to_dot_dict())
# {'name': 'Alice', 'age': 30, 'address.city': 'New York', 'address.zip': '10001'}
Handling Missing Keys
print(obj.salary) # None (key does not exist)
print(obj.address.country) # None (nested non-existent key)
๐๏ธ Project Structure
dict2obj/
โโโ dict2obj/
โ โโโ __init__.py
โ โโโ converter.py
โโโ tests/
โ โโโ test_converter.py
โโโ setup.py
โโโ pyproject.toml
โโโ README.md
โโโ LICENSE
โโโ .gitignore
๐ Development & Contribution
- Clone the repository:
git clone https://github.com/yourusername/dict2obj.git cd dict2obj
- Install dependencies:
pip install -e .
- Run tests:
python -m unittest discover tests
๐ License
This project is licensed under the MIT License. See the LICENSE file for details.
๐ Like this project? Give it a star โญ on GitHub!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dict2objects-0.0.2.tar.gz.
File metadata
- Download URL: dict2objects-0.0.2.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfceaf9a0262b6623b43d53189079b04db66f3a55df25549b9fe9a38378b3ab1
|
|
| MD5 |
e30d11491954331ebaa8cb0626300523
|
|
| BLAKE2b-256 |
b3954dadb25ee3f1219cd93552a0fdf6de892401ee64a7902860243cf4398bde
|
File details
Details for the file dict2objects-0.0.2-py3-none-any.whl.
File metadata
- Download URL: dict2objects-0.0.2-py3-none-any.whl
- Upload date:
- Size: 3.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d63a92b34924c71d3b298f21bf8293f724cce4aca79ac26fea5aa130c6ad4f5
|
|
| MD5 |
fca486498d199fd8798e25377bd52cd2
|
|
| BLAKE2b-256 |
ea27d9b5231fee625a7c2f7a1a90b557836e0da999d2768adaaebf04e25eae3b
|