Coverage for src/somesy/mkdocs/models.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.16.0, created at 2026-11-03 13:31 +0000

1"""Pyproject models.""" 

2 

3from typing import Annotated 

4 

5from pydantic import ( 

6 BaseModel, 

7 Field, 

8) 

9 

10from somesy.core.types import HttpUrlStr 

11 

12 

13class MkDocsConfig(BaseModel): 

14 """MkDocs configuration model.""" 

15 

16 model_config = {"use_enum_values": True} 

17 

18 site_name: Annotated[str, Field(min_length=1, description="Site name")] 

19 site_description: Annotated[str | None, Field(description="Site description")] = ( 

20 None 

21 ) 

22 site_author: Annotated[str | None, Field(description="Site authors")] = None 

23 site_url: Annotated[HttpUrlStr | None, Field(description="Site homepage")] = None 

24 repo_url: Annotated[HttpUrlStr | None, Field(description="Package repository")] = ( 

25 None 

26 ) 

27 repo_name: Annotated[str | None, Field(description="Repository name")] = None