Skip to content

artifacts_by_conference

src.models.artifacts_by_conference

Artifacts by conference schema.

Generated by generate_statistics.pyartifacts_by_conference.yml.

YearBreakdown

Bases: BaseModel

Per-year breakdown of artifact counts and badges.

Source code in src/models/artifacts_by_conference.py
13
14
15
16
17
18
19
20
21
22
23
class YearBreakdown(BaseModel):
    """Per-year breakdown of artifact counts and badges."""

    year: int = Field(description="Publication year.")
    total: int = Field(ge=0, description="Total artifacts for this conference-year.")
    available: int = Field(ge=0, description="Count of 'available' badges.")
    functional: int = Field(ge=0, description="Count of 'functional' badges.")
    reproducible: int = Field(ge=0, description="Count of 'reproduced' badges.")
    reusable: int = Field(ge=0, description="Count of 'reusable' badges.")

    model_config = {"extra": "forbid"}

ConferenceEntry

Bases: BaseModel

Artifact counts and badge breakdowns for a single conference.

Source code in src/models/artifacts_by_conference.py
26
27
28
29
30
31
32
33
34
35
36
37
class ConferenceEntry(BaseModel):
    """Artifact counts and badge breakdowns for a single conference."""

    name: str = Field(description="Conference abbreviation.")
    category: Literal["systems", "security"] = Field(description="Research domain.")
    venue_type: Literal["conference", "workshop"] = Field(
        description="Whether this is a full conference or a workshop.",
    )
    total_artifacts: int = Field(ge=0, description="Total artifacts across all years.")
    years: list[YearBreakdown] = Field(description="Per-year breakdown of artifact counts and badges.")

    model_config = {"extra": "forbid"}