hyperbrowser 0.87.0__tar.gz → 0.88.1__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 (87) hide show
  1. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/PKG-INFO +1 -1
  2. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/session.py +15 -0
  3. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/session.py +15 -1
  4. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/__init__.py +6 -0
  5. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/session.py +52 -1
  6. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/pyproject.toml +1 -1
  7. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/LICENSE +0 -0
  8. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/README.md +0 -0
  9. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/__init__.py +0 -0
  10. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/async_client.py +0 -0
  11. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/base.py +0 -0
  12. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/agents/__init__.py +0 -0
  13. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/agents/browser_use.py +0 -0
  14. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/agents/claude_computer_use.py +0 -0
  15. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/agents/cua.py +0 -0
  16. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/agents/gemini_computer_use.py +0 -0
  17. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/agents/hyper_agent.py +0 -0
  18. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/computer_action.py +0 -0
  19. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/crawl.py +0 -0
  20. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/extension.py +0 -0
  21. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/extract.py +0 -0
  22. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/profile.py +0 -0
  23. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/sandbox.py +0 -0
  24. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/sandboxes/__init__.py +0 -0
  25. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_files.py +0 -0
  26. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_processes.py +0 -0
  27. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_terminal.py +0 -0
  28. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_transport.py +0 -0
  29. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/scrape.py +0 -0
  30. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/team.py +0 -0
  31. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/web/__init__.py +0 -0
  32. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/web/batch_fetch.py +0 -0
  33. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/async_manager/web/crawl.py +0 -0
  34. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sandboxes/__init__.py +0 -0
  35. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sandboxes/shared.py +0 -0
  36. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/agents/__init__.py +0 -0
  37. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/agents/browser_use.py +0 -0
  38. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/agents/claude_computer_use.py +0 -0
  39. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/agents/cua.py +0 -0
  40. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/agents/gemini_computer_use.py +0 -0
  41. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/agents/hyper_agent.py +0 -0
  42. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/computer_action.py +0 -0
  43. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/crawl.py +0 -0
  44. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/extension.py +0 -0
  45. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/extract.py +0 -0
  46. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/profile.py +0 -0
  47. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/sandbox.py +0 -0
  48. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/sandboxes/__init__.py +0 -0
  49. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_files.py +0 -0
  50. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_processes.py +0 -0
  51. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_terminal.py +0 -0
  52. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_transport.py +0 -0
  53. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/scrape.py +0 -0
  54. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/team.py +0 -0
  55. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/web/__init__.py +0 -0
  56. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/web/batch_fetch.py +0 -0
  57. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/managers/sync_manager/web/crawl.py +0 -0
  58. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/client/sync.py +0 -0
  59. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/config.py +0 -0
  60. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/exceptions.py +0 -0
  61. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/agents/browser_use.py +0 -0
  62. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/agents/claude_computer_use.py +0 -0
  63. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/agents/cua.py +0 -0
  64. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/agents/gemini_computer_use.py +0 -0
  65. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/agents/hyper_agent.py +0 -0
  66. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/computer_action.py +0 -0
  67. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/consts.py +0 -0
  68. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/crawl.py +0 -0
  69. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/extension.py +0 -0
  70. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/extract.py +0 -0
  71. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/profile.py +0 -0
  72. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/sandbox.py +0 -0
  73. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/scrape.py +0 -0
  74. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/team.py +0 -0
  75. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/web/batch_fetch.py +0 -0
  76. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/web/common.py +0 -0
  77. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/web/crawl.py +0 -0
  78. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/web/fetch.py +0 -0
  79. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/models/web/search.py +0 -0
  80. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/sandbox_common.py +0 -0
  81. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/tools/__init__.py +0 -0
  82. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/tools/anthropic.py +0 -0
  83. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/tools/openai.py +0 -0
  84. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/tools/schema.py +0 -0
  85. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/transport/async_transport.py +0 -0
  86. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/transport/base.py +0 -0
  87. {hyperbrowser-0.87.0 → hyperbrowser-0.88.1}/hyperbrowser/transport/sync.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hyperbrowser
3
- Version: 0.87.0
3
+ Version: 0.88.1
4
4
  Summary: Python SDK for hyperbrowser
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -15,6 +15,7 @@ from ....models.session import (
15
15
  SessionEventLogListResponse,
16
16
  SessionEventLog,
17
17
  UpdateSessionProfileParams,
18
+ UpdateSessionProxyParams,
18
19
  SessionGetParams,
19
20
  )
20
21
 
@@ -183,6 +184,20 @@ class SessionManager:
183
184
  )
184
185
  return BasicResponse(**response.data)
185
186
 
187
+ async def update_proxy_params(
188
+ self,
189
+ id: str,
190
+ params: UpdateSessionProxyParams,
191
+ ) -> BasicResponse:
192
+ response = await self._client.transport.put(
193
+ self._client._build_url(f"/session/{id}/update"),
194
+ data={
195
+ "type": "proxy",
196
+ "params": params.model_dump(exclude_none=True, by_alias=True),
197
+ },
198
+ )
199
+ return BasicResponse(**response.data)
200
+
186
201
  def _warn_update_profile_params_boolean_deprecated(self) -> None:
187
202
  if SessionManager._has_warned_update_profile_params_boolean_deprecated:
188
203
  return
