adcp 2.4.0__py3-none-any.whl → 2.5.0__py3-none-any.whl
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/__init__.py +91 -39
- adcp/__main__.py +1 -1
- adcp/client.py +9 -9
- adcp/simple.py +1 -1
- adcp/testing/test_helpers.py +1 -1
- adcp/types/__init__.py +69 -2
- adcp/types/{generated.py → _generated.py} +67 -11
- adcp/types/aliases.py +55 -1
- adcp/types/generated_poc/__init__.py +1 -1
- adcp/types/generated_poc/activate_signal_request.py +1 -1
- adcp/types/generated_poc/activate_signal_response.py +1 -1
- adcp/types/generated_poc/activation_key.py +1 -1
- adcp/types/generated_poc/adagents.py +1 -1
- adcp/types/generated_poc/asset_type.py +1 -1
- adcp/types/generated_poc/audio_asset.py +1 -1
- adcp/types/generated_poc/brand_manifest.py +3 -62
- adcp/types/generated_poc/build_creative_request.py +1 -1
- adcp/types/generated_poc/build_creative_response.py +1 -1
- adcp/types/generated_poc/channels.py +1 -1
- adcp/types/generated_poc/cpc_option.py +1 -1
- adcp/types/generated_poc/cpcv_option.py +1 -1
- adcp/types/generated_poc/cpm_auction_option.py +1 -1
- adcp/types/generated_poc/cpm_fixed_option.py +1 -1
- adcp/types/generated_poc/cpp_option.py +1 -1
- adcp/types/generated_poc/cpv_option.py +1 -1
- adcp/types/generated_poc/create_media_buy_request.py +2 -2
- adcp/types/generated_poc/create_media_buy_response.py +1 -1
- adcp/types/generated_poc/creative_asset.py +1 -1
- adcp/types/generated_poc/creative_assignment.py +1 -1
- adcp/types/generated_poc/creative_manifest.py +1 -1
- adcp/types/generated_poc/creative_policy.py +1 -1
- adcp/types/generated_poc/creative_status.py +1 -1
- adcp/types/generated_poc/css_asset.py +1 -1
- adcp/types/generated_poc/daast_asset.py +1 -1
- adcp/types/generated_poc/delivery_metrics.py +1 -1
- adcp/types/generated_poc/delivery_type.py +1 -1
- adcp/types/generated_poc/deployment.py +1 -1
- adcp/types/generated_poc/destination.py +1 -1
- adcp/types/generated_poc/error.py +1 -1
- adcp/types/generated_poc/flat_rate_option.py +1 -1
- adcp/types/generated_poc/format.py +1 -1
- adcp/types/generated_poc/format_id.py +1 -1
- adcp/types/generated_poc/frequency_cap.py +1 -1
- adcp/types/generated_poc/frequency_cap_scope.py +1 -1
- adcp/types/generated_poc/get_media_buy_delivery_request.py +1 -1
- adcp/types/generated_poc/get_media_buy_delivery_response.py +1 -1
- adcp/types/generated_poc/get_products_request.py +2 -2
- adcp/types/generated_poc/get_products_response.py +1 -1
- adcp/types/generated_poc/get_signals_request.py +1 -1
- adcp/types/generated_poc/get_signals_response.py +1 -1
- adcp/types/generated_poc/html_asset.py +1 -1
- adcp/types/generated_poc/identifier_types.py +1 -1
- adcp/types/generated_poc/image_asset.py +1 -1
- adcp/types/generated_poc/javascript_asset.py +1 -1
- adcp/types/generated_poc/list_authorized_properties_request.py +1 -1
- adcp/types/generated_poc/list_authorized_properties_response.py +1 -1
- adcp/types/generated_poc/list_creative_formats_request.py +1 -1
- adcp/types/generated_poc/list_creative_formats_response.py +1 -1
- adcp/types/generated_poc/list_creatives_request.py +1 -1
- adcp/types/generated_poc/list_creatives_response.py +2 -17
- adcp/types/generated_poc/markdown_asset.py +1 -1
- adcp/types/generated_poc/measurement.py +1 -1
- adcp/types/generated_poc/media_buy.py +1 -1
- adcp/types/generated_poc/media_buy_status.py +1 -1
- adcp/types/generated_poc/pacing.py +1 -1
- adcp/types/generated_poc/package.py +1 -1
- adcp/types/generated_poc/package_request.py +1 -1
- adcp/types/generated_poc/package_status.py +1 -1
- adcp/types/generated_poc/performance_feedback.py +1 -1
- adcp/types/generated_poc/placement.py +1 -1
- adcp/types/generated_poc/preview_creative_request.py +1 -1
- adcp/types/generated_poc/preview_creative_response.py +1 -1
- adcp/types/generated_poc/preview_render.py +1 -1
- adcp/types/generated_poc/pricing_model.py +1 -1
- adcp/types/generated_poc/product.py +25 -16
- adcp/types/generated_poc/promoted_offerings.py +2 -2
- adcp/types/generated_poc/promoted_products.py +1 -1
- adcp/types/generated_poc/property.py +1 -1
- adcp/types/generated_poc/protocol_envelope.py +1 -1
- adcp/types/generated_poc/provide_performance_feedback_request.py +1 -1
- adcp/types/generated_poc/provide_performance_feedback_response.py +1 -1
- adcp/types/generated_poc/publisher_identifier_types.py +1 -1
- adcp/types/generated_poc/push_notification_config.py +1 -1
- adcp/types/generated_poc/reporting_capabilities.py +1 -1
- adcp/types/generated_poc/response.py +1 -1
- adcp/types/generated_poc/standard_format_ids.py +1 -1
- adcp/types/generated_poc/sub_asset.py +1 -1
- adcp/types/generated_poc/sync_creatives_request.py +1 -1
- adcp/types/generated_poc/sync_creatives_response.py +1 -1
- adcp/types/generated_poc/targeting.py +1 -1
- adcp/types/generated_poc/task_status.py +1 -1
- adcp/types/generated_poc/task_type.py +1 -1
- adcp/types/generated_poc/tasks_get_request.py +1 -1
- adcp/types/generated_poc/tasks_get_response.py +1 -1
- adcp/types/generated_poc/tasks_list_request.py +1 -1
- adcp/types/generated_poc/tasks_list_response.py +1 -1
- adcp/types/generated_poc/text_asset.py +1 -1
- adcp/types/generated_poc/update_media_buy_request.py +1 -1
- adcp/types/generated_poc/update_media_buy_response.py +1 -1
- adcp/types/generated_poc/url_asset.py +1 -1
- adcp/types/generated_poc/vast_asset.py +1 -1
- adcp/types/generated_poc/vcpm_auction_option.py +1 -1
- adcp/types/generated_poc/vcpm_fixed_option.py +1 -1
- adcp/types/generated_poc/video_asset.py +1 -1
- adcp/types/generated_poc/webhook_asset.py +1 -1
- adcp/types/generated_poc/webhook_payload.py +1 -1
- adcp/types/stable.py +177 -0
- adcp/utils/preview_cache.py +6 -6
- {adcp-2.4.0.dist-info → adcp-2.5.0.dist-info}/METADATA +45 -5
- adcp-2.5.0.dist-info/RECORD +129 -0
- adcp/types/generated_poc/brand_manifest_ref.py +0 -361
- adcp/types/generated_poc/index.py +0 -17
- adcp/types/generated_poc/pricing_option.py +0 -365
- adcp/types/generated_poc/start_timing.py +0 -13
- adcp-2.4.0.dist-info/RECORD +0 -132
- {adcp-2.4.0.dist-info → adcp-2.5.0.dist-info}/WHEEL +0 -0
- {adcp-2.4.0.dist-info → adcp-2.5.0.dist-info}/entry_points.txt +0 -0
- {adcp-2.4.0.dist-info → adcp-2.5.0.dist-info}/licenses/LICENSE +0 -0
- {adcp-2.4.0.dist-info → adcp-2.5.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: brand-manifest.json
|
|
3
|
-
# timestamp: 2025-11-
|
|
3
|
+
# timestamp: 2025-11-18T04:34:42+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -148,7 +148,7 @@ class ProductCatalog(AdCPBaseModel):
|
|
|
148
148
|
] = None
|
|
149
149
|
|
|
150
150
|
|
|
151
|
-
class
|
|
151
|
+
class BrandManifest(AdCPBaseModel):
|
|
152
152
|
model_config = ConfigDict(
|
|
153
153
|
extra='forbid',
|
|
154
154
|
)
|
|
@@ -176,68 +176,9 @@ class BrandManifest1(AdCPBaseModel):
|
|
|
176
176
|
Field(description='Brand logo assets with semantic tags for different use cases'),
|
|
177
177
|
] = None
|
|
178
178
|
metadata: Annotated[Metadata | None, Field(description='Additional brand metadata')] = None
|
|
179
|
-
name: Annotated[str | None, Field(description='Brand or business name')] = None
|
|
180
|
-
product_catalog: Annotated[
|
|
181
|
-
ProductCatalog | None,
|
|
182
|
-
Field(
|
|
183
|
-
description='Product catalog information for e-commerce advertisers. Enables SKU-level creative generation and product selection.'
|
|
184
|
-
),
|
|
185
|
-
] = None
|
|
186
|
-
tagline: Annotated[str | None, Field(description='Brand tagline or slogan')] = None
|
|
187
|
-
target_audience: Annotated[
|
|
188
|
-
str | None, Field(description='Primary target audience description')
|
|
189
|
-
] = None
|
|
190
|
-
tone: Annotated[
|
|
191
|
-
str | None,
|
|
192
|
-
Field(
|
|
193
|
-
description="Brand voice and messaging tone (e.g., 'professional', 'casual', 'humorous', 'trustworthy', 'innovative')"
|
|
194
|
-
),
|
|
195
|
-
] = None
|
|
196
|
-
url: Annotated[
|
|
197
|
-
AnyUrl,
|
|
198
|
-
Field(
|
|
199
|
-
description='Primary brand URL for context and asset discovery. Creative agents can infer brand information from this URL.'
|
|
200
|
-
),
|
|
201
|
-
]
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
Asset1 = Asset
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
ProductCatalog1 = ProductCatalog
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
class BrandManifest2(AdCPBaseModel):
|
|
211
|
-
model_config = ConfigDict(
|
|
212
|
-
extra='forbid',
|
|
213
|
-
)
|
|
214
|
-
assets: Annotated[
|
|
215
|
-
list[Asset1] | None,
|
|
216
|
-
Field(
|
|
217
|
-
description='Brand asset library with explicit assets and tags. Assets are referenced inline with URLs pointing to CDN-hosted files.'
|
|
218
|
-
),
|
|
219
|
-
] = None
|
|
220
|
-
colors: Annotated[Colors | None, Field(description='Brand color palette')] = None
|
|
221
|
-
contact: Annotated[Contact | None, Field(description='Brand contact information')] = None
|
|
222
|
-
disclaimers: Annotated[
|
|
223
|
-
list[Disclaimer] | None,
|
|
224
|
-
Field(description='Legal disclaimers or required text that must appear in creatives'),
|
|
225
|
-
] = None
|
|
226
|
-
fonts: Annotated[Fonts | None, Field(description='Brand typography guidelines')] = None
|
|
227
|
-
industry: Annotated[
|
|
228
|
-
str | None,
|
|
229
|
-
Field(
|
|
230
|
-
description="Industry or vertical (e.g., 'retail', 'automotive', 'finance', 'healthcare')"
|
|
231
|
-
),
|
|
232
|
-
] = None
|
|
233
|
-
logos: Annotated[
|
|
234
|
-
list[Logo] | None,
|
|
235
|
-
Field(description='Brand logo assets with semantic tags for different use cases'),
|
|
236
|
-
] = None
|
|
237
|
-
metadata: Annotated[Metadata | None, Field(description='Additional brand metadata')] = None
|
|
238
179
|
name: Annotated[str, Field(description='Brand or business name')]
|
|
239
180
|
product_catalog: Annotated[
|
|
240
|
-
|
|
181
|
+
ProductCatalog | None,
|
|
241
182
|
Field(
|
|
242
183
|
description='Product catalog information for e-commerce advertisers. Enables SKU-level creative generation and product selection.'
|
|
243
184
|
),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: create-media-buy-request.json
|
|
3
|
-
# timestamp: 2025-11-
|
|
3
|
+
# timestamp: 2025-11-18T04:34:42+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -10,7 +10,7 @@ from typing import Annotated, Any
|
|
|
10
10
|
from adcp.types.base import AdCPBaseModel
|
|
11
11
|
from pydantic import AnyUrl, AwareDatetime, ConfigDict, Field
|
|
12
12
|
|
|
13
|
-
from . import
|
|
13
|
+
from . import brand_manifest as brand_manifest_1
|
|
14
14
|
from . import package_request
|
|
15
15
|
from .push_notification_config import PushNotificationConfig
|
|
16
16
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: get-products-request.json
|
|
3
|
-
# timestamp: 2025-11-
|
|
3
|
+
# timestamp: 2025-11-18T04:34:42+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -10,7 +10,7 @@ from typing import Annotated, Any
|
|
|
10
10
|
from adcp.types.base import AdCPBaseModel
|
|
11
11
|
from pydantic import AnyUrl, ConfigDict, Field
|
|
12
12
|
|
|
13
|
-
from . import
|
|
13
|
+
from . import brand_manifest as brand_manifest_1
|
|
14
14
|
from . import delivery_type as delivery_type_1
|
|
15
15
|
from . import format_id
|
|
16
16
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: list-creatives-response.json
|
|
3
|
-
# timestamp: 2025-11-
|
|
3
|
+
# timestamp: 2025-11-18T04:34:42+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ from enum import Enum
|
|
|
8
8
|
from typing import Annotated, Any
|
|
9
9
|
|
|
10
10
|
from adcp.types.base import AdCPBaseModel
|
|
11
|
-
from pydantic import
|
|
11
|
+
from pydantic import AwareDatetime, ConfigDict, Field
|
|
12
12
|
|
|
13
13
|
from . import audio_asset, creative_status, css_asset, daast_asset
|
|
14
14
|
from . import format_id as format_id_1
|
|
@@ -162,26 +162,14 @@ class Creative(AdCPBaseModel):
|
|
|
162
162
|
Assignments | None,
|
|
163
163
|
Field(description='Current package assignments (included when include_assignments=true)'),
|
|
164
164
|
] = None
|
|
165
|
-
click_url: Annotated[AnyUrl | None, Field(description='Landing page URL for the creative')] = (
|
|
166
|
-
None
|
|
167
|
-
)
|
|
168
165
|
created_date: Annotated[
|
|
169
166
|
AwareDatetime, Field(description='When the creative was uploaded to the library')
|
|
170
167
|
]
|
|
171
168
|
creative_id: Annotated[str, Field(description='Unique identifier for the creative')]
|
|
172
|
-
duration: Annotated[
|
|
173
|
-
float | None, Field(description='Duration in milliseconds (for video/audio)', ge=0.0)
|
|
174
|
-
] = None
|
|
175
169
|
format_id: Annotated[
|
|
176
170
|
format_id_1.FormatId,
|
|
177
171
|
Field(description='Format identifier specifying which format this creative conforms to'),
|
|
178
172
|
]
|
|
179
|
-
height: Annotated[
|
|
180
|
-
float | None, Field(description='Height in pixels (for video/display)', ge=0.0)
|
|
181
|
-
] = None
|
|
182
|
-
media_url: Annotated[
|
|
183
|
-
AnyUrl | None, Field(description='URL of the creative file (for hosted assets)')
|
|
184
|
-
] = None
|
|
185
173
|
name: Annotated[str, Field(description='Human-readable creative name')]
|
|
186
174
|
performance: Annotated[
|
|
187
175
|
Performance | None,
|
|
@@ -202,9 +190,6 @@ class Creative(AdCPBaseModel):
|
|
|
202
190
|
list[str] | None, Field(description='User-defined tags for organization and searchability')
|
|
203
191
|
] = None
|
|
204
192
|
updated_date: Annotated[AwareDatetime, Field(description='When the creative was last modified')]
|
|
205
|
-
width: Annotated[
|
|
206
|
-
float | None, Field(description='Width in pixels (for video/display)', ge=0.0)
|
|
207
|
-
] = None
|
|
208
193
|
|
|
209
194
|
|
|
210
195
|
class ListCreativesResponse(AdCPBaseModel):
|