adcp 1.1.0__py3-none-any.whl → 1.2.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 +1 -1
- adcp/types/generated.py +114 -6
- {adcp-1.1.0.dist-info → adcp-1.2.0.dist-info}/METADATA +1 -1
- {adcp-1.1.0.dist-info → adcp-1.2.0.dist-info}/RECORD +8 -8
- {adcp-1.1.0.dist-info → adcp-1.2.0.dist-info}/WHEEL +0 -0
- {adcp-1.1.0.dist-info → adcp-1.2.0.dist-info}/entry_points.txt +0 -0
- {adcp-1.1.0.dist-info → adcp-1.2.0.dist-info}/licenses/LICENSE +0 -0
- {adcp-1.1.0.dist-info → adcp-1.2.0.dist-info}/top_level.txt +0 -0
adcp/__init__.py
CHANGED
adcp/types/generated.py
CHANGED
|
@@ -23,6 +23,7 @@ from pydantic import BaseModel, Field, field_validator
|
|
|
23
23
|
|
|
24
24
|
# These types are referenced in schemas but don't have schema files
|
|
25
25
|
# Defining them as type aliases to maintain type safety
|
|
26
|
+
ActivationKey = dict[str, Any]
|
|
26
27
|
PackageRequest = dict[str, Any]
|
|
27
28
|
PushNotificationConfig = dict[str, Any]
|
|
28
29
|
ReportingCapabilities = dict[str, Any]
|
|
@@ -125,9 +126,22 @@ class BrandManifest(BaseModel):
|
|
|
125
126
|
metadata: dict[str, Any] | None = Field(None, description="Additional brand metadata")
|
|
126
127
|
|
|
127
128
|
|
|
128
|
-
# Type alias for Brand Manifest Reference
|
|
129
129
|
# Brand manifest provided either as an inline object or a URL string pointing to a hosted manifest
|
|
130
|
-
|
|
130
|
+
|
|
131
|
+
class BrandManifestRefVariant1(BaseModel):
|
|
132
|
+
"""Inline brand manifest object"""
|
|
133
|
+
|
|
134
|
+
pass
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
class BrandManifestRefVariant2(BaseModel):
|
|
138
|
+
"""URL to a hosted brand manifest JSON file. The manifest at this URL must conform to the brand-manifest.json schema."""
|
|
139
|
+
|
|
140
|
+
pass
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
# Union type for Brand Manifest Reference
|
|
144
|
+
BrandManifestRef = BrandManifestRefVariant1 | BrandManifestRefVariant2
|
|
131
145
|
|
|
132
146
|
|
|
133
147
|
class Format(BaseModel):
|
|
@@ -255,9 +269,22 @@ class PerformanceFeedback(BaseModel):
|
|
|
255
269
|
applied_at: str | None = Field(None, description="ISO 8601 timestamp when feedback was applied to optimization algorithms")
|
|
256
270
|
|
|
257
271
|
|
|
258
|
-
# Type alias for Start Timing
|
|
259
272
|
# Campaign start timing: 'asap' or ISO 8601 date-time
|
|
260
|
-
|
|
273
|
+
|
|
274
|
+
class StartTimingVariant1(BaseModel):
|
|
275
|
+
"""Start campaign as soon as possible"""
|
|
276
|
+
|
|
277
|
+
pass
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
class StartTimingVariant2(BaseModel):
|
|
281
|
+
"""Scheduled start date/time in ISO 8601 format"""
|
|
282
|
+
|
|
283
|
+
pass
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
# Union type for Start Timing
|
|
287
|
+
StartTiming = StartTimingVariant1 | StartTimingVariant2
|
|
261
288
|
|
|
262
289
|
|
|
263
290
|
class SubAsset(BaseModel):
|
|
@@ -314,6 +341,50 @@ class PromotedProducts(BaseModel):
|
|
|
314
341
|
manifest_query: str | None = Field(None, description="Natural language query to select products from the brand manifest (e.g., 'all Kraft Heinz pasta sauces', 'organic products under $20')")
|
|
315
342
|
|
|
316
343
|
|
|
344
|
+
# A destination platform where signals can be activated (DSP, sales agent, etc.)
|
|
345
|
+
|
|
346
|
+
class PlatformDestination(BaseModel):
|
|
347
|
+
type: Literal["platform"] = Field(description="Discriminator indicating this is a platform-based destination")
|
|
348
|
+
platform: str = Field(description="Platform identifier for DSPs (e.g., 'the-trade-desk', 'amazon-dsp')")
|
|
349
|
+
account: str | None = Field(None, description="Optional account identifier on the platform")
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
class AgentDestination(BaseModel):
|
|
353
|
+
type: Literal["agent"] = Field(description="Discriminator indicating this is an agent URL-based destination")
|
|
354
|
+
agent_url: str = Field(description="URL identifying the destination agent (for sales agents, etc.)")
|
|
355
|
+
account: str | None = Field(None, description="Optional account identifier on the agent")
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
# Union type for Destination
|
|
359
|
+
Destination = PlatformDestination | AgentDestination
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
# A signal deployment to a specific destination platform with activation status and key
|
|
363
|
+
|
|
364
|
+
class PlatformDeployment(BaseModel):
|
|
365
|
+
type: Literal["platform"] = Field(description="Discriminator indicating this is a platform-based deployment")
|
|
366
|
+
platform: str = Field(description="Platform identifier for DSPs")
|
|
367
|
+
account: str | None = Field(None, description="Account identifier if applicable")
|
|
368
|
+
is_live: bool = Field(description="Whether signal is currently active on this destination")
|
|
369
|
+
activation_key: ActivationKey | None = Field(None, description="The key to use for targeting. Only present if is_live=true AND requester has access to this destination.")
|
|
370
|
+
estimated_activation_duration_minutes: float | None = Field(None, description="Estimated time to activate if not live, or to complete activation if in progress")
|
|
371
|
+
deployed_at: str | None = Field(None, description="Timestamp when activation completed (if is_live=true)")
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
class AgentDeployment(BaseModel):
|
|
375
|
+
type: Literal["agent"] = Field(description="Discriminator indicating this is an agent URL-based deployment")
|
|
376
|
+
agent_url: str = Field(description="URL identifying the destination agent")
|
|
377
|
+
account: str | None = Field(None, description="Account identifier if applicable")
|
|
378
|
+
is_live: bool = Field(description="Whether signal is currently active on this destination")
|
|
379
|
+
activation_key: ActivationKey | None = Field(None, description="The key to use for targeting. Only present if is_live=true AND requester has access to this destination.")
|
|
380
|
+
estimated_activation_duration_minutes: float | None = Field(None, description="Estimated time to activate if not live, or to complete activation if in progress")
|
|
381
|
+
deployed_at: str | None = Field(None, description="Timestamp when activation completed (if is_live=true)")
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
# Union type for Deployment
|
|
385
|
+
Deployment = PlatformDeployment | AgentDeployment
|
|
386
|
+
|
|
387
|
+
|
|
317
388
|
# Type alias for Advertising Channels
|
|
318
389
|
# Standard advertising channels supported by AdCP
|
|
319
390
|
Channels = Literal["display", "video", "audio", "native", "dooh", "ctv", "podcast", "retail", "social"]
|
|
@@ -354,9 +425,46 @@ TaskStatus = Literal["submitted", "working", "input-required", "completed", "can
|
|
|
354
425
|
PricingModel = Literal["cpm", "vcpm", "cpc", "cpcv", "cpv", "cpp", "flat_rate"]
|
|
355
426
|
|
|
356
427
|
|
|
357
|
-
# Type alias for Pricing Option
|
|
358
428
|
# A pricing model option offered by a publisher for a product. Each pricing model has its own schema with model-specific requirements.
|
|
359
|
-
|
|
429
|
+
|
|
430
|
+
class PricingOptionVariant1(BaseModel):
|
|
431
|
+
pass
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
class PricingOptionVariant2(BaseModel):
|
|
435
|
+
pass
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
class PricingOptionVariant3(BaseModel):
|
|
439
|
+
pass
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
class PricingOptionVariant4(BaseModel):
|
|
443
|
+
pass
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
class PricingOptionVariant5(BaseModel):
|
|
447
|
+
pass
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
class PricingOptionVariant6(BaseModel):
|
|
451
|
+
pass
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
class PricingOptionVariant7(BaseModel):
|
|
455
|
+
pass
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
class PricingOptionVariant8(BaseModel):
|
|
459
|
+
pass
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
class PricingOptionVariant9(BaseModel):
|
|
463
|
+
pass
|
|
464
|
+
|
|
465
|
+
|
|
466
|
+
# Union type for Pricing Option
|
|
467
|
+
PricingOption = PricingOptionVariant1 | PricingOptionVariant2 | PricingOptionVariant3 | PricingOptionVariant4 | PricingOptionVariant5 | PricingOptionVariant6 | PricingOptionVariant7 | PricingOptionVariant8 | PricingOptionVariant9
|
|
360
468
|
|
|
361
469
|
|
|
362
470
|
# Type alias for Standard Format IDs
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
adcp/__init__.py,sha256=
|
|
1
|
+
adcp/__init__.py,sha256=PKqv9xsX2JUnDqOIvOGsfYFYQX4QlWKOt5w0R4IiRXw,2512
|
|
2
2
|
adcp/__main__.py,sha256=Avy_C71rruh2lOuojvuXDj09tkFOaek74nJ-dbx25Sw,12838
|
|
3
3
|
adcp/client.py,sha256=xs_sG7soRH1szk0S0rFu_6Ge4Ffe2aUdaTYnLmvteeo,27950
|
|
4
4
|
adcp/config.py,sha256=Vsy7ZPOI8G3fB_i5Nk-CHbC7wdasCUWuKlos0fwA0kY,2017
|
|
@@ -9,15 +9,15 @@ adcp/protocols/base.py,sha256=CGqUilQv_ymhnfdowBV_HJhIxYUDM3sRO7ahW-kRB0M,5087
|
|
|
9
9
|
adcp/protocols/mcp.py,sha256=eIk8snCinZm-ZjdarGVMt5nEYJ4_8POM9Fa5Mkw7xxU,15902
|
|
10
10
|
adcp/types/__init__.py,sha256=3E_TJUXqQQFcjmSZZSPLwqBP3s_ijsH2LDeuOU-MP30,402
|
|
11
11
|
adcp/types/core.py,sha256=RXkKCWCXS9BVJTNpe3Opm5O1I_LaQPMUuVwa-ipvS1Q,4839
|
|
12
|
-
adcp/types/generated.py,sha256=
|
|
12
|
+
adcp/types/generated.py,sha256=UmHVH22lBayrNipgctAE-K_nsUuRfXvmDNhKZVq9mxQ,56514
|
|
13
13
|
adcp/types/tasks.py,sha256=Ae9TSwG2F7oWXTcl4TvLhAzinbQkHNGF1Pc0q8RMNNM,23424
|
|
14
14
|
adcp/utils/__init__.py,sha256=uetvSJB19CjQbtwEYZiTnumJG11GsafQmXm5eR3hL7E,153
|
|
15
15
|
adcp/utils/operation_id.py,sha256=wQX9Bb5epXzRq23xoeYPTqzu5yLuhshg7lKJZihcM2k,294
|
|
16
16
|
adcp/utils/preview_cache.py,sha256=8_2qs5CgrHv1_WOnD4bs43VWueu-rcZRu5PZMQ_lyuE,17573
|
|
17
17
|
adcp/utils/response_parser.py,sha256=NQTLlbvmnM_tE4B5w3oB1Wshny1p-Uh8IWbghlwoNJc,4057
|
|
18
|
-
adcp-1.
|
|
19
|
-
adcp-1.
|
|
20
|
-
adcp-1.
|
|
21
|
-
adcp-1.
|
|
22
|
-
adcp-1.
|
|
23
|
-
adcp-1.
|
|
18
|
+
adcp-1.2.0.dist-info/licenses/LICENSE,sha256=PF39NR3Ae8PLgBhg3Uxw6ju7iGVIf8hfv9LRWQdii_U,629
|
|
19
|
+
adcp-1.2.0.dist-info/METADATA,sha256=NJowqCc7uoc4hx99dhdokdnydbZcnl9ERjyEsY7-q2o,14455
|
|
20
|
+
adcp-1.2.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
21
|
+
adcp-1.2.0.dist-info/entry_points.txt,sha256=DQKpcGsJX8DtVI_SGApQ7tNvqUB4zkTLaTAEpFgmi3U,44
|
|
22
|
+
adcp-1.2.0.dist-info/top_level.txt,sha256=T1_NF0GefncFU9v_k56oDwKSJREyCqIM8lAwNZf0EOs,5
|
|
23
|
+
adcp-1.2.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|