@@ -13,8 +13,8 @@ from ....models.session import (
13
13
  UploadFileResponse,
14
14
  SessionEventLogListParams,
15
15
  SessionEventLogListResponse,
16
- SessionEventLog,
17
16
  UpdateSessionProfileParams,
17
+ UpdateSessionProxyParams,
18
18
  SessionGetParams,
19
19
  )
20
20
 
@@ -179,6 +179,20 @@ class SessionManager:
179
179
  )
180
180
  return BasicResponse(**response.data)
181
181
 
182
+ def update_proxy_params(
183
+ self,
184
+ id: str,
185
+ params: UpdateSessionProxyParams,
186
+ ) -> BasicResponse:
187
+ response = self._client.transport.put(
188
+ self._client._build_url(f"/session/{id}/update"),
189
+ data={
190
+ "type": "proxy",
191
+ "params": params.model_dump(exclude_none=True, by_alias=True),
192
+ },
193
+ )
194
+ return BasicResponse(**response.data)
195
+
182
196
  def _warn_update_profile_params_boolean_deprecated(self) -> None:
183
197
  if SessionManager._has_warned_update_profile_params_boolean_deprecated:
184
198
  return
@@ -229,11 +229,14 @@ from .session import (
229
229
  SessionEventLog,
230
230
  SessionEventLogListParams,
231
231
  SessionEventLogListResponse,
232
+ SessionCreditBreakdown,
232
233
  SessionProfile,
233
234
  SessionLaunchState,
234
235
  UploadFileResponse,
235
236
  ImageCaptchaParam,
236
237
  UpdateSessionProfileParams,
238
+ UpdateSessionProxyLocationParams,
239
+ UpdateSessionProxyParams,
237
240
  )
238
241
  from .sandbox import (
239
242
  SandboxStatus,
@@ -480,11 +483,14 @@ __all__ = [
480
483
  "SessionEventLog",
481
484
  "SessionEventLogListParams",
482
485
  "SessionEventLogListResponse",
486
+ "SessionCreditBreakdown",
483
487
  "SessionProfile",
484
488
  "SessionLaunchState",
485
489
  "UploadFileResponse",
486
490
  "ImageCaptchaParam",
487
491
  "UpdateSessionProfileParams",
492
+ "UpdateSessionProxyLocationParams",
493
+ "UpdateSessionProxyParams",
488
494
  # sandbox
489
495
  "SandboxStatus",
490
496
  "SandboxRegion",
@@ -1,6 +1,5 @@
1
1
  from datetime import datetime
2
2
  from typing import Any, List, Literal, Optional, Union, Dict
3
- from .computer_action import ComputerActionParams, ComputerActionResponse
4
3
 
5
4
  from pydantic import BaseModel, ConfigDict, Field, field_validator
6
5
 
@@ -70,6 +69,37 @@ class UpdateSessionProfileParams(BaseModel):
70
69
  )
71
70
 
72
71
 
72
+ class UpdateSessionProxyLocationParams(BaseModel):
73
+ """
74
+ Managed proxy geolocation overrides for a running session.
75
+ """
76
+
77
+ model_config = ConfigDict(
78
+ populate_by_alias=True,
79
+ )
80
+
81
+ country: Optional[Country] = Field(default=None, serialization_alias="country")
82
+ state: Optional[State] = Field(default=None, serialization_alias="state")
83
+ city: Optional[str] = Field(default=None, serialization_alias="city")
84
+
85
+
86
+ class UpdateSessionProxyParams(BaseModel):
87
+ """
88
+ Parameters for enabling, disabling, or reconfiguring a session proxy.
89
+ """
90
+
91
+ model_config = ConfigDict(
92
+ populate_by_alias=True,
93
+ )
94
+
95
+ enabled: bool = Field(serialization_alias="enabled")
96
+ static_ip_id: Optional[str] = Field(default=None, serialization_alias="staticIpId")
97
+ location: Optional[UpdateSessionProxyLocationParams] = Field(
98
+ default=None,
99
+ serialization_alias="location",
100
+ )
101
+
102
+
73
103
  class SessionLaunchState(BaseModel):
74
104
  model_config = ConfigDict(
75
105
  populate_by_alias=True,
@@ -118,6 +148,24 @@ class SessionLaunchState(BaseModel):
118
148
  )
119
149
 
120
150
 
151
+ class SessionCreditBreakdown(BaseModel):
152
+ """
153
+ Breakdown of credits used by a session.
154
+ """
155
+
156
+ model_config = ConfigDict(
157
+ populate_by_alias=True,
158
+ )
159
+
160
+ credits_used: Optional[float] = Field(default=None, alias="creditsUsed")
161
+ browser_time_credits_used: Optional[float] = Field(
162
+ default=None, alias="browserTimeCreditsUsed"
163
+ )
164
+ proxy_data_credits_used: Optional[float] = Field(
165
+ default=None, alias="proxyDataCreditsUsed"
166
+ )
167
+
168
+
121
169
  class Session(BaseModel):
122
170
  """
123
171
  Represents a basic session in the Hyperbrowser system.
@@ -141,6 +189,9 @@ class Session(BaseModel):
141
189
  default=None, alias="launchState"
142
190
  )
143
191
  credits_used: Optional[float] = Field(default=None, alias="creditsUsed")
192
+ credit_breakdown: Optional[SessionCreditBreakdown] = Field(
193
+ default=None, alias="creditBreakdown"
194
+ )
144
195
 
145
196
  @field_validator("start_time", "end_time", mode="before")
146
197
  @classmethod
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "hyperbrowser"
3
- version = "0.87.0"
3
+ version = "0.88.1"
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