Skip to content

CSV/JSON export of current registry state #138

Description

@dubemoyibe-star

CSV/JSON export of current registry state

Problem

Researchers/analysts who want the current scored-protocol data have to hit the API directly and parse JSON themselves. There's no one-shot downloadable export of what the registry currently shows.

Proposed fix

  • A snapshot export, not historical — one row per currently-scored protocol, at its latest run's state: score, category, per-factor breakdown, methodology_version, operationalState

  • Support both CSV and JSON output (e.g. ?format=csv / ?format=json on one endpoint, or two clearly-named endpoints)

  • This mirrors exactly what the registry page currently displays — no additional historical data, no aggregation beyond "current state, exported"
    Where to look

  • Same underlying query the registry page//v1/protocols already uses for its ranked listing — this is a formatting/export layer on top of existing data, not a new data source

  • CSV generation likely needs a small library or hand-rolled formatter; check what's already a dependency before adding one
    Suggested first steps

  1. Confirm the export uses the exact same underlying data/query as /v1/protocols (don't let scope creep into recomputing anything)
  2. Implement JSON export first (trivial — it's close to the existing API shape), then CSV formatting on top
  3. Decide filename/response headers for triggering a browser download vs. just returning raw text
  4. Document both formats in API.md
    Not in scope
  • Historical export (multiple runs per protocol) — that's a separate concern
  • Filtering/customizing which fields export — ship the full current shape first, add filtering later if requested

Activity

  1. Fhatu12 commented on Aug 31, 2026

    @Fhatu12
    Contributor

    I’d like to pick this up. I’ll keep it scoped to a current-state export using the same underlying data as /v1/protocols, support JSON and CSV, and document the formats in API.md without adding historical/export-filtering scope.

  2. dubemoyibe-star commented on Aug 31, 2026

    @dubemoyibe-star
    ContributorAuthor

    This issue has been assigned to you
    Happy implementation 😁

    Don't forget to star the repo while you are at it ♥️

  3. dubemoyibe-star commented on Aug 31, 2026

    @dubemoyibe-star
    ContributorAuthor

    Concluded and resolved by #139

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesthelp wantedExtra attention is needed

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions