Skip to content

feat: LlamaIndex tools for Hotdata managed databases#1

Open
eddietejeda wants to merge 8 commits into
mainfrom
feat/managed-database-tools
Open

feat: LlamaIndex tools for Hotdata managed databases#1
eddietejeda wants to merge 8 commits into
mainfrom
feat/managed-database-tools

Conversation

@eddietejeda
Copy link
Copy Markdown
Contributor

@eddietejeda eddietejeda commented May 19, 2026

Summary

  • Bootstrap hotdata-llamaindex with agent tools built on hotdata-runtime>=0.1.1
  • Add SQL execution and managed database create/load tools via make_hotdata_tools()
  • Include examples, unit tests, PyPI publish workflow, and release automation

Tools

  • hotdata_execute_sql
  • hotdata_list_managed_databases
  • hotdata_create_managed_database
  • hotdata_load_managed_table

Test plan

  • uv sync --locked
  • uv run pytest (21 passed)
  • CI pytest workflow

claude[bot]
claude Bot previously approved these changes May 19, 2026
Require the latest SDK directly alongside hotdata-runtime for clearer version alignment.
Comment thread pyproject.toml
license = { text = "MIT" }
dependencies = [
"hotdata-runtime>=0.1.1",
"hotdata>=0.2.0",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

claude[bot]
claude Bot previously approved these changes May 20, 2026
Add scripts/release.sh for version bumps, changelog updates, tagging, and
GitHub Release creation via CI. Enforce changelog checks on version PRs.
claude[bot]
claude Bot previously approved these changes May 20, 2026
Run locked uv sync and pytest on pull requests. Validate examples/demo.ipynb
structure and optional live smoke when HOTDATA_API_KEY is set.
Comment thread scripts/check-release.py

import re
import subprocess
import sys
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

super nit: (not blocking) import sys is unused in this file — SystemExit and subprocess cover the exit/process needs already.

claude[bot]
claude Bot previously approved these changes May 20, 2026
Avoid duplicate [Unreleased] headings and keep the preamble intact when
preparing releases. Add unit tests and harden release workflow output.
claude[bot]
claude Bot previously approved these changes May 20, 2026
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