Skip to content

search_data

src.models.search_data

Search data schema.

Generated by generate_search_data.pysearch_data.json.

SearchEntry

Bases: BaseModel

A single searchable artifact entry with enriched author and affiliation data.

Source code in src/models/search_data.py
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class SearchEntry(BaseModel):
    """A single searchable artifact entry with enriched author and affiliation data."""

    title: str = Field(description="Paper title.")
    conference: str = Field(description="Conference abbreviation.")
    category: Literal["systems", "security"] = Field(description="Research domain.")
    year: int = Field(description="Publication year.")
    badges: list[str] = Field(
        description=(
            "Artifact evaluation badges. Canonical values: 'available', "
            "'functional', 'reproduced', 'reusable', 'replicated'."
        ),
    )
    artifact_urls: list[str] = Field(description="All artifact-related URLs (repositories, archives, DOIs).")
    doi_url: str = Field(description="Paper DOI URL. Empty string if not available.")
    authors: list[str] = Field(description="Author names (DBLP disambiguation suffixes removed).")
    affiliations: list[str] = Field(description="Sorted unique institution affiliations of all authors.")
    paper_url: str | None = Field(default=None, description="Paper DOI or direct link.")
    appendix_url: str | None = Field(default=None, description="Supplementary materials URL.")
    award: str | None = Field(default=None, description="Award designation, if any.")

    model_config = {"extra": "forbid"}