v0.3.0
What's Changed
The v1 redesign of the Cominty Python SDK: a cleaner public surface, a broader
supported-Python range, and typed streaming and error handling throughout.
⚠️ Breaking changes
- Renamed public response models — dropped the
Outsuffix:ThreadOut→Thread,ThreadSummaryOut→ThreadSummaryMessageOut→MessageAgentOut→AgentConversationFileOut→ConversationFile
AsyncHTTPClient→AsyncTransportThreadUpdate→UpdateThreadParams- New module layout (models, streaming, and transport split into their own
modules) — update your imports accordingly.
✨ Highlights
- Wider Python support: 3.9+ (was 3.11+). Installs and runs on 3.9 through
3.13, verified across the full matrix in CI. StreamHandle[EventT]— typed, public primitive for consuming chat event
streams.- Typed error bodies —
APIError.errornow carries a structured
APIErrorBodymodel instead of a raw dict. - Explicit
__all__across modules for a clean, intentional public API.
APIErrorBodymodel instead of a raw dict. - Explicit
__all__across modules for a clean, intentional public API. - Fully typed (pyright strict) and
py.typedshipped, so downstream type
checkers see the SDK's types.
🛠 Tooling & internals
- Toolchain standardized on uv + ruff + pyright (strict) + pytest-asyncio.
- Added
AGENTS.md— the coding playbook for typing and versioning conventions. - PyPI publishing via GitHub Releases using Trusted Publishing (OIDC) — no
stored tokens — plusinvokerelease tasks. - Added
eval-type-backport(Python < 3.10) so Pydantic resolvesX | Yfield
annotations on the new 3.9 floor.