Skip to content

artifacts

src.models.artifacts

Artifact collection schema.

Generated by generate_statistics.pyartifacts.json.

Artifact

Bases: BaseModel

A single research artifact associated with a conference paper.

Source code in src/models/artifacts.py
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
class Artifact(BaseModel):
    """A single research artifact associated with a conference paper."""

    conference: CONFERENCE_NAMES = Field(
        description="Conference abbreviation where the paper was published.",
    )
    category: CATEGORY = Field(
        description="Research domain category.",
    )
    year: int = Field(
        ge=2017,
        le=2030,
        description="Publication year.",
    )
    title: str = Field(
        description="Paper title.",
    )
    badges: list[str] = Field(
        description=(
            "Artifact evaluation badges. Canonical values: 'available', "
            "'functional', 'reproduced', 'reusable', 'replicated'. "
            "Some conferences use non-normalized variants."
        ),
    )
    artifact_urls: list[str] = Field(
        description=(
            "All artifact-related URLs (repositories, archives, DOIs). "
            "Canonical field replacing repository_url, artifact_url, and github_url."
        ),
    )
    paper_url: str | None = Field(
        default=None,
        description="DOI or direct link to the published paper.",
    )
    appendix_url: str | None = Field(
        default=None,
        description="URL to supplementary materials or appendix.",
    )
    award: str | None = Field(
        default=None,
        description="Award designation, if any (e.g., 'Distinguished Artifact').",
    )

    model_config = {"extra": "forbid"}

ArtifactCollection

Bases: BaseModel

Collection of research artifacts from systems and security conferences.

Generated by the ReproDB pipeline. Written as artifacts.json in assets/data/.

Source code in src/models/artifacts.py
77
78
79
80
81
82
83
84
85
86
87
88
class ArtifactCollection(BaseModel):
    """Collection of research artifacts from systems and security conferences.

    Generated by the ReproDB pipeline.
    Written as ``artifacts.json`` in ``assets/data/``.
    """

    root: list[Artifact]

    @classmethod
    def json_schema(cls) -> dict:
        return Artifact.model_json_schema()