hyperbrowser 0.90.4__tar.gz → 0.90.5__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.
Files changed (92) hide show
  1. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/PKG-INFO +1 -1
  2. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/__init__.py +47 -0
  3. hyperbrowser-0.90.5/hyperbrowser/models/web/branding.py +270 -0
  4. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/web/common.py +8 -1
  5. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/web/fetch.py +2 -0
  6. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/pyproject.toml +1 -1
  7. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/LICENSE +0 -0
  8. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/README.md +0 -0
  9. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/__init__.py +0 -0
  10. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/async_client.py +0 -0
  11. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/base.py +0 -0
  12. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/agents/__init__.py +0 -0
  13. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/agents/browser_use.py +0 -0
  14. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/agents/claude_computer_use.py +0 -0
  15. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/agents/cua.py +0 -0
  16. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/agents/gemini_computer_use.py +0 -0
  17. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/agents/hyper_agent.py +0 -0
  18. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/computer_action.py +0 -0
  19. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/crawl.py +0 -0
  20. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/extension.py +0 -0
  21. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/extract.py +0 -0
  22. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/profile.py +0 -0
  23. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/sandbox.py +0 -0
  24. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/sandboxes/__init__.py +0 -0
  25. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_files.py +0 -0
  26. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_processes.py +0 -0
  27. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_terminal.py +0 -0
  28. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_transport.py +0 -0
  29. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/scrape.py +0 -0
  30. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/session.py +0 -0
  31. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/team.py +0 -0
  32. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/volume.py +0 -0
  33. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/web/__init__.py +0 -0
  34. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/web/batch_fetch.py +0 -0
  35. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/async_manager/web/crawl.py +0 -0
  36. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sandboxes/__init__.py +0 -0
  37. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sandboxes/shared.py +0 -0
  38. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/agents/__init__.py +0 -0
  39. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/agents/browser_use.py +0 -0
  40. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/agents/claude_computer_use.py +0 -0
  41. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/agents/cua.py +0 -0
  42. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/agents/gemini_computer_use.py +0 -0
  43. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/agents/hyper_agent.py +0 -0
  44. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/computer_action.py +0 -0
  45. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/crawl.py +0 -0
  46. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/extension.py +0 -0
  47. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/extract.py +0 -0
  48. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/profile.py +0 -0
  49. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/sandbox.py +0 -0
  50. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/sandboxes/__init__.py +0 -0
  51. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_files.py +0 -0
  52. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_processes.py +0 -0
  53. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_terminal.py +0 -0
  54. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_transport.py +0 -0
  55. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/scrape.py +0 -0
  56. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/session.py +0 -0
  57. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/team.py +0 -0
  58. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/volume.py +0 -0
  59. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/web/__init__.py +0 -0
  60. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/web/batch_fetch.py +0 -0
  61. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/managers/sync_manager/web/crawl.py +0 -0
  62. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/client/sync.py +0 -0
  63. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/config.py +0 -0
  64. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/exceptions.py +0 -0
  65. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/_parsers.py +0 -0
  66. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/agents/browser_use.py +0 -0
  67. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/agents/claude_computer_use.py +0 -0
  68. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/agents/cua.py +0 -0
  69. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/agents/gemini_computer_use.py +0 -0
  70. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/agents/hyper_agent.py +0 -0
  71. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/computer_action.py +0 -0
  72. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/consts.py +0 -0
  73. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/crawl.py +0 -0
  74. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/extension.py +0 -0
  75. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/extract.py +0 -0
  76. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/profile.py +0 -0
  77. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/sandbox.py +0 -0
  78. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/scrape.py +0 -0
  79. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/session.py +0 -0
  80. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/team.py +0 -0
  81. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/volume.py +0 -0
  82. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/web/batch_fetch.py +0 -0
  83. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/web/crawl.py +0 -0
  84. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/models/web/search.py +0 -0
  85. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/sandbox_common.py +0 -0
  86. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/tools/__init__.py +0 -0
  87. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/tools/anthropic.py +0 -0
  88. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/tools/openai.py +0 -0
  89. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/tools/schema.py +0 -0
  90. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/transport/async_transport.py +0 -0
  91. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/transport/base.py +0 -0
  92. {hyperbrowser-0.90.4 → hyperbrowser-0.90.5}/hyperbrowser/transport/sync.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hyperbrowser
