{"id":21072,"library":"coqpit-config","title":"Coqpit Config","description":"A simple, light-weight configuration management library that uses Python dataclasses. Version 0.2.5 supports Python >=3.10, Literal types, and CLI argument parsing. Released as needed; maintained by the Idiap research institute.","status":"active","version":"0.2.5","language":"python","source_language":"en","source_url":"https://github.com/idiap/coqui-ai-coqpit","tags":["config","dataclass","coqpit","cli"],"install":[{"cmd":"pip install coqpit-config","lang":"bash","label":"PyPI"}],"dependencies":[],"imports":[{"note":"","wrong":"","symbol":"Coqpit","correct":"from coqpit import Coqpit"}],"quickstart":{"code":"from dataclasses import dataclass\nfrom coqpit import Coqpit\n\n@dataclass\nclass MyConfig(Coqpit):\n    name: str = \"default\"\n    count: int = 1\n\nconfig = MyConfig()\nprint(config.to_dict())","lang":"python","description":"Define a config dataclass by inheriting from Coqpit, then instantiate and use."},"warnings":[{"fix":"Ensure all field values conform to the declared type annotation.","message":"v0.2.0 raises TypeError if config field value does not match declared type.","severity":"breaking","affected_versions":">=0.2.0"},{"fix":"Always define fields in the class body; avoid dynamic attribute assignment.","message":"Coqpit's has() method only returns True for predefined fields (set in __annotations__). Dynamically set attributes via setattr may cause has() to return False, and get() may fail.","severity":"gotcha","affected_versions":">=0.2.3"},{"fix":"Use keyword arguments: MyConfig(name='test', count=2) instead of MyConfig('test', 2).","message":"Initializing a Coqpit class with positional arguments is deprecated. Always use keyword arguments.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Use only keyword arguments: MyConfig(name='value')","cause":"Passing both positional and keyword argument for the same field.","error":"TypeError: __init__() got multiple values for argument 'name'"},{"fix":"Ensure the value matches the declared type (e.g., cast to int).","cause":"Value type does not match the field's type annotation.","error":"TypeError: Expected <class 'int'>, but got <class 'str'> for field 'count'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}