adcp 2.12.0__tar.gz → 2.12.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {adcp-2.12.0/src/adcp.egg-info → adcp-2.12.2}/PKG-INFO +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/pyproject.toml +46 -11
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/__init__.py +10 -8
- adcp-2.12.2/src/adcp/protocols/a2a.py +595 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/protocols/mcp.py +95 -16
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/_generated.py +476 -97
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/aliases.py +1 -3
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/adagents.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/activation_key.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/assets/audio_asset.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/assets/css_asset.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/assets/daast_asset.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/assets/html_asset.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/assets/image_asset.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/assets/javascript_asset.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/assets/text_asset.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/assets/url_asset.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/assets/vast_asset.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/assets/video_asset.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/assets/webhook_asset.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/brand_manifest.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/context.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/creative_asset.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/creative_assignment.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/creative_filters.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/creative_manifest.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/creative_policy.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/delivery_metrics.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/deployment.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/destination.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/dimensions.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/error.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/ext.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/format.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/format_id.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/frequency_cap.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/measurement.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/media_buy.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/package.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/performance_feedback.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/placement.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/product.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/product_filters.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/promoted_offerings.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/promoted_products.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/property.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/property_id.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/property_tag.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/protocol_envelope.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/publisher_property_selector.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/push_notification_config.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/reporting_capabilities.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/response.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/signal_filters.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/sub_asset.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/targeting.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/webhook_payload.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/creative/list_creative_formats_request.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/creative/list_creative_formats_response.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/creative/preview_creative_request.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/creative/preview_creative_response.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/creative/preview_render.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/adcp_domain.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/asset_content_type.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/auth_scheme.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/available_metric.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/channels.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/co_branding_requirement.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/creative_action.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/creative_agent_capability.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/creative_sort_field.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/creative_status.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/daast_tracking_event.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/daast_version.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/delivery_type.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/dimension_unit.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/feed_format.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/feedback_source.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/format_category.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/format_id_parameter.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/frequency_cap_scope.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/history_entry_type.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/http_method.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/identifier_types.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/javascript_module_type.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/landing_page_requirement.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/markdown_flavor.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/media_buy_status.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/metric_type.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/notification_type.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/pacing.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/preview_output_format.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/pricing_model.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/property_type.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/publisher_identifier_types.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/reporting_frequency.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/signal_catalog_type.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/sort_direction.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/standard_format_ids.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/task_status.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/task_type.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/update_frequency.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/url_asset_type.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/validation_mode.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/vast_tracking_event.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/vast_version.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/webhook_response_type.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/webhook_security_method.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/build_creative_request.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/build_creative_response.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/create_media_buy_request.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/create_media_buy_response.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/get_media_buy_delivery_request.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/get_media_buy_delivery_response.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/get_products_request.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/get_products_response.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/list_authorized_properties_request.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/list_authorized_properties_response.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/list_creative_formats_request.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/list_creative_formats_response.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/list_creatives_request.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/list_creatives_response.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/package_request.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/provide_performance_feedback_request.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/provide_performance_feedback_response.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/sync_creatives_request.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/sync_creatives_response.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/update_media_buy_request.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/update_media_buy_response.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/pricing_options/cpc_option.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/pricing_options/cpcv_option.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/pricing_options/cpm_auction_option.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/pricing_options/cpm_fixed_option.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/pricing_options/cpp_option.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/pricing_options/cpv_option.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/pricing_options/flat_rate_option.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/pricing_options/vcpm_auction_option.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/pricing_options/vcpm_fixed_option.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/protocols/adcp_extension.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/signals/activate_signal_request.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/signals/activate_signal_response.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/signals/get_signals_request.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/signals/get_signals_response.py +1 -1
- {adcp-2.12.0 → adcp-2.12.2/src/adcp.egg-info}/PKG-INFO +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp.egg-info/SOURCES.txt +1 -1
- {adcp-2.12.0 → adcp-2.12.2}/tests/test_discriminated_unions.py +4 -2
- {adcp-2.12.0 → adcp-2.12.2}/tests/test_protocols.py +281 -281
- {adcp-2.12.0 → adcp-2.12.2}/tests/test_public_api.py +3 -9
- {adcp-2.12.0 → adcp-2.12.2}/tests/test_type_aliases.py +1 -3
- adcp-2.12.0/src/adcp/protocols/a2a.py +0 -484
- {adcp-2.12.0 → adcp-2.12.2}/LICENSE +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/MANIFEST.in +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/README.md +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/setup.cfg +0 -0
- {adcp-2.12.0 → adcp-2.12.2/src/adcp}/ADCP_VERSION +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/__main__.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/adagents.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/client.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/config.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/exceptions.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/protocols/__init__.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/protocols/base.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/py.typed +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/simple.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/testing/__init__.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/testing/test_helpers.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/__init__.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/base.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/core.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/__init__.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/__init__.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/core/assets/__init__.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/creative/__init__.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/enums/__init__.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/media_buy/__init__.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/pricing_options/__init__.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/protocols/__init__.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/types/generated_poc/signals/__init__.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/utils/__init__.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/utils/operation_id.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/utils/preview_cache.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/utils/response_parser.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp/validation.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp.egg-info/dependency_links.txt +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp.egg-info/entry_points.txt +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp.egg-info/requires.txt +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/src/adcp.egg-info/top_level.txt +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/tests/test_adagents.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/tests/test_cli.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/tests/test_client.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/tests/test_code_generation.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/tests/test_format_id_validation.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/tests/test_helpers.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/tests/test_preview_html.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/tests/test_response_parser.py +0 -0
- {adcp-2.12.0 → adcp-2.12.2}/tests/test_simple_api.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "adcp"
|
|
7
|
-
version = "2.12.
|
|
7
|
+
version = "2.12.2"
|
|
8
8
|
description = "Official Python client for the Ad Context Protocol (AdCP)"
|
|
9
9
|
authors = [
|
|
10
10
|
{name = "AdCP Community", email = "maintainers@adcontextprotocol.org"}
|
|
@@ -61,19 +61,12 @@ Issues = "https://github.com/adcontextprotocol/adcp-client-python/issues"
|
|
|
61
61
|
where = ["src"]
|
|
62
62
|
|
|
63
63
|
[tool.setuptools.package-data]
|
|
64
|
-
adcp = ["py.typed"]
|
|
65
|
-
|
|
66
|
-
# Include ADCP_VERSION file in package
|
|
67
|
-
[tool.setuptools]
|
|
68
|
-
include-package-data = true
|
|
69
|
-
|
|
70
|
-
[tool.setuptools.data-files]
|
|
71
|
-
"." = ["ADCP_VERSION"]
|
|
64
|
+
adcp = ["py.typed", "ADCP_VERSION"]
|
|
72
65
|
|
|
73
66
|
[tool.black]
|
|
74
67
|
line-length = 100
|
|
75
68
|
target-version = ["py310", "py311", "py312"]
|
|
76
|
-
extend-exclude = "/(
|
|
69
|
+
extend-exclude = "/(tasks)\\.py$"
|
|
77
70
|
|
|
78
71
|
[tool.ruff]
|
|
79
72
|
line-length = 100
|
|
@@ -86,7 +79,10 @@ extend-exclude = [
|
|
|
86
79
|
|
|
87
80
|
[tool.ruff.lint]
|
|
88
81
|
select = ["E", "F", "I", "N", "W", "UP"]
|
|
89
|
-
ignore = [
|
|
82
|
+
ignore = [
|
|
83
|
+
"E402", # Allow imports after module docstrings
|
|
84
|
+
"UP038", # isinstance() doesn't support X | Y syntax, only type hints do
|
|
85
|
+
]
|
|
90
86
|
|
|
91
87
|
[tool.mypy]
|
|
92
88
|
python_version = "3.10"
|
|
@@ -105,6 +101,45 @@ ignore_errors = true
|
|
|
105
101
|
[tool.pytest.ini_options]
|
|
106
102
|
testpaths = ["tests"]
|
|
107
103
|
asyncio_mode = "auto"
|
|
104
|
+
markers = [
|
|
105
|
+
"unit: Unit tests that don't require external services",
|
|
106
|
+
"integration: Integration tests that hit real endpoints (may be slow/flaky)",
|
|
107
|
+
"slow: Tests that take significant time to run",
|
|
108
|
+
]
|
|
109
|
+
# By default, skip integration tests for fast local development
|
|
110
|
+
addopts = "-m 'not integration'"
|
|
111
|
+
|
|
112
|
+
[tool.coverage.run]
|
|
113
|
+
source = ["src/adcp"]
|
|
114
|
+
omit = [
|
|
115
|
+
"*/tests/*",
|
|
116
|
+
"*/test_*.py",
|
|
117
|
+
]
|
|
118
|
+
branch = true
|
|
119
|
+
|
|
120
|
+
[tool.coverage.report]
|
|
121
|
+
precision = 2
|
|
122
|
+
show_missing = true
|
|
123
|
+
skip_covered = false
|
|
124
|
+
exclude_lines = [
|
|
125
|
+
"pragma: no cover",
|
|
126
|
+
"def __repr__",
|
|
127
|
+
"raise AssertionError",
|
|
128
|
+
"raise NotImplementedError",
|
|
129
|
+
"if __name__ == .__main__.:",
|
|
130
|
+
"if TYPE_CHECKING:",
|
|
131
|
+
"class .*\\bProtocol\\):",
|
|
132
|
+
"@(abc\\.)?abstractmethod",
|
|
133
|
+
]
|
|
134
|
+
# Maintain current 86% coverage, fail if it drops below 80%
|
|
135
|
+
fail_under = 80
|
|
136
|
+
|
|
137
|
+
[tool.coverage.html]
|
|
138
|
+
directory = "htmlcov"
|
|
139
|
+
|
|
140
|
+
[tool.bandit]
|
|
141
|
+
exclude_dirs = ["tests", "scripts"]
|
|
142
|
+
skips = ["B101"] # Allow assert in code (we're not using -O optimization)
|
|
108
143
|
|
|
109
144
|
[dependency-groups]
|
|
110
145
|
dev = [
|
|
@@ -179,7 +179,7 @@ from adcp.validation import (
|
|
|
179
179
|
validate_publisher_properties_item,
|
|
180
180
|
)
|
|
181
181
|
|
|
182
|
-
__version__ = "2.12.
|
|
182
|
+
__version__ = "2.12.2"
|
|
183
183
|
|
|
184
184
|
|
|
185
185
|
def get_adcp_version() -> str:
|
|
@@ -191,15 +191,17 @@ def get_adcp_version() -> str:
|
|
|
191
191
|
of the AdCP specification.
|
|
192
192
|
|
|
193
193
|
Returns:
|
|
194
|
-
AdCP specification version (e.g., "
|
|
194
|
+
AdCP specification version (e.g., "2.5.0")
|
|
195
|
+
|
|
196
|
+
Raises:
|
|
197
|
+
FileNotFoundError: If ADCP_VERSION file is missing from package
|
|
195
198
|
"""
|
|
196
|
-
from
|
|
199
|
+
from importlib.resources import files
|
|
200
|
+
|
|
201
|
+
# Read from ADCP_VERSION file in package
|
|
202
|
+
version_file = files("adcp") / "ADCP_VERSION"
|
|
203
|
+
return version_file.read_text().strip()
|
|
197
204
|
|
|
198
|
-
# Read from ADCP_VERSION file at project root
|
|
199
|
-
version_file = Path(__file__).parent.parent.parent / "ADCP_VERSION"
|
|
200
|
-
if version_file.exists():
|
|
201
|
-
return version_file.read_text().strip()
|
|
202
|
-
return "v1" # Fallback
|
|
203
205
|
|
|
204
206
|
__all__ = [
|
|
205
207
|
# Version functions
|