Skip to content

feat: api routes, data fetching, and forms#392

Open
HelderMendes wants to merge 1 commit intoopenml:masterfrom
HelderMendes:pr/api-and-data
Open

feat: api routes, data fetching, and forms#392
HelderMendes wants to merge 1 commit intoopenml:masterfrom
HelderMendes:pr/api-and-data

Conversation

@HelderMendes
Copy link
Contributor

@HelderMendes HelderMendes commented Mar 12, 2026

Adds API routes for creating and editing core entities, along with the corresponding frontend forms, data hooks, and type definitions.

New API routes

  • datasets/upload — handle dataset file uploads
  • datasets/[id]/tags — manage dataset tags
  • datasets/[id]/edit — update dataset metadata
  • tasks/create — create new tasks
  • collections/create — create collections/studies

Forms

  • DatasetUploadForm — multi-field form for uploading datasets
  • DatasetEditForm — edit existing dataset metadata
  • TaskCreateForm — define and submit new tasks
  • CollectionCreateForm — create studies/collections

Data hooks

  • useDatasetStats — fetches dataset statistics
  • useParquetData — fetches and parses Parquet file data
  • useOpSpeed — dev-only hook for monitoring render performance and timing code blocks

Types

  • Expanded type definitions for Measure, Task, and NextAuth session

Backend (outside app-next/ - requires extra attention)
server/data/views.py — replaced @jwt_required() with direct API key auth on the /data-upload endpoint. This was necessary because Next.js has no access to Flask JWT tokens. The change was discussed and agreed with Joaquin and Pieter on Slack.

Dev tools

  • api/(dev)/debug-env (it should be removed)— This endpoint reads process.env directly returns empty values because of our runtime config pattern. To verify environment variables, use window.ENV in the browser console instead.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant