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
« prev ^ index » next coverage.py v7.13.0, created at 2026-04-03 18:53 +0000
1"""Enforce configuration model."""
3from pydantic import BaseModel, ConfigDict, Field
6class EnforceConfig(BaseModel):
7 """Cross-cutting settings enforced across all tools via CLI flags.
9 These settings override native tool configs to ensure consistency
10 across different tools for shared concerns.
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 """
20 model_config = ConfigDict(frozen=False, extra="forbid")
22 line_length: int | None = Field(default=None, ge=1, le=500)
23 target_python: str | None = None