v1.5.0 — Data API OpenAPI, usability, and hardening
Highlights
This release significantly improves the optional Data API (undatum api): richer OpenAPI documentation, better CLI usability, and targeted correctness fixes.
Added
api openapicommand — export OpenAPI 3.x schema from an API config without starting the server (--output,--format json|yaml)- Data API discovery endpoint —
GET /returns resource list and documentation links - Data API startup banner — prints base URL, resource endpoints, and
/docslinks when the server starts httpxadded to theapioptional 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__opfilter documentation in Swagger UI - Data API sorting —
sort=fieldandsort=-fieldaliases supported alongsideorder_by/order_dir - Data API pagination — optional
include_total=trueadds 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 API —
serve,run, andopenapiraise a clearDependencyErrorwhen theapiextra is not installed api-serve-datarecipe — default flow usesapi run; config path defaults toapi-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