mirror of
https://github.com/Skyvern-AI/skyvern.git
synced 2025-09-09 22:06:19 +00:00
Streamlit + Readme update: copy to cURL (#22)
This commit is contained in:
parent
0495552b11
commit
3bf56717c9
6 changed files with 79 additions and 34 deletions
|
@ -1,7 +1,9 @@
|
|||
import json
|
||||
from typing import Any
|
||||
|
||||
import curlify
|
||||
import requests
|
||||
from requests import PreparedRequest
|
||||
|
||||
from skyvern.forge.sdk.schemas.tasks import TaskRequest
|
||||
|
||||
|
@ -11,7 +13,7 @@ class SkyvernClient:
|
|||
self.base_url = base_url
|
||||
self.credentials = credentials
|
||||
|
||||
def create_task(self, task_request_body: TaskRequest) -> str | None:
|
||||
def generate_curl_params(self, task_request_body: TaskRequest) -> PreparedRequest:
|
||||
url = f"{self.base_url}/tasks"
|
||||
payload = task_request_body.model_dump()
|
||||
headers = {
|
||||
|
@ -19,11 +21,23 @@ class SkyvernClient:
|
|||
"x-api-key": self.credentials,
|
||||
}
|
||||
|
||||
return url, payload, headers
|
||||
|
||||
def create_task(self, task_request_body: TaskRequest) -> str | None:
|
||||
url, payload, headers = self.generate_curl_params(task_request_body)
|
||||
|
||||
response = requests.post(url, headers=headers, data=json.dumps(payload))
|
||||
if "task_id" not in response.json():
|
||||
return None
|
||||
return response.json()["task_id"]
|
||||
|
||||
def copy_curl(self, task_request_body: TaskRequest) -> str:
|
||||
url, payload, headers = self.generate_curl_params(task_request_body)
|
||||
|
||||
req = requests.Request("POST", url, headers=headers, data=json.dumps(payload, indent=4))
|
||||
|
||||
return curlify.to_curl(req.prepare())
|
||||
|
||||
def get_task(self, task_id: str) -> dict[str, Any] | None:
|
||||
"""Get a task by id."""
|
||||
url = f"{self.base_url}/internal/tasks/{task_id}"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue