Skip to content

summary

src.models.summary

Summary statistics schema.

Generated by generate_statistics.pysummary.yml.

Summary

Bases: BaseModel

High-level summary statistics for the Jekyll site.

Written as summary.yml in _data/.

Source code in src/models/summary.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Summary(BaseModel):
    """High-level summary statistics for the Jekyll site.

    Written as ``summary.yml`` in ``_data/``.
    """

    total_artifacts: int = Field(ge=0, description="Total number of artifacts across all conferences.")
    total_conferences: int = Field(ge=0, description="Total number of tracked conferences.")
    systems_artifacts: int = Field(ge=0, description="Artifacts from systems conferences.")
    security_artifacts: int = Field(ge=0, description="Artifacts from security conferences.")
    conferences_list: list[str] = Field(description="List of all tracked conference abbreviations.")
    systems_conferences: list[str] = Field(description="List of systems conference abbreviations.")
    security_conferences: list[str] = Field(description="List of security conference abbreviations.")
    year_range: str = Field(pattern=r"^\d{4}-\d{4}$", description="Range of years covered in 'YYYY-YYYY' format.")
    last_updated: str = Field(description="ISO 8601 UTC timestamp of last data update.")

    model_config = {"extra": "forbid"}