All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Moonshot HTTP modules under
streamline_sdk:branches_admin.BranchesClient(M5)contracts.ContractsClient(M4)attestation.AttestationClient(M4)search.SearchClient(M2)memory.MemoryClient(M1)
- Each client is sync-friendly and uses
httpxunder the hood.
- Admin:
cluster_info()— cluster overview including broker list - Admin:
consumer_group_lag()/consumer_group_topic_lag()— consumer group lag monitoring - Admin:
inspect_messages()/latest_messages()— message inspection by offset - Admin:
metrics_history()— server metrics history - Model types:
ClusterInfo,BrokerInfo,ConsumerLag,ConsumerGroupLag,InspectedMessage,MetricPoint - New types exported from
streamline_sdkpackage__init__.py
- AI client urllib fallback now has 30-second timeout (was missing, could hang indefinitely)
- Query client urllib fallback now has timeout to prevent event loop blocking
- feat: add async context manager for producer lifecycle
- feat: add batch consumer with configurable prefetch (2026-03-05)
- refactor: improve type hints for public API (2026-03-06)
- Changed: update pyproject.toml dependencies
- Changed: simplify connection configuration dataclass
- Testing: add pytest fixtures for producer testing
- Fixed: resolve event loop conflict with aiokafka
- Added: add async context manager for consumer sessions
- Resolve asyncio event loop cleanup on shutdown
- Resolve event loop handling in producer close
- Improve consumer group coordinator logic
- Optimize message deserialization path
- Optimize message batching with memoryview
StreamlineClientwith async context manager supportProducerwith async message sending and batchingConsumerwith async iteration and consumer group supportAdminclient for topic and group management- Configuration via
StreamlineConfigdataclass - 8-type exception hierarchy with retryability flags
- Retry utilities with exponential backoff
- SASL authentication support (PLAIN, SCRAM)
- TLS/SSL connection support
- Testcontainers integration for testing
- CI pipeline with pytest, coverage reporting, and multi-Python matrix (3.9-3.12)
- CodeQL security scanning
- Release workflow with PyPI publishing
- Release drafter for automated release notes
- Dependabot for dependency updates
- CONTRIBUTING.md with development setup guide
- Security policy (SECURITY.md)
- EditorConfig for consistent formatting
- Ruff linter and formatter configuration
- MyPy type checking configuration
- Issue templates for bug reports and feature requests
- Initial release of Streamline Python SDK
- Async-first design built on aiokafka
- Testcontainers support for integration testing
- Apache 2.0 license
- test: expand telemetry hook coverage for async producers
- test: add serializer roundtrip and edge case tests