Coverage for src/lexigram/features/manager/config.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-08-26 01:53 +0800

1"""FlagManager configuration dataclass.""" 

2 

3from __future__ import annotations 

4 

5from typing import ClassVar 

6 

7from lexigram.config.base import BaseConfig 

8from lexigram.validation import ConfigDict, Field 

9 

10 

11class ManagerConfig(BaseConfig): 

12 """Configuration for :class:`~lexigram.features.manager.FlagManager` instances.""" 

13 

14 model_config: ClassVar[ConfigDict] = ConfigDict(extra="ignore") 

15 

16 cache_ttl: int = Field(default=300) 

17 """Seconds to cache evaluations (0 = disabled).""" 

18 

19 default_enabled: bool = Field(default=False) 

20 """Return value when a flag is not found in the provider.""" 

21 

22 

23__all__ = ["ManagerConfig"]