chore: update daytona sdk and proxy endpoint (#9664)

Signed-off-by: Ivan Dagelic <dagelic.ivan@gmail.com>
This commit is contained in:
Ivan Dagelic 2025-07-11 17:33:12 +02:00 committed by GitHub
parent b99150c616
commit 4f3e648379
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 29 additions and 38 deletions

60
poetry.lock generated
View File

@ -2003,48 +2003,40 @@ vision = ["Pillow (>=9.4.0)"]
[[package]]
name = "daytona"
version = "0.21.1"
version = "0.22.0"
description = "Python SDK for Daytona"
optional = true
python-versions = ">=3.7"
python-versions = "<4.0,>=3.8"
groups = ["main"]
markers = "extra == \"third-party-runtimes\""
files = [
{file = "daytona-0.21.1-py3-none-any.whl", hash = "sha256:1ce6b352f52ef92e667098b7bdaa60c22ffbfb8e686a8cbd12418bf7698ac834"},
{file = "daytona-0.21.1.tar.gz", hash = "sha256:01d83dd2b627f87e82491fb97f41845768d75c33f0767eaa44f6e8378bd58e60"},
{file = "daytona-0.22.0-py3-none-any.whl", hash = "sha256:9aea877cbbdbbde04db3b28586f76f1dfc083062a0d6f19d7984d55d883aac3f"},
{file = "daytona-0.22.0.tar.gz", hash = "sha256:181ee406922177987e23fa7149287175442f204af59e4b0a136da12f41f4f142"},
]
[package.dependencies]
aioboto3 = ">=14.0.0,<15.0.0"
aioboto3 = ">=13.0.0,<15.0.0"
aiofiles = ">=24.1.0,<24.2.0"
aiohttp = ">=3.12.0,<4.0.0"
aiohttp_retry = ">=2.9.0,<3.0.0"
boto3 = ">=1.0.0,<2.0.0"
daytona_api_client = ">=0.21.0,<0.22.0"
daytona_api_client_async = ">=0.21.0,<0.22.0"
daytona-api-client = "0.22.0"
daytona-api-client-async = "0.22.0"
Deprecated = ">=1.2.18,<2.0.0"
environs = ">=9.5.0,<10.0.0"
environs = ">=10.0.0,<15.0.0"
httpx = ">=0.28.0,<0.29.0"
marshmallow = ">=3.19.0,<4.0.0"
pydantic = ">=2.4.2,<3.0.0"
python-dateutil = ">=2.8.2,<3.0.0"
toml = ">=0.10.0,<0.11.0"
urllib3 = ">=2.0.7,<3.0.0"
[package.extras]
dev = ["black[jupyter] (>=23.1.0,<24.0.0)", "build (>=1.0.3)", "isort (>=5.10.0,<6.0.0)", "matplotlib (>=3.10.0,<3.11.0)", "nbqa (>=1.9.1,<2.0.0)", "pydoc-markdown (>=4.8.2)", "pylint (>=3.3.4,<4.0.0)", "setuptools (>=68.0.0)", "twine (>=4.0.2)", "unasync (>=0.6.0,<0.7.0)", "wheel (>=0.41.2)"]
[[package]]
name = "daytona-api-client"
version = "0.21.0"
version = "0.22.0"
description = "Daytona"
optional = true
python-versions = "*"
python-versions = "<4.0,>=3.8"
groups = ["main"]
markers = "extra == \"third-party-runtimes\""
files = [
{file = "daytona_api_client-0.21.0-py3-none-any.whl", hash = "sha256:a8ff1f0fb397368dbd6ddb224c28d679e599c657eab2ec5821cf0c972a60229a"},
{file = "daytona_api_client-0.21.0.tar.gz", hash = "sha256:92d591c5a1750a827b5850425ce483441609b72b05d35a618d5353fbbba50bca"},
{file = "daytona_api_client-0.22.0-py3-none-any.whl", hash = "sha256:328362d54ed846a11eefe360c9428bfb52afd070cec26098978012ea72aa798d"},
{file = "daytona_api_client-0.22.0.tar.gz", hash = "sha256:350200142e46450d06dcadc81a1ae3aa0616f92d17f2a4516c4f9461d09ed679"},
]
[package.dependencies]
@ -2055,15 +2047,15 @@ urllib3 = ">=1.25.3,<3.0.0"
[[package]]
name = "daytona-api-client-async"
version = "0.21.0"
version = "0.22.0"
description = "Daytona"
optional = true
python-versions = "*"
python-versions = "<4.0,>=3.8"
groups = ["main"]
markers = "extra == \"third-party-runtimes\""
files = [
{file = "daytona_api_client_async-0.21.0-py3-none-any.whl", hash = "sha256:f5731963d0dd6c1e207b92bdc7f5b59952d3365444bc9dc8b013d77a4dddf377"},
{file = "daytona_api_client_async-0.21.0.tar.gz", hash = "sha256:08a22c0d1616f82efa8d157d7be6c432554fd43d75560725c4e0cef0228607d6"},
{file = "daytona_api_client_async-0.22.0-py3-none-any.whl", hash = "sha256:30ddad3ba60ed0e6e727366cf979b03a56d0b9886d22828af4cd36bf686af698"},
{file = "daytona_api_client_async-0.22.0.tar.gz", hash = "sha256:f3f2c61ec8bad5f25b0532f45334d8638ae3aab3ac4a1091ca302bc8168102c3"},
]
[package.dependencies]
@ -2356,26 +2348,25 @@ files = [
[[package]]
name = "environs"
version = "9.5.0"
version = "14.2.0"
description = "simplified environment variable parsing"
optional = true
python-versions = ">=3.6"
python-versions = ">=3.9"
groups = ["main"]
markers = "extra == \"third-party-runtimes\""
files = [
{file = "environs-9.5.0-py2.py3-none-any.whl", hash = "sha256:1e549569a3de49c05f856f40bce86979e7d5ffbbc4398e7f338574c220189124"},
{file = "environs-9.5.0.tar.gz", hash = "sha256:a76307b36fbe856bdca7ee9161e6c466fd7fcffc297109a118c59b54e27e30c9"},
{file = "environs-14.2.0-py3-none-any.whl", hash = "sha256:22669a58d53c5b86a25d0231c4a41a6ebeb82d3942b8fbd9cf645890c92a1843"},
{file = "environs-14.2.0.tar.gz", hash = "sha256:2b6c78a77dfefb57ca30d43a232270ecc82adabf67ab318e018084b9a3529e9b"},
]
[package.dependencies]
marshmallow = ">=3.0.0"
marshmallow = ">=3.18.0"
python-dotenv = "*"
[package.extras]
dev = ["dj-database-url", "dj-email-url", "django-cache-url", "flake8 (==4.0.1)", "flake8-bugbear (==21.9.2)", "mypy (==0.910)", "pre-commit (>=2.4,<3.0)", "pytest", "tox"]
dev = ["environs[tests]", "pre-commit (>=4.0,<5.0)", "tox"]
django = ["dj-database-url", "dj-email-url", "django-cache-url"]
lint = ["flake8 (==4.0.1)", "flake8-bugbear (==21.9.2)", "mypy (==0.910)", "pre-commit (>=2.4,<3.0)"]
tests = ["dj-database-url", "dj-email-url", "django-cache-url", "pytest"]
tests = ["backports.strenum ; python_version < \"3.11\"", "environs[django]", "packaging", "pytest"]
[[package]]
name = "et-xmlfile"
@ -5202,8 +5193,11 @@ files = [
{file = "lxml-5.4.0-cp36-cp36m-win_amd64.whl", hash = "sha256:7ce1a171ec325192c6a636b64c94418e71a1964f56d002cc28122fceff0b6121"},
{file = "lxml-5.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:795f61bcaf8770e1b37eec24edf9771b307df3af74d1d6f27d812e15a9ff3872"},
{file = "lxml-5.4.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:29f451a4b614a7b5b6c2e043d7b64a15bd8304d7e767055e8ab68387a8cacf4e"},
{file = "lxml-5.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:891f7f991a68d20c75cb13c5c9142b2a3f9eb161f1f12a9489c82172d1f133c0"},
{file = "lxml-5.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4aa412a82e460571fad592d0f93ce9935a20090029ba08eca05c614f99b0cc92"},
{file = "lxml-5.4.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:ac7ba71f9561cd7d7b55e1ea5511543c0282e2b6450f122672a2694621d63b7e"},
{file = "lxml-5.4.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:c5d32f5284012deaccd37da1e2cd42f081feaa76981f0eaa474351b68df813c5"},
{file = "lxml-5.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:ce31158630a6ac85bddd6b830cffd46085ff90498b397bd0a259f59d27a12188"},
{file = "lxml-5.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:31e63621e073e04697c1b2d23fcb89991790eef370ec37ce4d5d469f40924ed6"},
{file = "lxml-5.4.0-cp37-cp37m-win32.whl", hash = "sha256:be2ba4c3c5b7900246a8f866580700ef0d538f2ca32535e991027bdaba944063"},
{file = "lxml-5.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:09846782b1ef650b321484ad429217f5154da4d6e786636c38e434fa32e94e49"},
@ -11796,4 +11790,4 @@ third-party-runtimes = ["daytona", "e2b", "modal", "runloop-api-client"]
[metadata]
lock-version = "2.1"
python-versions = "^3.12,<3.14"
content-hash = "02fd5b48daa903d386eedc989d7173f4c78a3e1a101017e619f931b7a3515f2a"
content-hash = "3457e02f9b9fdb18c342bf0e361bf6ad59955aa402aee19227b0aa34d352bf68"

View File

@ -98,7 +98,7 @@ jupyter_kernel_gateway = "*"
e2b = { version = ">=1.0.5,<1.6.0", optional = true }
modal = { version = ">=0.66.26,<1.1.0", optional = true }
runloop-api-client = { version = "0.43.0", optional = true }
daytona = { version = "0.21.1", optional = true }
daytona = { version = "0.22.0", optional = true }
[tool.poetry.extras]
third_party_runtimes = [ "e2b", "modal", "runloop-api-client", "daytona" ]

View File

@ -50,7 +50,6 @@ class DaytonaRuntime(ActionExecutionClient):
daytona_api_key = os.getenv('DAYTONA_API_KEY')
if not daytona_api_key:
raise ValueError('DAYTONA_API_KEY environment variable is required for Daytona runtime')
daytona_api_url = os.getenv('DAYTONA_API_URL', 'https://app.daytona.io/api')
daytona_target = os.getenv('DAYTONA_TARGET', 'eu')
@ -129,9 +128,7 @@ class DaytonaRuntime(ActionExecutionClient):
def _construct_api_url(self, port: int) -> str:
assert self.sandbox is not None, 'Sandbox is not initialized'
assert self.sandbox.runner_domain is not None, 'Runner domain is not available'
return f'https://{port}-{self.sandbox.id}.{self.sandbox.runner_domain}'
return self.sandbox.get_preview_link(port).url
@property
def action_execution_server_url(self) -> str: