feat(python-sdk): httpx-based sync/async client for the Mike API

↗ view on GitHub · Amal · 2026-05-24 · 97b37ca4

Adds sdks/python/ - a fully typed Python SDK covering every key API
surface so community forks can build integrations without writing HTTP
boilerplate from scratch.

Structure mirrors the Anthropic and OpenAI Python SDK conventions:
- MikeClient / AsyncMikeClient - thin httpx wrappers; swap in a custom
  httpx client for proxy/testing, pass session_token for auth
- Resources: chat, documents, projects, tabular, workflows, user - each
  exposed as client.<resource>.<verb>()
- SyncStream / AsyncStream - iterate SSE events from chat and tabular
  generate endpoints as plain Python dicts
- Pydantic v2 models for every response type; open to model_validate from
  raw API JSON
- Exception hierarchy (MikeError → APIError → AuthenticationError,
  NotFoundError, RateLimitError, InternalServerError, StreamError)
- 15 pytest tests with respx mocking (sync + async paths, error handling)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Repository amal66/mike
Author Amal <mamalanand3@gmail.com>
Authored
Parents c0dfd7ec
Stats 15 files changed , +1492
Part of Python SDK for the Mike API

Capture this commit into my fork

Download a Markdown prompt that tells Claude how to port this exact commit into your working tree. Run it via claude -p < capture-commit-97b37ca4.md from inside the repo you want the change in.

⬇ Download capture-commit-97b37ca4.md