Skip to content

v1.5.0 — Data API OpenAPI, usability, and hardening

Choose a tag to compare

@ivbeg ivbeg released this 29 Jun 11:48
· 19 commits to master since this release

Highlights

This release significantly improves the optional Data API (undatum api): richer OpenAPI documentation, better CLI usability, and targeted correctness fixes.

Added

  • api openapi command — export OpenAPI 3.x schema from an API config without starting the server (--output, --format json|yaml)
  • Data API discovery endpointGET / returns resource list and documentation links
  • Data API startup banner — prints base URL, resource endpoints, and /docs links when the server starts
  • httpx added to the api optional extra (required for HTTP integration tests)

Changed

  • Data API list responses — endpoints now return {data, pagination} instead of a bare JSON array (breaking for API clients)
  • Data API OpenAPI — per-resource query parameters, field schemas, and field__op filter documentation in Swagger UI
  • Data API sortingsort=field and sort=-field aliases supported alongside order_by / order_dir
  • Data API pagination — optional include_total=true adds total matching row count to the response envelope
  • CI — test job installs undatum[api] so Data API HTTP tests run in CI

Fixed

  • Data API — discover stores absolute file paths; warns on resource name collisions; validates files at serve time; skips composite primary-key detail routes; serializes DuckDB types to JSON-safe values
  • Data APIserve, run, and openapi raise a clear DependencyError when the api extra is not installed
  • api-serve-data recipe — default flow uses api run; config path defaults to api-config.yml

Install

pip install undatum==1.5.0

# Data API extra
pip install "undatum[api]==1.5.0"

Full changelog: https://github.com/datacoon/undatum/blob/v1.5.0/CHANGELOG.md