Repository navigation
feat: adopt hotdata SDK 0.12 - #65
Merged
Merged
Conversation
- Require hotdata>=0.12,<0.13; add constant_per_key to TableInfo test fixtures. - Use top-level ConnectionsApi/DatabasesApi so table loads retry on lock. - Queries request inline Arrow: results return in one request when the query finishes within async_after_ms (default 1000), else fall back to polling. - connect() falls back to HOTDATA_API_URL / HOTDATA_API_KEY / HOTDATA_WORKSPACE. - Add create_index / list_indexes / drop_index (HNSW, IVF, BM25, sorted). - Add vector_distance UDF; semantic_search accepts a text query.
eddietejeda
requested review from
anoop-narang
and removed request for
a team
October 19, 2026 15:36
Dev-only dependency via pytest-httpserver; resolves Dependabot alert #7.
eddietejeda
enabled auto-merge (squash)
October 19, 2026 16:10
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Updates to hotdata SDK 0.12 and uses its new features.
SDK bump: require
hotdata>=0.12,<0.13. Test fixtures now include the new requiredTableInfo.constant_per_keyfield.Load retry: import
ConnectionsApi/DatabasesApifrom top-levelhotdata, so table loads retry while another load holds the table lock.Faster queries: queries ask for an inline Arrow response. A query that finishes within
async_after_ms(default 1000) returns its rows in one request instead of at least three. Slower or larger queries fall back to polling.async_after_ms=Nonerestores always-async.Env credentials:
connect()falls back toHOTDATA_API_URL,HOTDATA_API_KEYandHOTDATA_WORKSPACE. A missing token or workspace raises a clear error at connect time.Index management: new
create_index,list_indexesanddrop_index(vector HNSW/IVF, embedding-provider, BM25, sorted).Text search: new
vector_distanceUDF.semantic_searchaccepts a text query for embedding-backed indexes.Security: bump dev-only
werkzeug3.1.8 → 3.1.9 (GHSA-g6x2-hccm-hh4m, Dependabot alert fix: rename PyPI package from ibis-hotdata to hotdata-ibis #7). It only comes in throughpytest-httpserver, so the published package is not affected.README, CHANGELOG and
examples/06_semantic_search.pyare updated.Testing
uv run ruff check src tests examples: passesuv run pytest: 127 passed (against a mock server)HOTDATA_API_KEY=... HOTDATA_WORKSPACE=... uv run python examples/06_semantic_search.pyThis tests the inline Arrow path,
create_indexandsemantic_searchfor real. It creates a temporary database and deletes it at the end.