adcp 2.8.0__py3-none-any.whl → 2.10.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.
@@ -1,100 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: asset-type.json
3
- # timestamp: 2025-11-18T03:35:10+00:00
4
-
5
- from __future__ import annotations
6
-
7
- from enum import Enum
8
- from typing import Annotated
9
-
10
- from adcp.types.base import AdCPBaseModel
11
- from pydantic import ConfigDict, Field
12
-
13
-
14
- class ContentLength(AdCPBaseModel):
15
- max_characters: Annotated[int | None, Field(ge=1)] = None
16
- max_words: Annotated[int | None, Field(ge=1)] = None
17
- min_characters: Annotated[int | None, Field(ge=0)] = None
18
- min_words: Annotated[int | None, Field(ge=0)] = None
19
-
20
-
21
- class Dimensions(AdCPBaseModel):
22
- aspect_ratio: str | None = None
23
- height: Annotated[int | None, Field(ge=1)] = None
24
- max_height: Annotated[int | None, Field(ge=1)] = None
25
- max_width: Annotated[int | None, Field(ge=1)] = None
26
- min_height: Annotated[int | None, Field(ge=1)] = None
27
- min_width: Annotated[int | None, Field(ge=1)] = None
28
- width: Annotated[int | None, Field(ge=1)] = None
29
-
30
-
31
- class Duration(AdCPBaseModel):
32
- exact_seconds: Annotated[float | None, Field(ge=0.0)] = None
33
- max_seconds: Annotated[float | None, Field(ge=0.0)] = None
34
- min_seconds: Annotated[float | None, Field(ge=0.0)] = None
35
-
36
-
37
- class FileSize(AdCPBaseModel):
38
- max_bytes: Annotated[int | None, Field(ge=1)] = None
39
- min_bytes: Annotated[int | None, Field(ge=0)] = None
40
-
41
-
42
- class Quality(AdCPBaseModel):
43
- max_bitrate_kbps: Annotated[int | None, Field(ge=1)] = None
44
- min_bitrate_kbps: Annotated[int | None, Field(ge=1)] = None
45
- min_resolution_dpi: Annotated[int | None, Field(ge=72)] = None
46
-
47
-
48
- class Requirements(AdCPBaseModel):
49
- model_config = ConfigDict(
50
- extra='forbid',
51
- )
52
- content_length: ContentLength | None = None
53
- dimensions: Dimensions | None = None
54
- duration: Duration | None = None
55
- file_formats: Annotated[
56
- list[str] | None,
57
- Field(description="Acceptable file formats (e.g., ['jpg', 'png'] for images)"),
58
- ] = None
59
- file_size: FileSize | None = None
60
- quality: Quality | None = None
61
-
62
-
63
- class Type(Enum):
64
- image = 'image'
65
- video = 'video'
66
- audio = 'audio'
67
- text = 'text'
68
- html = 'html'
69
- css = 'css'
70
- javascript = 'javascript'
71
- vast = 'vast'
72
- daast = 'daast'
73
- promoted_offerings = 'promoted_offerings'
74
- url = 'url'
75
-
76
-
77
- class AssetTypeSchema(AdCPBaseModel):
78
- model_config = ConfigDict(
79
- extra='forbid',
80
- )
81
- asset_role: Annotated[
82
- str,
83
- Field(
84
- description="Role or purpose of this asset in the creative (e.g., 'hero_image', 'logo', 'cta_button')"
85
- ),
86
- ]
87
- constraints: Annotated[
88
- list[str] | None,
89
- Field(description='Additional constraints or requirements (human-readable)'),
90
- ] = None
91
- examples: Annotated[
92
- list[str] | None, Field(description='Example values or descriptions for this asset')
93
- ] = None
94
- required: Annotated[
95
- bool | None, Field(description='Whether this asset is mandatory for the format')
96
- ] = True
97
- requirements: Annotated[
98
- Requirements | None, Field(description='Technical requirements for this asset type')
99
- ] = None
100
- type: Annotated[Type, Field(description='Type of asset')]
File without changes