Skip to content

v0.3.0

Choose a tag to compare

@mous222 mous222 released this 29 Jun 16:56
5ffc798

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 Out suffix:
    • ThreadOutThread, ThreadSummaryOutThreadSummary
    • MessageOutMessage
    • AgentOutAgent
    • ConversationFileOutConversationFile
  • AsyncHTTPClientAsyncTransport
  • ThreadUpdateUpdateThreadParams
  • 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 bodiesAPIError.error now carries a structured
    APIErrorBody model instead of a raw dict.
  • Explicit __all__ across modules for a clean, intentional public API.
    APIErrorBody model instead of a raw dict.
  • Explicit __all__ across modules for a clean, intentional public API.
  • Fully typed (pyright strict) and py.typed shipped, 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 — plus invoke release tasks.
  • Added eval-type-backport (Python < 3.10) so Pydantic resolves X | Y field
    annotations on the new 3.9 floor.