feat: Implement `GET /datasets/id` and `GET /datasets` (#3197)
* Rename model * Add backend Dataset schema and `get` route for Datasets by ID * Refactor app creation and test fixtures for API test harness * Ruff 🐶 * Add timestamps to payload * Use correct field names * Ensure timestamps are serializable * Flesh out test * Use async client * Add test for empty datasets * Add another nontrivial example * Ruff 🐶 * Resolve type annotation errors * Update import * Use default export path * Create export directories in test env * Try creating home directories? * Do not mount UI route in test client * Explicitly disable UI route on initialization * Fix gnarly bug (properly skip prostgresql tests) * Push example count into model * Move serialization into route handler * Use global ids for REST API * Refactor server instrumentation * Break up engine creation and instrumentation for clarity * Remove engine from session factory wrapper * Use updated httpx client syntax * Improve type specificity for db dialect property * Use explicit kwarg for sqlalchemy join * Flesh out OpenAPI response schema for GET /datasets/id route * Implement list datasets with cursor-based pagination * Check dialect type when creating session factory * Move API tests to `rest_v1` subdirectory for clarity * Use hybrid property * Properly try and return a value from hybrid property * Use inplace expression
D
Dustin Ngo committed
36abedeaa8631e6c4c1b152b17617d6552eedf07
Parent: b719267
Committed by Mikyo King <mikyo@arize.com>
on 7/2/2024, 3:51:13 PM