3
- Version: 0.90.4
3
+ Version: 0.90.5
4
4
  Summary: Python SDK for hyperbrowser
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -33,8 +33,32 @@ from .web.common import (
33
33
  FetchOutputHtml,
34
34
  FetchOutputLinks,
35
35
  FetchOutputScreenshot,
36
+ FetchOutputBranding,
36
37
  FetchOutputFormat,
37
38
  )
39
+ from .web.branding import (
40
+ BrandingProfile,
41
+ BrandingColors,
42
+ BrandingFont,
43
+ BrandingFontRole,
44
+ BrandingTypography,
45
+ BrandingFontFamilies,
46
+ BrandingFontStacks,
47
+ BrandingFontSizes,
48
+ BrandingSpacing,
49
+ BrandingComponents,
50
+ BrandingButtonStyle,
51
+ BrandingInputStyle,
52
+ BrandingBorderRadiusCorners,
53
+ BrandingImages,
54
+ BrandingPersonality,
55
+ BrandingPersonalityTone,
56
+ BrandingPersonalityEnergy,
57
+ BrandingDesignSystem,
58
+ BrandingDesignFramework,
59
+ BrandingConfidence,
60
+ BrandingColorScheme,
61
+ )
38
62
  from .web.search import (
39
63
  WebSearchFilters,
40
64
  WebSearchFiletype,
@@ -624,7 +648,30 @@ __all__ = [
624
648
  "FetchOutputHtml",
625
649
  "FetchOutputLinks",
626
650
  "FetchOutputScreenshot",
651
+ "FetchOutputBranding",
627
652
  "FetchOutputFormat",
653
+ # web branding response shape
654
+ "BrandingProfile",
655
+ "BrandingColors",
656
+ "BrandingFont",
657
+ "BrandingFontRole",
658
+ "BrandingTypography",
659
+ "BrandingFontFamilies",
660
+ "BrandingFontStacks",
661
+ "BrandingFontSizes",
662
+ "BrandingSpacing",
663
+ "BrandingComponents",
664
+ "BrandingButtonStyle",
665
+ "BrandingInputStyle",
666
+ "BrandingBorderRadiusCorners",
667
+ "BrandingImages",
668
+ "BrandingPersonality",
669
+ "BrandingPersonalityTone",
670
+ "BrandingPersonalityEnergy",
671
+ "BrandingDesignSystem",
672
+ "BrandingDesignFramework",
673
+ "BrandingConfidence",
674
+ "BrandingColorScheme",
628
675
  "FetchStorageStateOptions",
629
676
  "FetchOutputJsonOptions",
630
677
  "FetchOutputScreenshotOptions",
@@ -0,0 +1,270 @@
1
+ from __future__ import annotations
2
+ from typing import Literal, Optional, List, Union
3
+ from pydantic import BaseModel, ConfigDict, Field
4
+
5
+
6
+ BrandingColorScheme = Union[Literal["light", "dark"], str]
7
+
8
+ BrandingPersonalityTone = Union[
9
+ Literal[
10
+ "professional",
11
+ "playful",
12
+ "modern",
13
+ "traditional",
14
+ "minimalist",
15
+ "bold",
16
+ ],
17
+ str,
18
+ ]
19
+
20
+ BrandingPersonalityEnergy = Union[Literal["low", "medium", "high"], str]
21
+
22
+ BrandingFontRole = Union[
23
+ Literal["heading", "body", "monospace", "display", "unknown"],
24
+ str,
25
+ ]
26
+
27
+ BrandingDesignFramework = Union[
28
+ Literal[
29
+ "tailwind",
30
+ "bootstrap",
31
+ "material",
32
+ "chakra",
33
+ "custom",
34
+ "unknown",
35
+ ],
36
+ str,
37
+ ]
38
+
39
+
40
+ class BrandingColors(BaseModel):
41
+ model_config = ConfigDict(populate_by_alias=True, extra="allow")
42
+
43
+ primary: Optional[str] = None
44
+ secondary: Optional[str] = None
45
+ accent: Optional[str] = None
46
+ background: Optional[str] = None
47
+ text_primary: Optional[str] = Field(
48
+ default=None, alias="textPrimary", serialization_alias="textPrimary"
49
+ )
50
+ text_secondary: Optional[str] = Field(
51
+ default=None, alias="textSecondary", serialization_alias="textSecondary"
52
+ )
53
+ link: Optional[str] = None
54
+ success: Optional[str] = None
55
+ warning: Optional[str] = None
56
+ error: Optional[str] = None
57
+
58
+
59
+ class BrandingFont(BaseModel):
60
+ model_config = ConfigDict(extra="allow")
61
+
62
+ family: Optional[str] = None
63
+ role: Optional[BrandingFontRole] = None
64
+
65
+
66
+ class BrandingBorderRadiusCorners(BaseModel):
67
+ model_config = ConfigDict(populate_by_alias=True, extra="allow")
68
+
69
+ top_left: Optional[str] = Field(
70
+ default=None, alias="topLeft", serialization_alias="topLeft"
71
+ )
72
+ top_right: Optional[str] = Field(
73
+ default=None, alias="topRight", serialization_alias="topRight"
74
+ )
75
+ bottom_right: Optional[str] = Field(
76
+ default=None, alias="bottomRight", serialization_alias="bottomRight"
77
+ )
78
+ bottom_left: Optional[str] = Field(
79
+ default=None, alias="bottomLeft", serialization_alias="bottomLeft"
80
+ )
81
+
82
+
83
+ class BrandingButtonStyle(BaseModel):
84
+ model_config = ConfigDict(populate_by_alias=True, extra="allow")
85
+
86
+ background: Optional[str] = None
87
+ text_color: Optional[str] = Field(
88
+ default=None, alias="textColor", serialization_alias="textColor"
89
+ )
90
+ border_color: Optional[str] = Field(
91
+ default=None, alias="borderColor", serialization_alias="borderColor"
92
+ )
93
+ border_radius: Optional[str] = Field(
94
+ default=None, alias="borderRadius", serialization_alias="borderRadius"
95
+ )
96
+ border_radius_corners: Optional[BrandingBorderRadiusCorners] = Field(
97
+ default=None,
98
+ alias="borderRadiusCorners",
99
+ serialization_alias="borderRadiusCorners",
100
+ )
101
+ shadow: Optional[str] = None
102
+
103
+
104
+ class BrandingInputStyle(BaseModel):
105
+ model_config = ConfigDict(populate_by_alias=True, extra="allow")
106
+
107
+ background: Optional[str] = None
108
+ text_color: Optional[str] = Field(
109
+ default=None, alias="textColor", serialization_alias="textColor"
110
+ )
111
+ border_color: Optional[str] = Field(
112
+ default=None, alias="borderColor", serialization_alias="borderColor"
113
+ )
114
+ focus_border_color: Optional[str] = Field(
115
+ default=None,
116
+ alias="focusBorderColor",
117
+ serialization_alias="focusBorderColor",
118
+ )
119
+ border_radius: Optional[str] = Field(
120
+ default=None, alias="borderRadius", serialization_alias="borderRadius"
121
+ )
122
+ border_radius_corners: Optional[BrandingBorderRadiusCorners] = Field(
123
+ default=None,
124
+ alias="borderRadiusCorners",
125
+ serialization_alias="borderRadiusCorners",
126
+ )
127
+ shadow: Optional[str] = None
128
+
129
+
130
+ class BrandingComponents(BaseModel):
131
+ model_config = ConfigDict(populate_by_alias=True, extra="allow")
132
+
133
+ button_primary: Optional[BrandingButtonStyle] = Field(
134
+ default=None, alias="buttonPrimary", serialization_alias="buttonPrimary"
135
+ )
136
+ button_secondary: Optional[BrandingButtonStyle] = Field(
137
+ default=None,
138
+ alias="buttonSecondary",
139
+ serialization_alias="buttonSecondary",
140
+ )
141
+ input: Optional[BrandingInputStyle] = None
142
+
143
+
144
+ class BrandingFontFamilies(BaseModel):
145
+ model_config = ConfigDict(extra="allow")
146
+
147
+ primary: Optional[str] = None
148
+ heading: Optional[str] = None
149
+ code: Optional[str] = None
150
+
151
+
152
+ class BrandingFontStacks(BaseModel):
153
+ model_config = ConfigDict(extra="allow")
154
+
155
+ primary: Optional[List[Optional[str]]] = None
156
+ heading: Optional[List[Optional[str]]] = None
157
+ body: Optional[List[Optional[str]]] = None
158
+ paragraph: Optional[List[Optional[str]]] = None
159
+
160
+
161
+ class BrandingFontSizes(BaseModel):
162
+ model_config = ConfigDict(extra="allow")
163
+
164
+ h1: Optional[str] = None
165
+ h2: Optional[str] = None
166
+ h3: Optional[str] = None
167
+ body: Optional[str] = None
168
+ small: Optional[str] = None
169
+
170
+
171
+ class BrandingTypography(BaseModel):
172
+ model_config = ConfigDict(populate_by_alias=True, extra="allow")
173
+
174
+ font_families: Optional[BrandingFontFamilies] = Field(
175
+ default=None, alias="fontFamilies", serialization_alias="fontFamilies"
176
+ )
177
+ font_stacks: Optional[BrandingFontStacks] = Field(
178
+ default=None, alias="fontStacks", serialization_alias="fontStacks"
179
+ )
180
+ font_sizes: Optional[BrandingFontSizes] = Field(
181
+ default=None, alias="fontSizes", serialization_alias="fontSizes"
182
+ )
183
+ line_heights: Optional[dict[str, Optional[float]]] = Field(
184
+ default=None, alias="lineHeights", serialization_alias="lineHeights"
185
+ )
186
+ font_weights: Optional[dict[str, Optional[float]]] = Field(
187
+ default=None, alias="fontWeights", serialization_alias="fontWeights"
188
+ )
189
+
190
+
191
+ class BrandingSpacing(BaseModel):
192
+ model_config = ConfigDict(populate_by_alias=True, extra="allow")
193
+
194
+ base_unit: Optional[float] = Field(
195
+ default=None, alias="baseUnit", serialization_alias="baseUnit"
196
+ )
197
+ border_radius: Optional[str] = Field(
198
+ default=None, alias="borderRadius", serialization_alias="borderRadius"
199
+ )
200
+ padding: Optional[dict[str, Optional[float]]] = None
201
+ margins: Optional[dict[str, Optional[float]]] = None
202
+ grid_gutter: Optional[float] = Field(
203
+ default=None, alias="gridGutter", serialization_alias="gridGutter"
204
+ )
205
+
206
+
207
+ class BrandingImages(BaseModel):
208
+ model_config = ConfigDict(populate_by_alias=True, extra="allow")
209
+
210
+ logo: Optional[str] = None
211
+ logo_href: Optional[str] = Field(
212
+ default=None, alias="logoHref", serialization_alias="logoHref"
213
+ )
214
+ logo_alt: Optional[str] = Field(
215
+ default=None, alias="logoAlt", serialization_alias="logoAlt"
216
+ )
217
+ favicon: Optional[str] = None
218
+ og_image: Optional[str] = Field(
219
+ default=None, alias="ogImage", serialization_alias="ogImage"
220
+ )
221
+
222
+
223
+ class BrandingPersonality(BaseModel):
224
+ model_config = ConfigDict(populate_by_alias=True, extra="allow")
225
+
226
+ tone: Optional[BrandingPersonalityTone] = None
227
+ energy: Optional[BrandingPersonalityEnergy] = None
228
+ target_audience: Optional[str] = Field(
229
+ default=None,
230
+ alias="targetAudience",
231
+ serialization_alias="targetAudience",
232
+ )
233
+
234
+
235
+ class BrandingDesignSystem(BaseModel):
236
+ model_config = ConfigDict(populate_by_alias=True, extra="allow")
237
+
238
+ framework: Optional[BrandingDesignFramework] = None
239
+ component_library: Optional[str] = Field(
240
+ default=None,
241
+ alias="componentLibrary",
242
+ serialization_alias="componentLibrary",
243
+ )
244
+
245
+
246
+ class BrandingConfidence(BaseModel):
247
+ model_config = ConfigDict(extra="allow")
248
+
249
+ buttons: Optional[float] = None
250
+ colors: Optional[float] = None
251
+ overall: Optional[float] = None
252
+
253
+
254
+ class BrandingProfile(BaseModel):
255
+ model_config = ConfigDict(populate_by_alias=True, extra="allow")
256
+
257
+ color_scheme: Optional[BrandingColorScheme] = Field(
258
+ default=None, alias="colorScheme", serialization_alias="colorScheme"
259
+ )
260
+ colors: Optional[BrandingColors] = None
261
+ fonts: Optional[List[BrandingFont]] = None
262
+ typography: Optional[BrandingTypography] = None
263
+ spacing: Optional[BrandingSpacing] = None
264
+ components: Optional[BrandingComponents] = None
265
+ images: Optional[BrandingImages] = None
266
+ personality: Optional[BrandingPersonality] = None
267
+ design_system: Optional[BrandingDesignSystem] = Field(
268
+ default=None, alias="designSystem", serialization_alias="designSystem"
269
+ )
270
+ confidence: Optional[BrandingConfidence] = None
@@ -10,6 +10,7 @@ from hyperbrowser.models.consts import (
10
10
  FetchSanitizeMode,
11
11
  )
12
12
  from hyperbrowser.models.session import ScreenConfig
13
+ from hyperbrowser.models.web.branding import BrandingProfile
13
14
 
14
15
 
15
16
  class FetchOutputScreenshotOptions(BaseModel):
@@ -79,6 +80,7 @@ class PageData(BaseModel):
79
80
  json_: Optional[dict[str, Any]] = Field(
80
81
  default=None, alias="json", serialization_alias="json"
81
82
  )
83
+ branding: Optional[BrandingProfile] = None
82
84
 
83
85
 
84
86
  class FetchOutputMarkdown(BaseModel):
@@ -112,13 +114,18 @@ class FetchOutputJson(FetchOutputJsonOptions):
112
114
  type: Literal["json"]
113
115
 
114
116
 
117
+ class FetchOutputBranding(BaseModel):
118
+ type: Literal["branding"]
119
+
120
+
115
121
  FetchOutputFormat = Union[
116
122
  FetchOutputMarkdown,
117
123
  FetchOutputHtml,
118
124
  FetchOutputLinks,
119
125
  FetchOutputScreenshot,
120
126
  FetchOutputJson,
121
- Literal["markdown", "html", "links", "screenshot"],
127
+ FetchOutputBranding,
128
+ Literal["markdown", "html", "links", "screenshot", "branding"],
122
129
  ]
123
130
 
124
131
 
@@ -7,6 +7,7 @@ from .common import (
7
7
  FetchNavigationOptions,
8
8
  FetchCacheOptions,
9
9
  )
10
+ from .branding import BrandingProfile
10
11
  from hyperbrowser.models.consts import FetchStatus, FetchStealthMode
11
12
 
12
13
 
@@ -46,6 +47,7 @@ class FetchResponseData(BaseModel):
46
47
  json_: Optional[dict] = Field(
47
48
  default=None, alias="json", serialization_alias="json"
48
49
  )
50
+ branding: Optional[BrandingProfile] = None
49
51
 
50
52
 
51
53
  class FetchResponse(BaseModel):
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "hyperbrowser"
3
- version = "0.90.4"
3
+ version = "0.90.5"
4
4
  description = "Python SDK for hyperbrowser"
5
5
  authors = ["Nikhil Shahi <nshahi1998@gmail.com>"]
6
6
  license = "MIT"
File without changes
File without changes