Skelet is a new config storage/validation library for Python. The goal is to provide a minimal API for collecting settings in one place, while ensuring thread safety, transactionality, and type/value correctness. Configs can be loaded and validated from TOML, YAML, JSON, and environment variables.
Most libraries like pydantic-settings or dynaconf are great for model-based settings, but they aren’t thread-safe out of the box and don’t handle config mutation atomically. Skelet manages assignments under per-field mutexes (so you won’t see half-applied values or race conditions in concurrent apps), and it supports field-level docs, validation, secret fields (hiding any type), and hooks for value changes.
Meant for production scenarios where config safety matters (services, CLI tools, distributed systems), but also handy for scripts that need explicit config handling.
pomponchik•1h ago
Most libraries like pydantic-settings or dynaconf are great for model-based settings, but they aren’t thread-safe out of the box and don’t handle config mutation atomically. Skelet manages assignments under per-field mutexes (so you won’t see half-applied values or race conditions in concurrent apps), and it supports field-level docs, validation, secret fields (hiding any type), and hooks for value changes.
Meant for production scenarios where config safety matters (services, CLI tools, distributed systems), but also handy for scripts that need explicit config handling.