prodict
Prodict = Pro Dictionary with IDE friendly(auto code completion), dot-accessible attributes and more.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
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 · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal legal friction.
last release 2025-10-14 (304 days) · last repo commit 2025-10-14 · 152 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 102,817 downloads/mo, #12,846 on PyPI
Alternatives
Verify before relying
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)- 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.
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 on this page. Verify before relying on it.
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
prodict on PyPI
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 the current Python release >=3.7 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Aging 304 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 102,817 / month, #12,846 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3.12Topic :: Software Development :: Libraries :: Python Modules |
Evidence: prodict-0.8.22-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “IDE autocompletion for dicts”
- prodictProdict wraps Python dictionaries to allow dot-notation attribute…
- construct-typingAdds type hints and static type checking support to the construct…
- google-auth-stubsProvides type stubs for the google-auth package, enabling static type…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also mo-dots · multi_key_dict · super-collections · python-box · jsonasobj2 · easydict · flatdict · type-enforced · schema