Skip to content

artifacts_by_conference

src.models.aggregates.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/aggregates/artifacts_by_conference.py
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class YearBreakdown(BaseModel):
    """Per-year breakdown of artifact counts and badges."""

    year: int = Field(description="Publication year, e.g. 2023.", examples=[2023])
    total: int = Field(
        ge=0, description="Total number of evaluated artifacts for this conference in this year.", examples=[45]
    )
    available: int = Field(ge=0, description="Number of artifacts that received the 'available' badge.", examples=[30])
    functional: int = Field(
        ge=0, description="Number of artifacts that received the 'functional' badge.", examples=[25]
    )
    reproducible: int = Field(ge=0, description="Number of artifacts that received the 'reproduced' badge.")
    reusable: int = Field(ge=0, description="Number of artifacts that received the 'reusable' badge.", examples=[5])

    model_config = {"extra": "forbid"}

ConferenceEntry

Bases: BaseModel

Artifact counts and badge breakdowns for a single conference across all tracked years.

Source code in src/models/aggregates/artifacts_by_conference.py
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
class ConferenceEntry(BaseModel):
    """Artifact counts and badge breakdowns for a single conference across all tracked years."""

    name: str = Field(
        description="Conference abbreviation, e.g. 'ACSAC', 'OSDI', 'USENIXSEC'.", examples=["Mathias Payer"]
    )
    category: Literal["systems", "security"] = Field(description="Research domain: 'systems' or 'security'.")
    venue_type: Literal["conference", "workshop"] = Field(
        description="Venue type: 'conference' for main conferences, 'workshop' for co-located workshops.",
        examples=["conference"],
    )
    total_artifacts: int = Field(
        ge=0,
        description="Total number of evaluated artifacts across all years for this conference.",
        examples=[127],
    )
    years: list[YearBreakdown] = Field(
        description="Per-year breakdown of artifact counts and badge distributions. Ordered chronologically.",
        examples=[[2021, 2022, 2023]],
    )

    model_config = {"extra": "forbid"}