{"id":44678,"library":"dataclass-factory","title":"dataclass-factory","description":"A utility class for creating instances of dataclasses from plain data (dicts, lists, etc.). Current version 2.16, released monthly or on demand. Supports parsing, validation, and serialization of nested dataclasses.","status":"active","version":"2.16","language":"python","source_language":"en","source_url":"https://github.com/tishka17/dataclass_factory","tags":["dataclasses","serialization","parsing"],"install":[{"cmd":"pip install dataclass-factory","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"","wrong":"","symbol":"Factory","correct":"from dataclass_factory import Factory"}],"quickstart":{"code":"from dataclasses import dataclass\nfrom dataclass_factory import Factory\n\n@dataclass\nclass User:\n    name: str\n    age: int\n\nfactory = Factory()\ndata = {\"name\": \"Alice\", \"age\": 30}\nuser = factory.load(data, User)\nprint(user)","lang":"python","description":"Basic usage: load a dataclass from a dict."},"warnings":[{"fix":"Create a new Factory per set of related dataclasses or call factory.clear() to reset caches.","message":"Factory uses caching; reusing the same factory instance for different schemas may cause memory leaks or stale schemas. Use separate factories for distinct data structures.","severity":"gotcha","affected_versions":"all"},{"fix":"Use parser.Parser with aliases or rename dataclass fields to match input keys.","message":"The library does not automatically handle field aliases (e.g., JSON snake_case vs Python camelCase). You must define a parser or use field(name=...) in dataclass.","severity":"gotcha","affected_versions":"all"},{"fix":"Use `from dataclass_factory import Factory` and rely on default schema generation.","message":"The old import `from dataclass_factory import Factory, schemas` is deprecated; schemas module is now internal.","severity":"deprecated","affected_versions":">=2.0"}],"env_vars":null,"search_vec":"'2.16':20 'class':6 'creat':8 'current':18 'data':14 'dataclass':2,11,33,34 'dataclass-factori':1 'demand':25 'dict':15 'etc':17 'factori':3 'instanc':9 'list':16 'month':22 'nest':32 'pars':27,36 'plain':13 'releas':21 'serial':30,35 'support':26 'util':5 'valid':28 'version':19","created_at":"2026-06-07T12:51:17.872231+00:00","updated_at":"2026-06-07T12:51:17.872231+00:00","problems":[{"fix":"Upgrade to >=2.0 or use factory.parse() in older versions.","cause":"Using version <2.0 where the method was named 'parse' instead of 'load'.","error":"AttributeError: 'Factory' object has no attribute 'load'"},{"fix":"Ensure your dataclass fields match the input keys exactly. Use field(init=False) for computed fields.","cause":"Passing field names as kwargs when the dataclass has __post_init__ that expects different arguments.","error":"TypeError: __init__() got an unexpected keyword argument 'name'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/tishka17/dataclass_factory","github":"https://github.com/tishka17/dataclass_factory","docs":null,"changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-29","last_verified":"2026-06-29","next_check":"2026-07-29","install_tag":null}}