feat: LlamaIndex tools for Hotdata managed databases#1
Conversation
Require the latest SDK directly alongside hotdata-runtime for clearer version alignment.
| license = { text = "MIT" } | ||
| dependencies = [ | ||
| "hotdata-runtime>=0.1.1", | ||
| "hotdata>=0.2.0", |
There was a problem hiding this comment.
nit: (not blocking) hotdata is declared as a direct dependency but isn't imported anywhere in hotdata_llamaindex/, the tests, or the examples — only hotdata_runtime is used. If this is required at runtime for some indirect reason, a short comment would help; otherwise consider dropping it to keep install footprint minimal.
|
|
||
|
|
||
| def result_rows_for_llm(result: QueryResult, *, max_rows: int = 20) -> list[dict[str, Any]]: | ||
| return result.to_records(max_rows=max_rows) |
There was a problem hiding this comment.
super nit: (not blocking) result_rows_for_llm defaults max_rows=20 while execute_sql_json defaults to 100. Since both are part of the public API and presumably serve the same "format rows for an LLM" purpose, aligning the defaults (or having one delegate to the other) would prevent surprise.
Add scripts/release.sh for version bumps, changelog updates, tagging, and GitHub Release creation via CI. Enforce changelog checks on version PRs.
Run locked uv sync and pytest on pull requests. Validate examples/demo.ipynb structure and optional live smoke when HOTDATA_API_KEY is set.
|
|
||
| import re | ||
| import subprocess | ||
| import sys |
There was a problem hiding this comment.
super nit: (not blocking) import sys is unused in this file — SystemExit and subprocess cover the exit/process needs already.
Avoid duplicate [Unreleased] headings and keep the preamble intact when preparing releases. Add unit tests and harden release workflow output.
Summary
hotdata-llamaindexwith agent tools built onhotdata-runtime>=0.1.1make_hotdata_tools()Tools
hotdata_execute_sqlhotdata_list_managed_databaseshotdata_create_managed_databasehotdata_load_managed_tableTest plan
uv sync --lockeduv run pytest(21 passed)