Repository navigation
Adstract AI Python SDK v0.3.0
Adstract SDK 0.3.0 (2026-02-18)
This release introduces a major API simplification and backend-driven analytics/compliance model.
It includes multiple breaking changes to request/response shapes and method naming/default behavior.
Breaking changes
- Removed
Conversationclass from request flow. EnhancementResultnow returnssession_id: strinstead ofconversation: Conversation.- Renamed
AdRequestConfigurationtoAdRequestContext. AdRequestContextis now sent as a wrapped object with:session_iduser_agentx_forwarded_for
- Added
RequestConfigurationclass to wrapwrapping_type. AdRequestnow sends structured objects:request_context(AdRequestContext)diagnostics(Diagnostics)request_configuration(RequestConfiguration)
- Removed metadata/analytics/compliance-related models from SDK payload construction:
ClientMetadataMetadataAnalyticsComplianceErrorTrackingExternalMetadata
AdAckpayload simplified to:ad_response_idllm_responsediagnostics
- Removed
AepiData. AdResponsesimplified to:ad_request_idad_response_idsuccessexecution_time_msprompt(optional)product_name(optional)
- Removed fields from
AdResponse:aepitracking_urltracking_identifiersponsored_label
- Renamed methods:
request_ad_or_default->request_adrequest_ad_or_default_async->request_ad_async
- Default behavior changes:
request_ad/request_ad_asyncnow useraise_exception=Trueby default.analyse_and_report/analyse_and_report_asyncnow useraise_exception=Trueby default.- Set
raise_exception=Falsefor graceful/fallback-style behavior.
Migration notes
- Replace all usages of
AdRequestConfigurationwithAdRequestContext. - Update code expecting
EnhancementResult.conversationto useEnhancementResult.session_id. - Update method calls to
request_ad/request_ad_async. - Review error-handling flow due to new default
raise_exception=True.