Skip to content

paper_index

src.models.artifacts.paper_index

Paper index schema.

Generated by generate_paper_index.pypapers.json.

Paper

Bases: BaseModel

A paper published at a tracked conference, with artifact badges and citation data.

Source code in src/models/artifacts/paper_index.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
class Paper(BaseModel):
    """A paper published at a tracked conference, with artifact badges and citation data."""

    id: int = Field(
        ge=1,
        description="Stable integer ID (starts at 1). Assigned once and preserved across pipeline runs.",
        examples=[42],
    )
    title: str = Field(
        description="Full paper title as found in DBLP proceedings.",
        examples=["Understanding and Detecting Software Upgrade Failures in Distributed Systems"],
    )
    conference: str = Field(description="Conference abbreviation, e.g. 'OSDI', 'USENIXSEC', 'NDSS'.", examples=["OSDI"])
    year: int | None = Field(
        default=None,
        ge=2017,
        le=2030,
        description="Publication year (2017–2030), e.g. 2023. Null if unknown.",
        examples=[2023],
    )
    category: str = Field(
        default="", description="Research domain: 'systems' or 'security'. Empty string if not yet classified."
    )
    badges: list[str] = Field(
        default_factory=list,
        description="Artifact evaluation badges, e.g. ['Available', 'Functional', 'Reproduced']. Empty if no artifact.",
        examples=[["available", "functional", "reproduced"]],
    )
    artifact_citations: int = Field(
        ge=0,
        default=0,
        description="Number of citations to this paper's artifact DOI. 0 if not tracked or no artifact.",
        examples=[3],
    )
    has_artifact: bool = Field(
        default=True,
        description="True if this paper has an evaluated artifact, false for papers without artifacts.",
        examples=[True],
    )

    model_config = {"extra": "forbid"}