All notable changes to the textql Python SDK will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Sandbox resource now targets
/v2/sandcastles; the backend renamed the path from/v2/sandboxeswith no alias, so every sandbox call was 404ing.
- Sandbox:
listandexecutions(both cursor-paginated), and an optionalsandbox_idonstartto restart a specific sandbox. - Sandbox
query:tql_path(run a saved library.tql),params, andmax_rows; enforces exactly one ofquery/tql_pathclient-side. - Sandbox:
exec(bash/python command → stdout/stderr/exit_code),list_files,download_file(raw bytes),delete_file,library_diff, andcreate_library_patch. - Models resource:
list(GET /v2/models) — the models a key may pass as the chatmodelfield. - Connectors:
types,create,test,update,delete—configis passed through as proto-JSON; callconnectors.types()for per-type fields. - Route-drift guard:
tests/test_route_coverage.py+ vendoredtests/routes.manifest.json(33 routes), and a scheduledroute-syncworkflow that opens a PR when the backend route set changes.
- Version realigned to 2.x to track the v2 Platform API surface.
- Releases publish to PyPI via Trusted Publishing.
- Chat resource:
list,create,get,stream(SSE),cancel. - Connectors resource:
list. - Playbooks resource:
list,create,get,update,deploy,delete,run. - Sandbox resource:
start,status,stop,execute,query,upload_file. - SSE streaming via
Streamiterator with context manager support. - Multipart file upload support for chat and sandbox.
- Automatic error mapping to typed exceptions (
NotFoundError,RateLimitError, etc.). - Bare hostname support for
base_url(e.g.app.textql.com). - Integration test suite against staging.
- Default
base_urlfromhttps://api.textql.comtohttps://app.textql.com. - All endpoints target the v2 REST API (
/v2/*).
- Initial repository scaffolding:
pyproject.toml,src/textql/package layout, exception hierarchy, sync client stub. - CI workflow: ruff lint + format check, pyright strict, pytest on Python 3.9–3.13.