Skip to content

feat: managed database writes and hotdata SDK 0.2.0#4

Merged
eddietejeda merged 5 commits into
mainfrom
docs/ibis-support-overview
May 19, 2026
Merged

feat: managed database writes and hotdata SDK 0.2.0#4
eddietejeda merged 5 commits into
mainfrom
docs/ibis-support-overview

Conversation

@eddietejeda
Copy link
Copy Markdown
Contributor

@eddietejeda eddietejeda commented May 19, 2026

Summary

  • Bump dependency to hotdata>=0.2.0 and re-lock against PyPI
  • Replace dataset API writes with the managed database API — no backwards compatibility with datasets
  • Add create_database / drop_database for managed connections (Ibis catalogs)
  • Rewrite create_table / drop_table to upload Parquet and load via load_managed_table (replace mode)
  • Remove create_dataset_from_upload, list_datasets, and delete_dataset helpers
  • Update README with managed database workflow

Managed database mapping

Ibis method Hotdata API
create_database(name, *, schema="public", tables=[...]) POST /v1/connections (source_type: managed)
create_table(name, obj, *, database=(catalog, schema)) upload Parquet + load_managed_table
drop_table(name, database=...) delete_managed_table
drop_database(name) delete_connection

Hierarchy for reads and writes: catalog = connection, database = schema (public), table = declared table name. SQL references look like connection.schema.table.

Tables must be declared in create_database(..., tables=[...]) before loading data with create_table.

Test plan

  • uv run pytest (42 passed)
  • uv run ruff check src tests

Bump dependency to hotdata>=0.2.0 and adapt dataset upload requests to the
internally tagged DatasetSource shape introduced in the SDK.
claude[bot]
claude Bot previously approved these changes May 19, 2026
Use managed connections for create_database, create_table, drop_table, and drop_database instead of the datasets API.
@eddietejeda eddietejeda changed the title chore: require hotdata SDK 0.2.0 feat: managed database writes and hotdata SDK 0.2.0 May 19, 2026
Comment thread src/ibis_hotdata/backend.py Outdated
Comment thread src/ibis_hotdata/backend.py Outdated
claude[bot]
claude Bot previously approved these changes May 19, 2026
Resolve managed connections once in _table_location and honor overwrite=False when a synced table already exists.
Publish ibis-hotdata to PyPI via trusted publishing when v* tags are pushed.
Comment thread src/ibis_hotdata/backend.py
Comment thread src/ibis_hotdata/backend.py
claude[bot]
claude Bot previously approved these changes May 19, 2026
Resolve existing connections once in create_database and only let force ignore missing resources, not misconfigured non-managed targets.
@eddietejeda eddietejeda merged commit e54168f into main May 19, 2026
1 check passed
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