Skip to content

Commit 195ff93

Browse files
authored
Add toon format options (#7)
* Add toon format options * bump version
1 parent 98538f6 commit 195ff93

File tree

5 files changed

+25
-20
lines changed

5 files changed

+25
-20
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "oxylabs-ai-studio"
3-
version = "0.2.16"
3+
version = "0.2.17"
44
description = "Oxylabs studio python sdk"
55
readme = "README.md"
66
keywords = ["oxylabs", "ai", "studio"]

src/oxylabs_ai_studio/apps/ai_crawler.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ def crawl(
3131
self,
3232
url: str,
3333
user_prompt: str,
34-
output_format: Literal["json", "markdown", "csv"] = "markdown",
34+
output_format: Literal["json", "markdown", "csv", "toon"] = "markdown",
3535
schema: dict[str, Any] | None = None,
3636
render_javascript: bool = False,
3737
return_sources_limit: int = 25,
3838
geo_location: str | None = None,
3939
) -> AiCrawlerJob:
40-
if output_format in ["json", "csv"] and schema is None:
40+
if output_format in ["json", "csv", "toon"] and schema is None:
4141
raise ValueError(
42-
"openapi_schema is required when output_format is json or csv.",
42+
"openapi_schema is required when output_format is json, csv or toon.",
4343
)
4444

4545
body = {
@@ -121,16 +121,16 @@ async def crawl_async(
121121
self,
122122
url: str,
123123
user_prompt: str = "",
124-
output_format: Literal["json", "markdown", "csv"] = "markdown",
124+
output_format: Literal["json", "markdown", "csv", "toon"] = "markdown",
125125
schema: dict[str, Any] | None = None,
126126
render_javascript: bool = False,
127127
return_sources_limit: int = 25,
128128
geo_location: str | None = None,
129129
) -> AiCrawlerJob:
130130
"""Async version of crawl."""
131-
if output_format in ["json", "csv"] and schema is None:
131+
if output_format in ["json", "csv", "toon"] and schema is None:
132132
raise ValueError(
133-
"openapi_schema is required when output_format is json or csv.",
133+
"openapi_schema is required when output_format is json, csv or toon.",
134134
)
135135

136136
body = {

src/oxylabs_ai_studio/apps/ai_scraper.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,16 @@ def __init__(self, api_key: str | None = None):
3131
def scrape(
3232
self,
3333
url: str,
34-
output_format: Literal["json", "markdown", "csv", "screenshot"] = "markdown",
34+
output_format: Literal[
35+
"json", "markdown", "csv", "screenshot", "toon"
36+
] = "markdown",
3537
schema: dict[str, Any] | None = None,
3638
render_javascript: bool | Literal["auto"] = False,
3739
geo_location: str | None = None,
3840
) -> AiScraperJob:
39-
if output_format in ["json", "csv"] and schema is None:
41+
if output_format in ["json", "csv", "toon"] and schema is None:
4042
raise ValueError(
41-
"openapi_schema is required when output_format is json or csv.",
43+
"openapi_schema is required when output_format is json, csv or toon.",
4244
)
4345

4446
body = {
@@ -119,15 +121,17 @@ def generate_schema(self, prompt: str) -> dict[str, Any] | None:
119121
async def scrape_async(
120122
self,
121123
url: str,
122-
output_format: Literal["json", "markdown", "csv", "screenshot"] = "markdown",
124+
output_format: Literal[
125+
"json", "markdown", "csv", "screenshot", "toon"
126+
] = "markdown",
123127
schema: dict[str, Any] | None = None,
124128
render_javascript: bool = False,
125129
geo_location: str | None = None,
126130
) -> AiScraperJob:
127131
"""Async version of scrape."""
128-
if output_format in ["json", "csv"] and schema is None:
132+
if output_format in ["json", "csv", "toon"] and schema is None:
129133
raise ValueError(
130-
"openapi_schema is required when output_format is json or csv.",
134+
"openapi_schema is required when output_format is json, csv or toon.",
131135
)
132136

133137
body = {

src/oxylabs_ai_studio/apps/browser_agent.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717

1818
class DataModel(BaseModel):
19-
type: Literal["json", "markdown", "html", "screenshot", "csv"]
19+
type: Literal["json", "markdown", "html", "screenshot", "csv", "toon"]
2020
content: dict[str, Any] | str | None
2121

2222

@@ -35,14 +35,14 @@ def run(
3535
url: str,
3636
user_prompt: str = "",
3737
output_format: Literal[
38-
"json", "markdown", "html", "screenshot", "csv"
38+
"json", "markdown", "html", "screenshot", "csv", "toon"
3939
] = "markdown",
4040
schema: dict[str, Any] | None = None,
4141
geo_location: str | None = None,
4242
) -> BrowserAgentJob:
43-
if output_format in ["json", "csv"] and schema is None:
43+
if output_format in ["json", "csv", "toon"] and schema is None:
4444
raise ValueError(
45-
"openapi_schema is required when output_format is json or csv.",
45+
"openapi_schema is required when output_format is json, csv or toon.",
4646
)
4747

4848
body = {
@@ -125,14 +125,15 @@ async def run_async(
125125
"html",
126126
"screenshot",
127127
"csv",
128+
"toon",
128129
] = "markdown",
129130
schema: dict[str, Any] | None = None,
130131
geo_location: str | None = None,
131132
) -> BrowserAgentJob:
132133
"""Async version of run."""
133-
if output_format in ["json", "csv"] and schema is None:
134+
if output_format in ["json", "csv", "toon"] and schema is None:
134135
raise ValueError(
135-
"openapi_schema is required when output_format is json or csv.",
136+
"openapi_schema is required when output_format is json, csv or toon.",
136137
)
137138

138139
body = {

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)