hyperbrowser 0.47.0__py3-none-any.whl → 0.49.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.
Potentially problematic release.
This version of hyperbrowser might be problematic. Click here for more details.
- hyperbrowser/client/async_client.py +2 -0
- hyperbrowser/client/managers/async_manager/team.py +12 -0
- hyperbrowser/client/managers/sync_manager/team.py +12 -0
- hyperbrowser/client/sync.py +2 -0
- hyperbrowser/models/__init__.py +11 -0
- hyperbrowser/models/agents/browser_use.py +20 -0
- hyperbrowser/models/agents/claude_computer_use.py +18 -0
- hyperbrowser/models/agents/cua.py +16 -0
- hyperbrowser/models/agents/hyper_agent.py +20 -0
- hyperbrowser/models/team.py +15 -0
- {hyperbrowser-0.47.0.dist-info → hyperbrowser-0.49.0.dist-info}/METADATA +1 -1
- {hyperbrowser-0.47.0.dist-info → hyperbrowser-0.49.0.dist-info}/RECORD +14 -11
- {hyperbrowser-0.47.0.dist-info → hyperbrowser-0.49.0.dist-info}/LICENSE +0 -0
- {hyperbrowser-0.47.0.dist-info → hyperbrowser-0.49.0.dist-info}/WHEEL +0 -0
|
@@ -10,6 +10,7 @@ from .managers.async_manager.extract import ExtractManager
|
|
|
10
10
|
from .managers.async_manager.profile import ProfileManager
|
|
11
11
|
from .managers.async_manager.scrape import ScrapeManager
|
|
12
12
|
from .managers.async_manager.session import SessionManager
|
|
13
|
+
from .managers.async_manager.team import TeamManager
|
|
13
14
|
|
|
14
15
|
|
|
15
16
|
class AsyncHyperbrowser(HyperbrowserBase):
|
|
@@ -31,6 +32,7 @@ class AsyncHyperbrowser(HyperbrowserBase):
|
|
|
31
32
|
self.profiles = ProfileManager(self)
|
|
32
33
|
self.extensions = ExtensionManager(self)
|
|
33
34
|
self.agents = Agents(self)
|
|
35
|
+
self.team = TeamManager(self)
|
|
34
36
|
|
|
35
37
|
async def close(self) -> None:
|
|
36
38
|
await self.transport.close()
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from hyperbrowser.models import TeamCreditInfo
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class TeamManager:
|
|
5
|
+
def __init__(self, client):
|
|
6
|
+
self._client = client
|
|
7
|
+
|
|
8
|
+
async def get_credit_info(self) -> TeamCreditInfo:
|
|
9
|
+
response = await self._client.transport.get(
|
|
10
|
+
self._client._build_url("/team/credit-info")
|
|
11
|
+
)
|
|
12
|
+
return TeamCreditInfo(**response.data)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from hyperbrowser.models import TeamCreditInfo
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class TeamManager:
|
|
5
|
+
def __init__(self, client):
|
|
6
|
+
self._client = client
|
|
7
|
+
|
|
8
|
+
def get_credit_info(self) -> TeamCreditInfo:
|
|
9
|
+
response = self._client.transport.get(
|
|
10
|
+
self._client._build_url("/team/credit-info")
|
|
11
|
+
)
|
|
12
|
+
return TeamCreditInfo(**response.data)
|
hyperbrowser/client/sync.py
CHANGED
|
@@ -10,6 +10,7 @@ from .managers.sync_manager.extract import ExtractManager
|
|
|
10
10
|
from .managers.sync_manager.profile import ProfileManager
|
|
11
11
|
from .managers.sync_manager.scrape import ScrapeManager
|
|
12
12
|
from .managers.sync_manager.session import SessionManager
|
|
13
|
+
from .managers.sync_manager.team import TeamManager
|
|
13
14
|
|
|
14
15
|
|
|
15
16
|
class Hyperbrowser(HyperbrowserBase):
|
|
@@ -31,6 +32,7 @@ class Hyperbrowser(HyperbrowserBase):
|
|
|
31
32
|
self.profiles = ProfileManager(self)
|
|
32
33
|
self.extensions = ExtensionManager(self)
|
|
33
34
|
self.agents = Agents(self)
|
|
35
|
+
self.team = TeamManager(self)
|
|
34
36
|
|
|
35
37
|
def close(self) -> None:
|
|
36
38
|
self.transport.close()
|
hyperbrowser/models/__init__.py
CHANGED
|
@@ -4,6 +4,7 @@ from .agents.browser_use import (
|
|
|
4
4
|
BrowserUseTaskStatusResponse,
|
|
5
5
|
StartBrowserUseTaskParams,
|
|
6
6
|
StartBrowserUseTaskResponse,
|
|
7
|
+
BrowserUseApiKeys,
|
|
7
8
|
)
|
|
8
9
|
from .agents.claude_computer_use import (
|
|
9
10
|
ClaudeComputerUseTaskData,
|
|
@@ -11,6 +12,7 @@ from .agents.claude_computer_use import (
|
|
|
11
12
|
ClaudeComputerUseTaskStatusResponse,
|
|
12
13
|
StartClaudeComputerUseTaskParams,
|
|
13
14
|
StartClaudeComputerUseTaskResponse,
|
|
15
|
+
ClaudeComputerUseApiKeys,
|
|
14
16
|
)
|
|
15
17
|
from .agents.cua import (
|
|
16
18
|
CuaTaskData,
|
|
@@ -18,6 +20,7 @@ from .agents.cua import (
|
|
|
18
20
|
CuaTaskStatusResponse,
|
|
19
21
|
StartCuaTaskParams,
|
|
20
22
|
StartCuaTaskResponse,
|
|
23
|
+
CuaApiKeys,
|
|
21
24
|
)
|
|
22
25
|
from .agents.hyper_agent import (
|
|
23
26
|
HyperAgentActionOutput,
|
|
@@ -29,6 +32,7 @@ from .agents.hyper_agent import (
|
|
|
29
32
|
HyperAgentTaskStatusResponse,
|
|
30
33
|
StartHyperAgentTaskParams,
|
|
31
34
|
StartHyperAgentTaskResponse,
|
|
35
|
+
HyperAgentApiKeys,
|
|
32
36
|
)
|
|
33
37
|
from .consts import (
|
|
34
38
|
ISO639_1,
|
|
@@ -104,6 +108,7 @@ from .session import (
|
|
|
104
108
|
SessionStatus,
|
|
105
109
|
UploadFileResponse,
|
|
106
110
|
)
|
|
111
|
+
from .team import TeamCreditInfo
|
|
107
112
|
|
|
108
113
|
__all__ = [
|
|
109
114
|
# consts
|
|
@@ -150,6 +155,10 @@ __all__ = [
|
|
|
150
155
|
"CuaTaskStatusResponse",
|
|
151
156
|
"StartCuaTaskParams",
|
|
152
157
|
"StartCuaTaskResponse",
|
|
158
|
+
"BrowserUseApiKeys",
|
|
159
|
+
"ClaudeComputerUseApiKeys",
|
|
160
|
+
"CuaApiKeys",
|
|
161
|
+
"HyperAgentApiKeys",
|
|
153
162
|
# crawl
|
|
154
163
|
"CrawledPage",
|
|
155
164
|
"CrawlJobResponse",
|
|
@@ -204,4 +213,6 @@ __all__ = [
|
|
|
204
213
|
"SessionRecording",
|
|
205
214
|
"SessionStatus",
|
|
206
215
|
"UploadFileResponse",
|
|
216
|
+
# team
|
|
217
|
+
"TeamCreditInfo",
|
|
207
218
|
]
|
|
@@ -8,6 +8,20 @@ from ..session import CreateSessionParams
|
|
|
8
8
|
BrowserUseTaskStatus = Literal["pending", "running", "completed", "failed", "stopped"]
|
|
9
9
|
|
|
10
10
|
|
|
11
|
+
class BrowserUseApiKeys(BaseModel):
|
|
12
|
+
"""
|
|
13
|
+
API keys for the browser use task.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
model_config = ConfigDict(
|
|
17
|
+
populate_by_alias=True,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
openai: Optional[str] = Field(default=None, serialization_alias="openai")
|
|
21
|
+
anthropic: Optional[str] = Field(default=None, serialization_alias="anthropic")
|
|
22
|
+
google: Optional[str] = Field(default=None, serialization_alias="google")
|
|
23
|
+
|
|
24
|
+
|
|
11
25
|
class StartBrowserUseTaskParams(BaseModel):
|
|
12
26
|
"""
|
|
13
27
|
Parameters for creating a new browser use task.
|
|
@@ -62,6 +76,12 @@ class StartBrowserUseTaskParams(BaseModel):
|
|
|
62
76
|
session_options: Optional[CreateSessionParams] = Field(
|
|
63
77
|
default=None, serialization_alias="sessionOptions"
|
|
64
78
|
)
|
|
79
|
+
use_custom_api_keys: Optional[bool] = Field(
|
|
80
|
+
default=None, serialization_alias="useCustomApiKeys"
|
|
81
|
+
)
|
|
82
|
+
api_keys: Optional[BrowserUseApiKeys] = Field(
|
|
83
|
+
default=None, serialization_alias="apiKeys"
|
|
84
|
+
)
|
|
65
85
|
|
|
66
86
|
|
|
67
87
|
class StartBrowserUseTaskResponse(BaseModel):
|
|
@@ -10,6 +10,18 @@ ClaudeComputerUseTaskStatus = Literal[
|
|
|
10
10
|
]
|
|
11
11
|
|
|
12
12
|
|
|
13
|
+
class ClaudeComputerUseApiKeys(BaseModel):
|
|
14
|
+
"""
|
|
15
|
+
API keys for the Claude Computer Use task.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
model_config = ConfigDict(
|
|
19
|
+
populate_by_alias=True,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
anthropic: Optional[str] = Field(default=None, serialization_alias="anthropic")
|
|
23
|
+
|
|
24
|
+
|
|
13
25
|
class StartClaudeComputerUseTaskParams(BaseModel):
|
|
14
26
|
"""
|
|
15
27
|
Parameters for creating a new Claude Computer Use task.
|
|
@@ -30,6 +42,12 @@ class StartClaudeComputerUseTaskParams(BaseModel):
|
|
|
30
42
|
session_options: Optional[CreateSessionParams] = Field(
|
|
31
43
|
default=None, serialization_alias="sessionOptions"
|
|
32
44
|
)
|
|
45
|
+
use_custom_api_keys: Optional[bool] = Field(
|
|
46
|
+
default=None, serialization_alias="useCustomApiKeys"
|
|
47
|
+
)
|
|
48
|
+
api_keys: Optional[ClaudeComputerUseApiKeys] = Field(
|
|
49
|
+
default=None, serialization_alias="apiKeys"
|
|
50
|
+
)
|
|
33
51
|
|
|
34
52
|
|
|
35
53
|
class StartClaudeComputerUseTaskResponse(BaseModel):
|
|
@@ -7,6 +7,18 @@ from ..session import CreateSessionParams
|
|
|
7
7
|
CuaTaskStatus = Literal["pending", "running", "completed", "failed", "stopped"]
|
|
8
8
|
|
|
9
9
|
|
|
10
|
+
class CuaApiKeys(BaseModel):
|
|
11
|
+
"""
|
|
12
|
+
API keys for the CUA task.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
model_config = ConfigDict(
|
|
16
|
+
populate_by_alias=True,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
openai: Optional[str] = Field(default=None, serialization_alias="openai")
|
|
20
|
+
|
|
21
|
+
|
|
10
22
|
class StartCuaTaskParams(BaseModel):
|
|
11
23
|
"""
|
|
12
24
|
Parameters for creating a new CUA task.
|
|
@@ -26,6 +38,10 @@ class StartCuaTaskParams(BaseModel):
|
|
|
26
38
|
session_options: Optional[CreateSessionParams] = Field(
|
|
27
39
|
default=None, serialization_alias="sessionOptions"
|
|
28
40
|
)
|
|
41
|
+
use_custom_api_keys: Optional[bool] = Field(
|
|
42
|
+
default=None, serialization_alias="useCustomApiKeys"
|
|
43
|
+
)
|
|
44
|
+
api_keys: Optional[CuaApiKeys] = Field(default=None, serialization_alias="apiKeys")
|
|
29
45
|
|
|
30
46
|
|
|
31
47
|
class StartCuaTaskResponse(BaseModel):
|
|
@@ -8,6 +8,20 @@ from ..session import CreateSessionParams
|
|
|
8
8
|
HyperAgentTaskStatus = Literal["pending", "running", "completed", "failed", "stopped"]
|
|
9
9
|
|
|
10
10
|
|
|
11
|
+
class HyperAgentApiKeys(BaseModel):
|
|
12
|
+
"""
|
|
13
|
+
API keys for the HyperAgent task.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
model_config = ConfigDict(
|
|
17
|
+
populate_by_alias=True,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
openai: Optional[str] = Field(default=None, serialization_alias="openai")
|
|
21
|
+
anthropic: Optional[str] = Field(default=None, serialization_alias="anthropic")
|
|
22
|
+
google: Optional[str] = Field(default=None, serialization_alias="google")
|
|
23
|
+
|
|
24
|
+
|
|
11
25
|
class StartHyperAgentTaskParams(BaseModel):
|
|
12
26
|
"""
|
|
13
27
|
Parameters for creating a new HyperAgent task.
|
|
@@ -27,6 +41,12 @@ class StartHyperAgentTaskParams(BaseModel):
|
|
|
27
41
|
session_options: Optional[CreateSessionParams] = Field(
|
|
28
42
|
default=None, serialization_alias="sessionOptions"
|
|
29
43
|
)
|
|
44
|
+
use_custom_api_keys: Optional[bool] = Field(
|
|
45
|
+
default=None, serialization_alias="useCustomApiKeys"
|
|
46
|
+
)
|
|
47
|
+
api_keys: Optional[HyperAgentApiKeys] = Field(
|
|
48
|
+
default=None, serialization_alias="apiKeys"
|
|
49
|
+
)
|
|
30
50
|
|
|
31
51
|
|
|
32
52
|
class StartHyperAgentTaskResponse(BaseModel):
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class TeamCreditInfo(BaseModel):
|
|
5
|
+
"""
|
|
6
|
+
Represents a team's credit information.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
model_config = ConfigDict(
|
|
10
|
+
populate_by_alias=True,
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
usage: int = Field(alias="usage")
|
|
14
|
+
limit: int = Field(alias="limit")
|
|
15
|
+
remaining: int = Field(alias="remaining")
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
hyperbrowser/__init__.py,sha256=zWGcLhqhvWy6BTwuNpzWK1-0LpIn311ks-4U9nrsb7Y,187
|
|
2
|
-
hyperbrowser/client/async_client.py,sha256=
|
|
2
|
+
hyperbrowser/client/async_client.py,sha256=hMjpmWlRAhbmv4F3Eh-xaPFl12YoRiWQAjJDJ0y_fDw,1565
|
|
3
3
|
hyperbrowser/client/base.py,sha256=2nkTdGfRWjW3grqAuYez-IuD69SAAJ5qklCKNeAYd6A,1268
|
|
4
4
|
hyperbrowser/client/managers/async_manager/agents/__init__.py,sha256=GUkUBxoqW6vchz3-yNlUaE8TdEClNdp3RliHYMT1fsE,432
|
|
5
5
|
hyperbrowser/client/managers/async_manager/agents/browser_use.py,sha256=wizo6f_GpZyP8z6nXbqgX57i2cJMm12GDt1yEmPXF1A,2863
|
|
@@ -12,6 +12,7 @@ hyperbrowser/client/managers/async_manager/extract.py,sha256=wZO696_3Mse3tnsHgpS
|
|
|
12
12
|
hyperbrowser/client/managers/async_manager/profile.py,sha256=cQ4cYVwL83heQwEnQiBw0PHk1HWK7DWFXmmBnRXJt0E,1514
|
|
13
13
|
hyperbrowser/client/managers/async_manager/scrape.py,sha256=akVgbatTTHDFkmxugxcQpIPEwjSPm7VloJVDdbAPRh0,6560
|
|
14
14
|
hyperbrowser/client/managers/async_manager/session.py,sha256=-bp5wG8Is6J3NR4vIIFcFgpIjBK8GnOsWg09XddkWhg,3494
|
|
15
|
+
hyperbrowser/client/managers/async_manager/team.py,sha256=DHRd7igcuMG16WfM1-nSnpqaSNvwEzBnTGv7wRuaRdI,353
|
|
15
16
|
hyperbrowser/client/managers/sync_manager/agents/__init__.py,sha256=GUkUBxoqW6vchz3-yNlUaE8TdEClNdp3RliHYMT1fsE,432
|
|
16
17
|
hyperbrowser/client/managers/sync_manager/agents/browser_use.py,sha256=HXl8GM47DZuK4A-3DpwbLDJCnzEL8ndn9YfDAEljZFk,2765
|
|
17
18
|
hyperbrowser/client/managers/sync_manager/agents/claude_computer_use.py,sha256=6mAaqDjKrLrxRaGZfZSgC7wYVyDQeWZEE6K6wLrnTXk,2557
|
|
@@ -23,14 +24,15 @@ hyperbrowser/client/managers/sync_manager/extract.py,sha256=rNSxAMR95_nL4qHuatPS
|
|
|
23
24
|
hyperbrowser/client/managers/sync_manager/profile.py,sha256=P6pQXeDiW40PN_XZJMzdr59FxwysFJ1fG1pOt5CbvtY,1466
|
|
24
25
|
hyperbrowser/client/managers/sync_manager/scrape.py,sha256=aNsTNZyPwzwCz6oCqzfoOWJm3qXUjwIIO68lIaCGzWE,6381
|
|
25
26
|
hyperbrowser/client/managers/sync_manager/session.py,sha256=81sjAXPc3w3F1bI0if6z02wHrS5HYsStDQTpqUpk6Fo,3330
|
|
26
|
-
hyperbrowser/client/
|
|
27
|
+
hyperbrowser/client/managers/sync_manager/team.py,sha256=VKuKXpbGBZ-iwTDAlO0U0yvi2Ig4iJhafjx0e9xV_tk,341
|
|
28
|
+
hyperbrowser/client/sync.py,sha256=S7v9GlrJig2iuRBFX9NPOzxWBDoEM13Pp18CT6vTXUw,1387
|
|
27
29
|
hyperbrowser/config.py,sha256=7P-sbcvqXVr8Qzubo5O6jJgzcCgB5DdwbeIgEjRZNlY,623
|
|
28
30
|
hyperbrowser/exceptions.py,sha256=SUUkptK2OL36xDORYmSicaTYR7pMbxeWAjAgz35xnM8,1171
|
|
29
|
-
hyperbrowser/models/__init__.py,sha256=
|
|
30
|
-
hyperbrowser/models/agents/browser_use.py,sha256=
|
|
31
|
-
hyperbrowser/models/agents/claude_computer_use.py,sha256=
|
|
32
|
-
hyperbrowser/models/agents/cua.py,sha256=
|
|
33
|
-
hyperbrowser/models/agents/hyper_agent.py,sha256=
|
|
31
|
+
hyperbrowser/models/__init__.py,sha256=aI4bTkfnlqXNr2x2LmrkKYtvC_pmWfnkK262CC6x39g,5300
|
|
32
|
+
hyperbrowser/models/agents/browser_use.py,sha256=Na3av_EivqOCtEjd-Bfm68sp3H_tr_cE8q1oFCjagUU,6303
|
|
33
|
+
hyperbrowser/models/agents/claude_computer_use.py,sha256=j7hBYwdOh_gljNk84_omEX2Wgtt3RbujlX6bH7JfdzE,3194
|
|
34
|
+
hyperbrowser/models/agents/cua.py,sha256=5w0nCwoixctA8-GJRCazJ_k243Own6sKkrjpnce86cw,3492
|
|
35
|
+
hyperbrowser/models/agents/hyper_agent.py,sha256=tHca1Xw6sHekF0SAL1buKMjeUjwmm8qciKFCWsJ1q0g,3728
|
|
34
36
|
hyperbrowser/models/consts.py,sha256=eJVHFIKqhb9AbJkbP7OY71fxI7bv3OhH1S040X2n0oc,6907
|
|
35
37
|
hyperbrowser/models/crawl.py,sha256=XUS5Ja-Abl8gMyDtLIsRaEKa_taSOORMLOFCdAPgGaI,2820
|
|
36
38
|
hyperbrowser/models/extension.py,sha256=nXjKXKt9R7RxyZ4hd3EvfqZsEGy_ufh1r5j2mqCLykQ,804
|
|
@@ -38,6 +40,7 @@ hyperbrowser/models/extract.py,sha256=DXg0HtO44plAtcFOmqUpdp9P93tq45U2fLWxn5jdjA
|
|
|
38
40
|
hyperbrowser/models/profile.py,sha256=GF0esQwru0oOs9sQ9DCuO8VX4GKPgRgKCVP8s7g0Pig,1846
|
|
39
41
|
hyperbrowser/models/scrape.py,sha256=iMsUuMx3UFtSci6TVUpcH5ytbgwiImIXjviVcGZ_gBQ,5048
|
|
40
42
|
hyperbrowser/models/session.py,sha256=LqHG9UcNs6zMP1O9gnCG58L4Tc2-e6EtapXsF7F4BPc,7840
|
|
43
|
+
hyperbrowser/models/team.py,sha256=dPBFL3TPO0AF_UzqP4sENMPhku_5j00uwC24zG558MU,338
|
|
41
44
|
hyperbrowser/tools/__init__.py,sha256=L-2xveBbSuIBQBQhJmXGCLNYEUq_XHDdgz_gBAsmQZo,4605
|
|
42
45
|
hyperbrowser/tools/anthropic.py,sha256=bo8jn2ROHCp_hpX1_cjkCk7qU0LmuBr_gvlvM0f5OMc,2699
|
|
43
46
|
hyperbrowser/tools/openai.py,sha256=YkdONf2CYuuJei2019a5cpCcZGn8g5bH-PnZ4YY7c4U,3514
|
|
@@ -45,7 +48,7 @@ hyperbrowser/tools/schema.py,sha256=YFUAoQjx_SpjezS3UQdTCCn4xMdN3CgEeKAlulkIATc,
|
|
|
45
48
|
hyperbrowser/transport/async_transport.py,sha256=6HKoeM5TutIqraEscEWobvSPWF3iVKh2hPflGNKwykw,4128
|
|
46
49
|
hyperbrowser/transport/base.py,sha256=ildpMrDiM8nvrSGrH2LTOafmB17T7PQB_NQ1ODA378U,1703
|
|
47
50
|
hyperbrowser/transport/sync.py,sha256=aUVpxWF8sqSycLNKxVNEZvlsZSoqc1eHgPK1Y1QA1u8,3422
|
|
48
|
-
hyperbrowser-0.
|
|
49
|
-
hyperbrowser-0.
|
|
50
|
-
hyperbrowser-0.
|
|
51
|
-
hyperbrowser-0.
|
|
51
|
+
hyperbrowser-0.49.0.dist-info/LICENSE,sha256=NbSXeOZ2JKnPpkyLBYkfPqt9eWNy-Lx3xb4sjsSR9mI,1069
|
|
52
|
+
hyperbrowser-0.49.0.dist-info/METADATA,sha256=FulmXAULPA73kFG2IVeDCjlXfw6winGsuI7x2pB3Ch8,3578
|
|
53
|
+
hyperbrowser-0.49.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
54
|
+
hyperbrowser-0.49.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|