Skip to content

paper_index

src.models.paper_index

Paper index schema.

Generated by generate_paper_index.pypapers.json.

Paper

Bases: BaseModel

A unique paper associated with tracked conferences.

Each paper is stored once in the index; authors reference papers by ID.

Source code in src/models/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
class Paper(BaseModel):
    """A unique paper associated with tracked conferences.

    Each paper is stored once in the index; authors reference papers by ID.
    """

    id: int = Field(ge=1, description="Stable integer ID for this paper. Preserved across pipeline runs.")
    title: str = Field(description="Original paper title as found in DBLP.")
    normalized_title: str = Field(
        description="Lowercased title with punctuation removed, used for deduplication matching.",
    )
    conference: str = Field(description="Conference abbreviation.")
    year: int | None = Field(default=None, ge=2017, le=2030, description="Publication year.")
    category: str = Field(default="", description="Research domain category.")
    badges: list[str] = Field(default_factory=list, description="Artifact evaluation badges for this paper.")
    artifact_citations: int = Field(ge=0, default=0, description="Number of citations to this paper's artifact.")
    has_artifact: bool = Field(
        default=True,
        description="Whether this paper has an associated artifact (false for papers_without_artifacts).",
    )

    model_config = {"extra": "forbid"}