hyperbrowser 0.20.0__tar.gz → 0.22.0__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.

Potentially problematic release.


This version of hyperbrowser might be problematic. Click here for more details.

Files changed (37) hide show
  1. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/PKG-INFO +1 -1
  2. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/client/managers/async_manager/profile.py +14 -1
  3. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/client/managers/sync_manager/profile.py +14 -1
  4. hyperbrowser-0.22.0/hyperbrowser/models/profile.py +57 -0
  5. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/models/session.py +8 -3
  6. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/pyproject.toml +1 -1
  7. hyperbrowser-0.20.0/hyperbrowser/models/profile.py +0 -17
  8. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/LICENSE +0 -0
  9. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/README.md +0 -0
  10. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/__init__.py +0 -0
  11. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/client/async_client.py +0 -0
  12. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/client/base.py +0 -0
  13. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/client/managers/async_manager/crawl.py +0 -0
  14. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/client/managers/async_manager/extension.py +0 -0
  15. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/client/managers/async_manager/extract.py +0 -0
  16. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/client/managers/async_manager/scrape.py +0 -0
  17. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/client/managers/async_manager/session.py +0 -0
  18. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/client/managers/sync_manager/crawl.py +0 -0
  19. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/client/managers/sync_manager/extension.py +0 -0
  20. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/client/managers/sync_manager/extract.py +0 -0
  21. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/client/managers/sync_manager/scrape.py +0 -0
  22. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/client/managers/sync_manager/session.py +0 -0
  23. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/client/sync.py +0 -0
  24. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/config.py +0 -0
  25. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/exceptions.py +0 -0
  26. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/models/consts.py +0 -0
  27. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/models/crawl.py +0 -0
  28. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/models/extension.py +0 -0
  29. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/models/extract.py +0 -0
  30. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/models/scrape.py +0 -0
  31. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/tools/__init__.py +0 -0
  32. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/tools/anthropic.py +0 -0
  33. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/tools/openai.py +0 -0
  34. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/tools/schema.py +0 -0
  35. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/transport/async_transport.py +0 -0
  36. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/transport/base.py +0 -0
  37. {hyperbrowser-0.20.0 → hyperbrowser-0.22.0}/hyperbrowser/transport/sync.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: hyperbrowser
3
- Version: 0.20.0
3
+ Version: 0.22.0
4
4
  Summary: Python SDK for hyperbrowser
5
5
  License: MIT
6
6
  Author: Nikhil Shahi
@@ -1,4 +1,9 @@
1
- from hyperbrowser.models.profile import ProfileResponse, CreateProfileResponse
1
+ from hyperbrowser.models.profile import (
2
+ CreateProfileResponse,
3
+ ProfileListParams,
4
+ ProfileListResponse,
5
+ ProfileResponse,
6
+ )
2
7
  from hyperbrowser.models.session import BasicResponse
3
8
 
4
9
 
@@ -23,3 +28,11 @@ class ProfileManager:
23
28
  self._client._build_url(f"/profile/{id}"),
24
29
  )
25
30
  return BasicResponse(**response.data)
31
+
32
+ async def list(
33
+ self, params: ProfileListParams = ProfileListParams()
34
+ ) -> ProfileListResponse:
35
+ response = await self._client.transport.get(
36
+ self._client._build_url("/profiles"), params=params.__dict__
37
+ )
38
+ return ProfileListResponse(**response.data)
@@ -1,4 +1,9 @@
1
- from hyperbrowser.models.profile import ProfileResponse, CreateProfileResponse
1
+ from hyperbrowser.models.profile import (
2
+ CreateProfileResponse,
3
+ ProfileListParams,
4
+ ProfileListResponse,
5
+ ProfileResponse,
6
+ )
2
7
  from hyperbrowser.models.session import BasicResponse
3
8
 
4
9
 
@@ -23,3 +28,11 @@ class ProfileManager:
23
28
  self._client._build_url(f"/profile/{id}"),
24
29
  )
25
30
  return BasicResponse(**response.data)
