Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "scrapybara"

[tool.poetry]
name = "scrapybara"
version = "2.4.3"
version = "2.4.4"
description = ""
readme = "README.md"
authors = []
Expand Down
16 changes: 16 additions & 0 deletions reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,22 @@ client.instance.bash(
<dl>
<dd>

**get_background_processes:** `typing.Optional[bool]`

</dd>
</dl>

<dl>
<dd>

**kill_pid:** `typing.Optional[int]`

</dd>
</dl>

<dl>
<dd>

**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.

</dd>
Expand Down
26 changes: 26 additions & 0 deletions src/scrapybara/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
# This file was auto-generated by Fern from our API Definition.

from .types import (
Action,
Action_ClickMouse,
Action_DragMouse,
Action_GetCursorPosition,
Action_MoveMouse,
Action_PressKey,
Action_Scroll,
Action_TakeScreenshot,
Action_TypeText,
Action_Wait,
AuthStateResponse,
BashResponse,
BrowserAuthenticateResponse,
Expand All @@ -10,6 +20,7 @@
CellType,
ClickMouseAction,
ClickMouseActionClickType,
ComputerRequest,
ComputerResponse,
DeploymentConfigInstanceType,
DragMouseAction,
Expand All @@ -19,6 +30,8 @@
ExecuteCellRequest,
FileDownloadResponse,
FileReadResponse,
FilesystemRequest,
FilesystemResponse,
GetCursorPositionAction,
GetInstanceResponse,
GetInstanceResponseInstanceType,
Expand Down Expand Up @@ -63,6 +76,16 @@
from .version import __version__

__all__ = [
"Action",
"Action_ClickMouse",
"Action_DragMouse",
"Action_GetCursorPosition",
"Action_MoveMouse",
"Action_PressKey",
"Action_Scroll",
"Action_TakeScreenshot",
"Action_TypeText",
"Action_Wait",
"AsyncScrapybara",
"AuthStateResponse",
"BashResponse",
Expand All @@ -74,6 +97,7 @@
"ClickMouseAction",
"ClickMouseActionClickType",
"Command",
"ComputerRequest",
"ComputerResponse",
"DeploymentConfigInstanceType",
"DragMouseAction",
Expand All @@ -83,6 +107,8 @@
"ExecuteCellRequest",
"FileDownloadResponse",
"FileReadResponse",
"FilesystemRequest",
"FilesystemResponse",
"GetCursorPositionAction",
"GetInstanceResponse",
"GetInstanceResponseInstanceType",
Expand Down
2 changes: 1 addition & 1 deletion src/scrapybara/core/client_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def get_headers(self) -> typing.Dict[str, str]:
headers: typing.Dict[str, str] = {
"X-Fern-Language": "Python",
"X-Fern-SDK-Name": "scrapybara",
"X-Fern-SDK-Version": "2.4.3",
"X-Fern-SDK-Version": "2.4.4",
}
headers["x-api-key"] = self.api_key
return headers
Expand Down
16 changes: 16 additions & 0 deletions src/scrapybara/instance/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,8 @@ def bash(
*,
command: typing.Optional[str] = OMIT,
restart: typing.Optional[bool] = OMIT,
get_background_processes: typing.Optional[bool] = OMIT,
kill_pid: typing.Optional[int] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> BashResponse:
"""
Expand All @@ -222,6 +224,10 @@ def bash(

restart : typing.Optional[bool]

get_background_processes : typing.Optional[bool]

kill_pid : typing.Optional[int]

request_options : typing.Optional[RequestOptions]
Request-specific configuration.

Expand All @@ -247,6 +253,8 @@ def bash(
json={
"command": command,
"restart": restart,
"get_background_processes": get_background_processes,
"kill_pid": kill_pid,
},
headers={
"content-type": "application/json",
Expand Down Expand Up @@ -761,6 +769,8 @@ async def bash(
*,
command: typing.Optional[str] = OMIT,
restart: typing.Optional[bool] = OMIT,
get_background_processes: typing.Optional[bool] = OMIT,
kill_pid: typing.Optional[int] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> BashResponse:
"""
Expand All @@ -772,6 +782,10 @@ async def bash(

restart : typing.Optional[bool]

get_background_processes : typing.Optional[bool]

kill_pid : typing.Optional[int]

request_options : typing.Optional[RequestOptions]
Request-specific configuration.

Expand Down Expand Up @@ -805,6 +819,8 @@ async def main() -> None:
json={
"command": command,
"restart": restart,
"get_background_processes": get_background_processes,
"kill_pid": kill_pid,
},
headers={
"content-type": "application/json",
Expand Down
157 changes: 157 additions & 0 deletions src/scrapybara/types/action.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
# This file was auto-generated by Fern from our API Definition.

from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
from .button import Button
from .click_mouse_action_click_type import ClickMouseActionClickType
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic


class Action_ClickMouse(UniversalBaseModel):
action: typing.Literal["click_mouse"] = "click_mouse"
button: Button
click_type: typing.Optional[ClickMouseActionClickType] = None
coordinates: typing.Optional[typing.List[int]] = None
num_clicks: typing.Optional[int] = None
hold_keys: typing.Optional[typing.List[str]] = None

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow


class Action_DragMouse(UniversalBaseModel):
action: typing.Literal["drag_mouse"] = "drag_mouse"
path: typing.List[typing.List[int]]
hold_keys: typing.Optional[typing.List[str]] = None

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow


class Action_GetCursorPosition(UniversalBaseModel):
action: typing.Literal["get_cursor_position"] = "get_cursor_position"

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow


class Action_MoveMouse(UniversalBaseModel):
action: typing.Literal["move_mouse"] = "move_mouse"
coordinates: typing.List[int]
hold_keys: typing.Optional[typing.List[str]] = None

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow


class Action_PressKey(UniversalBaseModel):
action: typing.Literal["press_key"] = "press_key"
keys: typing.List[str]
duration: typing.Optional[float] = None

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow


class Action_Scroll(UniversalBaseModel):
action: typing.Literal["scroll"] = "scroll"
coordinates: typing.Optional[typing.List[int]] = None
delta_x: typing.Optional[float] = None
delta_y: typing.Optional[float] = None
hold_keys: typing.Optional[typing.List[str]] = None

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow


class Action_TakeScreenshot(UniversalBaseModel):
action: typing.Literal["take_screenshot"] = "take_screenshot"

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow


class Action_TypeText(UniversalBaseModel):
action: typing.Literal["type_text"] = "type_text"
text: str
hold_keys: typing.Optional[typing.List[str]] = None

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow


class Action_Wait(UniversalBaseModel):
action: typing.Literal["wait"] = "wait"
duration: float

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow


Action = typing.Union[
Action_ClickMouse,
Action_DragMouse,
Action_GetCursorPosition,
Action_MoveMouse,
Action_PressKey,
Action_Scroll,
Action_TakeScreenshot,
Action_TypeText,
Action_Wait,
]
21 changes: 21 additions & 0 deletions src/scrapybara/types/computer_request.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# This file was auto-generated by Fern from our API Definition.

from ..core.pydantic_utilities import UniversalBaseModel
from .action import Action
import typing
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic


class ComputerRequest(UniversalBaseModel):
action: Action
screenshot: typing.Optional[bool] = None

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow
36 changes: 36 additions & 0 deletions src/scrapybara/types/filesystem_request.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# This file was auto-generated by Fern from our API Definition.

from ..core.pydantic_utilities import UniversalBaseModel
import typing
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic


class FilesystemRequest(UniversalBaseModel):
command: str
path: typing.Optional[str] = None
content: typing.Optional[str] = None
mode: typing.Optional[str] = None
encoding: typing.Optional[str] = None
view_range: typing.Optional[typing.List[int]] = None
recursive: typing.Optional[bool] = None
src: typing.Optional[str] = None
dst: typing.Optional[str] = None
old_str: typing.Optional[str] = None
new_str: typing.Optional[str] = None
line: typing.Optional[int] = None
text: typing.Optional[str] = None
lines: typing.Optional[typing.List[int]] = None
all_occurrences: typing.Optional[bool] = None
pattern: typing.Optional[str] = None
case_sensitive: typing.Optional[bool] = None
line_numbers: typing.Optional[bool] = None

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow
Loading
Loading