█████╗ ██╗ ██████╗
██╔══██╗██║██╔════╝
███████║██║██║
██╔══██║██║██║
██║ ██║██║╚██████╗
╚═╝ ╚═╝╚═╝ ╚═════╝
AI Commons · Fetch
AI Commons Fetch for Python¶
Read-only SQL over your AI Commons tenant data lake, plus natural-language questions through ds-tools. Docs: grasp-labs.github.io/ds-fetch-py-sdk.
Package |
For |
Install |
|---|---|---|
Python apps, notebooks, pipelines |
|
|
The |
|
from ds_fetch_py_sdk import Fetch
with Fetch("dev") as fetch:
print(fetch.query('SELECT count(*) AS n FROM gold."5003105c-8a84-5f77-ab74-5e57003112b8"').records())
aic-fetch -e dev login
aic-fetch -e dev ask "Headcount per department?"
Repository¶
pyproject.toml uv workspace root: shared dev tools and ruff, mypy, pytest, coverage config
packages/sdk/ ds-fetch-py-sdk: the client; depends only on httpx
packages/cli/ ds-fetch-cli: Typer + Rich; uses only the SDK's public API
docs/ Sphinx site for both
Both packages share one version and release together: the CLI pins the SDK at that exact version.
Development¶
uv sync --all-packages --all-extras
uv run pre-commit install
make help # lint, format, type-check, security-check, test, test-cov, docs, build, bump, tag
To release, run make bump VERSION=x.y.z, commit, then make tag. The release workflow checks
that the tag matches both packages, publishes both to PyPI, creates the GitHub release, and records
release fragments in ds-coordination.
License¶
Apache 2.0