devctrl.utility.settings_db#

Database-like structure for storing SettingsClass instances.

This module provides a generic database-like structure that supports different backends for storing and retrieving SettingsClass instances. The default backend uses YAML files.

Example usage: .. code-block:: python

from devctrl.utility.settings import SettingsClass, dataclass from devctrl.utility.settings_db import SettingsDb, YamlFileBackend

@dataclass class MySettings(SettingsClass):

name: str value: int

backend = YamlFileBackend[str, MySettings](“settings.yaml”) db = SettingsDb[str, MySettings](backend, MySettings)

db[“test”] = MySettings(name=”example”, value=42) print(db[“test”].value) # 42 db.save()

Classes

SettingsBackend

Abstract base class for settings backends.

SettingsDb

Database-like structure for storing SettingsClass instances.

YamlFileBackend

YAML file-based backend for SettingsDb.