Skip to content

[DOM-75518] feat: dataset listing API client + HTTP layer extensions#24

Open
ddl-subir-m wants to merge 3 commits intomainfrom
subir/pr17-listing-api
Open

[DOM-75518] feat: dataset listing API client + HTTP layer extensions#24
ddl-subir-m wants to merge 3 commits intomainfrom
subir/pr17-listing-api

Conversation

@ddl-subir-m
Copy link
Copy Markdown
Collaborator

@ddl-subir-m ddl-subir-m commented Mar 23, 2026

Why

Replaces the domino-py SDK's dataset listing with a typed wrapper around the generated Domino Public API client. This gives us version-safe, structured access to the Dataset RW v1/v2 listing endpoints with automatic pagination and v2→v1 fallback.

Summary

  • domino_dataset_api.py: typed listing wrapper using generated client (get_datasets_v2.sync(), get_datasets.sync()) with pagination and v2→v1 fallback
  • project_resolver.py: switched from internal /v4/projects to generated get_project_by_id (public v1 API)

Stacks on PR #14 (HTTP layer) + PR #12 (project type + tabular data).

Replaces old PR #17 — trimmed to only the listing API infrastructure. Storage resolver and its consumers moved to PRs #25/#26.

Files changed

File What it does
domino_dataset_api.py New: typed Dataset RW listing with v2→v1 fallback, pagination
project_resolver.py Modified: use generated get_project_by_id instead of raw /v4/projects

All code in this PR is consumed by PR #25 (dataset_manager.py and storage_resolver.py import from domino_dataset_api).

Test plan

  • test_domino_dataset_api.py passes
  • test_middleware.py passes
  • test_domino_http.py passes

@ddl-subir-m ddl-subir-m requested a review from a team March 23, 2026 14:17
@ddl-subir-m ddl-subir-m changed the title feat: dataset listing API client + HTTP layer extensions [DOM-75518] feat: dataset listing API client + HTTP layer extensions Mar 23, 2026
ddl-subir-m and others added 2 commits March 23, 2026 23:57
- Add DominoProjectType enum (DFS/GIT/UNKNOWN) with filesystem-based detection
- Add _db_url_remap for cross-project SQLite URL remapping across mount types
- Add tabular_data module: centralized CSV/parquet preview, schema, row counting
  with LRU caching (replaces scattered pd.read_csv/parquet calls)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…leware

- domino_dataset_api.py: typed listing wrapper (v2→v1 fallback) using generated client
- domino_http.py: add params/files/headers/base_url to domino_request, streaming download
- middleware.py: debug request/response logging with header redaction
- project_resolver.py: use generated get_project_by_id endpoint

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

2 participants