All notable changes to the Commune Python SDK will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
AsyncCommuneClient— Full async/await support viahttpx.AsyncClient. Identical API surface to the sync client.verify_signature()— Webhook signature verification helper with HMAC-SHA256 and timestamp freshness checks.WebhookVerificationErrorexception for webhook verification failures.PermissionDeniedError— Renamed fromPermissionErrorto avoid shadowing the Python builtin. The old name is kept as a backward-compatible alias.COMMUNE_API_KEYenv var —CommuneClient()andAsyncCommuneClient()now auto-read the API key from the environment if not passed explicitly.CONTRIBUTING.md— Contributor guide.LICENSEfile (MIT).- This
CHANGELOG.md.
api_keyparameter is now optional (falls back toCOMMUNE_API_KEYenv var).CommuneErrornow has a__repr__for better debugging.
PermissionErrorno longer shadowsbuiltins.PermissionError.
- Inbox
display_namefield support. MessageMetadatafields:spam_score,spam_action,spam_flagged,delivery_status, prompt injection fields.- Comprehensive security documentation in README.
- Package renamed from
commune-aitocommune-mailon PyPI. Message.conversation_idrenamed toMessage.thread_id.- Updated all examples from
conv_prefixes tothread_prefixes.
- Initial release.
- Sync client with domains, inboxes, threads, messages, and attachments.
- Pydantic v2 typed models with
extra="allow"for forward compatibility. - Exception hierarchy mapping HTTP status codes.
py.typedmarker for PEP 561 type checking support.- 9 unit tests covering contracts, error mapping, and pagination.