Skip to main content

Convert dictionaries into objects with attribute-style access

Project description

๐Ÿ“ฆ Dict2Obj - Dictionary to Object Converter

Python Version License

๐Ÿš€ 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

  1. Clone the repository:
    git clone https://github.com/yourusername/dict2obj.git
    cd dict2obj
    
  2. Install dependencies:
    pip install -e .
    
  3. 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

dict2objects-0.0.2.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dict2objects-0.0.2-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

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

Hashes for dict2objects-0.0.2.tar.gz
Algorithm Hash digest
SHA256 bfceaf9a0262b6623b43d53189079b04db66f3a55df25549b9fe9a38378b3ab1
MD5 e30d11491954331ebaa8cb0626300523
BLAKE2b-256 b3954dadb25ee3f1219cd93552a0fdf6de892401ee64a7902860243cf4398bde

See more details on using hashes here.

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

Hashes for dict2objects-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5d63a92b34924c71d3b298f21bf8293f724cce4aca79ac26fea5aa130c6ad4f5
MD5 fca486498d199fd8798e25377bd52cd2
BLAKE2b-256 ea27d9b5231fee625a7c2f7a1a90b557836e0da999d2768adaaebf04e25eae3b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page