--- id: prodict version: "0.8.22" license: MIT license_treatment: permissive maintenance: aging --- # prodict — Prodict = Pro Dictionary with IDE friendly(auto code completion), dot-accessible attributes and more. License: permissive · Maintenance: aging · Downloads: 102.8K/mo ## What it is and what it does Prodict is a dictionary subclass that lets you access keys as dot-notation attributes instead of bracket notation, with built-in IDE autocompletion support through type hints. It is a true dict subclass, so it behaves like a regular dictionary while adding the convenience of attribute access and automatic nested object instantiation. The main use case is simplifying interaction with JSON data from REST APIs. Instead of manually constructing nested class hierarchies to deserialize JSON responses, you define Prodict subclasses with type annotations and call from_dict() on the JSON payload—the package automatically converts nested dicts to typed instances and performs type coercion on primitive fields. This eliminates boilerplate deserialization code and enables IDE autocompletion on the resulting objects. Use it for: - Deserialize JSON API responses into typed Python objects with one line, avoiding manual class construction and nested dict unpacking. - Access deeply nested JSON data using dot notation instead of bracket chains like d['key1']['key2']['key3']. - Add dynamic attributes to dict-like objects at runtime while retaining IDE autocompletion for declared fields. - Convert REST service responses with inconsistent types into correctly typed Python objects automatically. - Build lightweight data containers that behave like dicts but provide attribute access without defining full classes. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Prodict wraps Python dictionaries to allow dot-notation attribute access and IDE autocompletion, with optional type hints for automatic nested object instantiation and type conversion. Yes, if you work frequently with JSON APIs and want to reduce deserialization boilerplate while gaining IDE autocompletion. The package is stable, permissively licensed, and has no dependencies. However, maintenance is aging (last update 304 days ago), so evaluate whether the lack of recent activity poses a risk for your use case. ## Install pip install prodict uv add prodict poetry add prodict ## Installing prodict Before you install: Low install friction with no runtime dependencies. Maintenance is aging—last commit was 2025-10-14 and the package has not been updated for 304 days, though the repository remains active and not archived. License in practice: MIT license permits unrestricted use, modification, and distribution with minimal legal friction. Quickstart: from prodict import Prodict class User(Prodict): user_id: int name: str user = User(user_id="1", name="Ramazan") print(user.user_id) # 1 (converted to int) Verify before relying: - Whether automatic type conversion handles edge cases like custom types or complex nested structures beyond built-in types. - Performance characteristics when working with very large or deeply nested dictionary structures. - Compatibility with all Python versions between 3.7 and current, beyond the stated 3.12 classifier. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: aging - Downloads: 102.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags dict with dot notation access, dictionary attribute access, IDE autocompletion for dicts, typed dictionary wrapper, JSON to typed objects, nested dict instantiation, dict with type hints, json-deserialization, type-hints, dict-wrapper [View on SkillFed](https://skillfed.io/packages/prodict) · [View on PyPI](https://pypi.org/project/prodict/)