31
+
32
+ def list(
33
+ self, params: ProfileListParams = ProfileListParams()
34
+ ) -> ProfileListResponse:
35
+ response = self._client.transport.get(
36
+ self._client._build_url("/profiles"), params=params.__dict__
37
+ )
38
+ return ProfileListResponse(**response.data)
@@ -0,0 +1,57 @@
1
+ from datetime import datetime
2
+ from typing import List
3
+
4
+ from pydantic import BaseModel, ConfigDict, Field
5
+
6
+
7
+ class CreateProfileResponse(BaseModel):
8
+ id: str
9
+
10
+
11
+ class ProfileResponse(BaseModel):
12
+ model_config = ConfigDict(
13
+ populate_by_alias=True,
14
+ )
15
+
16
+ id: str
17
+ team_id: str = Field(alias="teamId")
18
+ created_at: datetime = Field(alias="createdAt")
19
+ updated_at: datetime = Field(alias="updatedAt")
20
+
21
+
22
+ class ProfileListParams(BaseModel):
23
+ """
24
+ Parameters for listing profiles.
25
+ """
26
+
27
+ model_config = ConfigDict(
28
+ populate_by_alias=True,
29
+ )
30
+
31
+ page: int = Field(default=1, ge=1)
32
+ limit: int = Field(default=10, ge=1)
33
+
34
+
35
+ class ProfileListResponse(BaseModel):
36
+ """
37
+ Response containing a list of profiles with pagination information.
38
+ """
39
+
40
+ model_config = ConfigDict(
41
+ populate_by_alias=True,
42
+ )
43
+
44
+ profiles: List[ProfileResponse]
45
+ total_count: int = Field(alias="totalCount")
46
+ page: int
47
+ per_page: int = Field(alias="perPage")
48
+
49
+ @property
50
+ def has_more(self) -> bool:
51
+ """Check if there are more pages available."""
52
+ return self.total_count > (self.page * self.per_page)
53
+
54
+ @property
55
+ def total_pages(self) -> int:
56
+ """Calculate the total number of pages."""
57
+ return -(-self.total_count // self.per_page)
@@ -1,8 +1,9 @@
1
- from typing import Any, List, Literal, Optional, Union
2
1
  from datetime import datetime
3
- from pydantic import BaseModel, Field, ConfigDict, field_validator
2
+ from typing import Any, List, Literal, Optional, Union
4
3
 
5
- from hyperbrowser.models.consts import Country, OperatingSystem, Platform, ISO639_1
4
+ from pydantic import BaseModel, ConfigDict, Field, field_validator
5
+
6
+ from hyperbrowser.models.consts import ISO639_1, Country, OperatingSystem, Platform
6
7
 
7
8
  SessionStatus = Literal["active", "closed", "error"]
8
9
 
@@ -66,6 +67,7 @@ class SessionListParams(BaseModel):
66
67
 
67
68
  status: Optional[SessionStatus] = Field(default=None, exclude=None)
68
69
  page: int = Field(default=1, ge=1)
70
+ limit: int = Field(default=10, ge=1)
69
71
 
70
72
 
71
73
  class SessionListResponse(BaseModel):
@@ -153,6 +155,9 @@ class CreateSessionParams(BaseModel):
153
155
  default=None, serialization_alias="extensionIds"
154
156
  )
155
157
  static_ip_id: Optional[str] = Field(default=None, serialization_alias="staticIpId")
158
+ accept_cookies: Optional[bool] = Field(
159
+ default=None, serialization_alias="acceptCookies"
160
+ )
156
161
 
157
162
 
158
163
  class SessionRecording(BaseModel):
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "hyperbrowser"
3
- version = "0.20.0"
3
+ version = "0.22.0"
4
4
  description = "Python SDK for hyperbrowser"
5
5
  authors = ["Nikhil Shahi <nshahi1998@gmail.com>"]
6
6
  license = "MIT"
@@ -1,17 +0,0 @@
1
- from pydantic import BaseModel, ConfigDict, Field
2
- from datetime import datetime
3
-
4
-
5
- class CreateProfileResponse(BaseModel):
6
- id: str
7
-
8
-
9
- class ProfileResponse(BaseModel):
10
- model_config = ConfigDict(
11
- populate_by_alias=True,
12
- )
13
-
14
- id: str
15
- team_id: str = Field(alias="teamId")
16
- created_at: datetime = Field(alias="createdAt")
17
- updated_at: datetime = Field(alias="updatedAt")
File without changes
File without changes