coqpit-config
Simple (maybe too simple), light-weight config management through python data-classes.
Decision gist · record as of 2026-08-14
Yes. Coqpit-config is a lightweight, actively maintained solution for configuration management with no external dependencies beyond typing-extensions. It's well-suited for ML projects and any Python application needing structured, validated configs with JSON persistence and CLI override support. The MIT license and recent maintenance signal make it a low-risk choice.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Low install friction with a single runtime dependency (typing-extensions).
- Active maintenance with recent commits and no known vulnerabilities.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal restrictions, suitable for both open-source and commercial projects.
last release 2026-04-10 (126 days) · last repo commit 2026-04-10 · 3 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 125,196 downloads/mo, #11,832 on PyPI
Alternatives
Verify before relying
pip install coqpit-config
from dataclasses import dataclass
from coqpit import Coqpit
@dataclass
class MyConfig(Coqpit):
val_a: int = 10
val_b: str = "example"
config = MyConfig()
config.save_json('config.json')
config2 = MyConfig()
config2.load_json('config.json')- Whether Union-typed fields in console arguments are truly unsupported or have workarounds.
- Performance characteristics with deeply nested or very large configuration hierarchies.
- Compatibility with dataclass features beyond basic field types and defaults.
What it is and what it does
Coqpit-config is a configuration management library built on Python dataclasses that handles schema definition, validation, and serialization without external dependencies. It lets you define configuration schemas as dataclasses with type hints and default values, then serialize them to JSON, load them back, and override values from the command line. The library supports nested configurations, inheritance, and dynamic value checking through a check_values() method you can define on your config class.
It's designed for machine learning workflows where you need to manage experiment configurations, hyperparameters, and dataset paths that change between runs. You can decompose large configs into nested dataclasses, validate field ranges and types, and easily swap parameters via command-line arguments without modifying code. The library intentionally avoids external dependencies beyond typing-extensions to keep your environment minimal.
Use it for
- Define and validate ML experiment hyperparameters with type checking and default ranges.
- Save and load training configurations to JSON files for reproducibility across runs.
- Override configuration values from the command line for hyperparameter search without code changes.
- Organize large configuration files into nested dataclasses for readability and maintainability.
- Enforce consistent configuration schemas across different platforms or programming languages via JSON export.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Coqpit-config is a lightweight, actively maintained solution for configuration management with no external dependencies beyond typing-extensions. It's well-suited for ML projects and any Python application needing structured, validated configs with JSON persistence and CLI override support. The MIT license and recent maintenance signal make it a low-risk choice.
Install
coqpit-config on PyPI
Before you install
Low install friction with a single runtime dependency (typing-extensions). Active maintenance with recent commits and no known vulnerabilities.
Requires Python 3.10 or later.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions, suitable for both open-source and commercial projects.
Quickstart
pip install coqpit-config
from dataclasses import dataclass
from coqpit import Coqpit
@dataclass
class MyConfig(Coqpit):
val_a: int = 10
val_b: str = "example"
config = MyConfig()
config.save_json('config.json')
config2 = MyConfig()
config2.load_json('config.json')
Verify before relying
- Whether Union-typed fields in console arguments are truly unsupported or have workarounds.
- Performance characteristics with deeply nested or very large configuration hierarchies.
- Compatibility with dataclass features beyond basic field types and defaults.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagetyping-extensions |
| Maintenance | Actively maintained 126 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 125,196 / month, #11,832 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 :: DevelopersOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: coqpit_config-0.2.5-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 › “nested config inheritance”
- coqpit-configCoqpit-config provides lightweight configuration management through…
- coqpitCoqpit provides configuration management through Python dataclasses…
- hydra-coreHydra manages configuration for complex applications through…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also coqpit · simple-parsing · dataclass-wizard · databind · databind.json · databind.core · argparse-dataclass · draccus · dacite · coqui-tts