Coverage for lintro / config / enforce_config.py: 100%

5 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-04-03 18:53 +0000

1"""Enforce configuration model.""" 

2 

3from pydantic import BaseModel, ConfigDict, Field 

4 

5 

6class EnforceConfig(BaseModel): 

7 """Cross-cutting settings enforced across all tools via CLI flags. 

8 

9 These settings override native tool configs to ensure consistency 

10 across different tools for shared concerns. 

11 

12 Attributes: 

13 model_config: Pydantic model configuration. 

14 line_length: Line length limit injected via CLI flags. 

15 Injected as: --line-length (ruff, black) 

16 target_python: Python version target (e.g., "py313"). 

17 Injected as: --target-version (ruff, black) 

18 """ 

19 

20 model_config = ConfigDict(frozen=False, extra="forbid") 

21 

22 line_length: int | None = Field(default=None, ge=1, le=500) 

23 target_python: str | None = None