withruntime 0.8.4__tar.gz → 0.10.0__tar.gz
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.
- {withruntime-0.8.4 → withruntime-0.10.0}/PKG-INFO +23 -9
- {withruntime-0.8.4 → withruntime-0.10.0}/README.md +20 -8
- {withruntime-0.8.4 → withruntime-0.10.0}/pyproject.toml +6 -1
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_blaxel.py +427 -6
- withruntime-0.10.0/tests/test_blaxel_wait_deadline.py +57 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_client.py +45 -14
- withruntime-0.10.0/tests/test_compat_live.py +101 -0
- withruntime-0.10.0/tests/test_compat_modal_deadline_errors.py +73 -0
- withruntime-0.10.0/tests/test_compat_new_providers.py +607 -0
- withruntime-0.10.0/tests/test_compat_prime_process_lifecycle.py +106 -0
- withruntime-0.10.0/tests/test_compat_prime_validation.py +274 -0
- withruntime-0.10.0/tests/test_compat_python_disk_snapshots.py +159 -0
- withruntime-0.10.0/tests/test_compat_python_e2b_deadline.py +146 -0
- withruntime-0.10.0/tests/test_compat_python_e2b_pty.py +172 -0
- withruntime-0.10.0/tests/test_compat_python_e2b_stream.py +126 -0
- withruntime-0.10.0/tests/test_compat_python_e2b_watch.py +66 -0
- withruntime-0.10.0/tests/test_compat_python_interpreter_deadline.py +113 -0
- withruntime-0.10.0/tests/test_compat_python_modal.py +116 -0
- withruntime-0.10.0/tests/test_compat_python_official.py +668 -0
- withruntime-0.10.0/tests/test_compat_python_pins.py +63 -0
- withruntime-0.10.0/tests/test_compat_python_processes.py +274 -0
- withruntime-0.10.0/tests/test_compat_python_request_scope.py +183 -0
- withruntime-0.10.0/tests/test_compat_python_runloop.py +146 -0
- withruntime-0.10.0/tests/test_compat_python_shell.py +61 -0
- withruntime-0.10.0/tests/test_compat_python_snapshot_capture.py +86 -0
- withruntime-0.10.0/tests/test_compat_python_sprites.py +65 -0
- withruntime-0.10.0/tests/test_compat_router.py +133 -0
- withruntime-0.10.0/tests/test_customer_usage.py +127 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_daytona.py +1 -1
- withruntime-0.10.0/tests/test_daytona_create_cleanup.py +75 -0
- withruntime-0.10.0/tests/test_daytona_download_labels.py +153 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_e2b_code_interpreter.py +21 -13
- withruntime-0.10.0/tests/test_e2b_fork_validation.py +78 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_e2b_sandbox.py +30 -8
- withruntime-0.10.0/tests/test_e2b_watch.py +103 -0
- withruntime-0.10.0/tests/test_embed_and_webhook_watch.py +57 -0
- withruntime-0.10.0/tests/test_exec_stream_names.py +51 -0
- withruntime-0.10.0/tests/test_file_archives.py +174 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_files_upload_parallel.py +8 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_harbor.py +56 -3
- withruntime-0.10.0/tests/test_interface_contract.py +81 -0
- withruntime-0.10.0/tests/test_package_typing.py +142 -0
- withruntime-0.10.0/tests/test_process_deadline.py +269 -0
- withruntime-0.10.0/tests/test_process_input.py +50 -0
- withruntime-0.10.0/tests/test_process_output.py +50 -0
- withruntime-0.10.0/tests/test_process_write_backpressure.py +174 -0
- withruntime-0.10.0/tests/test_product_aliases.py +87 -0
- withruntime-0.10.0/tests/test_runloop_stream_cleanup.py +167 -0
- withruntime-0.10.0/tests/test_sandbox_origin.py +53 -0
- withruntime-0.10.0/tests/test_saved_connection.py +37 -0
- withruntime-0.10.0/tests/test_snapshot_recovery.py +128 -0
- withruntime-0.10.0/tests/test_start_report_kept.py +43 -0
- withruntime-0.10.0/tests/test_switch_image.py +74 -0
- withruntime-0.10.0/tests/test_tailscale.py +80 -0
- withruntime-0.10.0/tests/test_transport_body_recovery.py +229 -0
- withruntime-0.10.0/tests/test_transport_connection_limits.py +256 -0
- withruntime-0.10.0/tests/test_unpack.py +180 -0
- withruntime-0.10.0/tests/test_vercel_create_validation.py +158 -0
- withruntime-0.10.0/tests/test_vercel_disk_snapshot.py +391 -0
- withruntime-0.10.0/tests/test_volume_operations.py +52 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/__init__.py +5 -1
- withruntime-0.10.0/withruntime/_api_defaults.py +21 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_client.py +380 -107
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/__init__.py +2 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/interpreter.py +40 -23
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/jobs.py +3 -2
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/limits.py +6 -3
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/previews.py +23 -6
- withruntime-0.10.0/withruntime/_async_products/tailscale.py +37 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/volumes.py +24 -2
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/watch.py +9 -2
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_clock.py +31 -2
- withruntime-0.10.0/withruntime/_compat.py +100 -0
- withruntime-0.10.0/withruntime/_compat_lifecycle.py +24 -0
- withruntime-0.10.0/withruntime/_compat_shell.py +166 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_connection.py +5 -2
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_errors.py +8 -3
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_eval_sandbox.py +3 -1
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_http.py +283 -27
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_proxy.py +17 -3
- withruntime-0.10.0/withruntime/_request_scope.py +84 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_client.py +380 -107
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/__init__.py +2 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/interpreter.py +40 -23
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/jobs.py +3 -2
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/limits.py +6 -3
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/previews.py +23 -6
- withruntime-0.10.0/withruntime/_sync_products/tailscale.py +38 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/volumes.py +24 -2
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/watch.py +9 -2
- withruntime-0.10.0/withruntime/_unpack.py +326 -0
- withruntime-0.10.0/withruntime/_version.py +1 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/__init__.py +2 -2
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/_async_io.py +6 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/_async_sandbox.py +71 -30
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/_core.py +51 -4
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/_sync_io.py +9 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/_sync_sandbox.py +71 -30
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/models/__init__.py +1 -1
- withruntime-0.10.0/withruntime/blaxel/core/client/models/pagination_meta.py +2 -0
- withruntime-0.10.0/withruntime/blaxel/core/client/pagination.py +2 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/daytona/_async_daytona.py +39 -20
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/daytona/_sync_daytona.py +39 -20
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/deepagents.py +2 -1
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/e2b/__init__.py +10 -6
- withruntime-0.10.0/withruntime/e2b/_async_io.py +310 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/e2b/_async_sandbox.py +185 -79
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/e2b/_core.py +63 -13
- withruntime-0.10.0/withruntime/e2b/_sync_io.py +245 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/e2b/_sync_sandbox.py +173 -84
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/e2b/code_interpreter/_async_ci.py +18 -37
- withruntime-0.10.0/withruntime/e2b/code_interpreter/_models.py +156 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/e2b/code_interpreter/_sync_ci.py +18 -37
- withruntime-0.10.0/withruntime/e2b/code_interpreter/charts.py +120 -0
- withruntime-0.10.0/withruntime/e2b/sandbox/__init__.py +1 -0
- withruntime-0.10.0/withruntime/e2b/sandbox/commands/__init__.py +2 -0
- withruntime-0.10.0/withruntime/e2b/sandbox/commands/command_handle.py +5 -0
- withruntime-0.10.0/withruntime/e2b/sandbox/filesystem/__init__.py +2 -0
- withruntime-0.10.0/withruntime/e2b/sandbox/filesystem/filesystem.py +4 -0
- withruntime-0.10.0/withruntime/e2b/sandbox_async/__init__.py +2 -0
- withruntime-0.10.0/withruntime/e2b/sandbox_async/commands/__init__.py +4 -0
- withruntime-0.10.0/withruntime/e2b/sandbox_async/commands/command.py +2 -0
- withruntime-0.10.0/withruntime/e2b/sandbox_async/commands/command_handle.py +6 -0
- withruntime-0.10.0/withruntime/e2b/sandbox_async/commands/pty.py +3 -0
- withruntime-0.10.0/withruntime/e2b/sandbox_async/filesystem/__init__.py +2 -0
- withruntime-0.10.0/withruntime/e2b/sandbox_async/filesystem/filesystem.py +4 -0
- withruntime-0.10.0/withruntime/e2b/sandbox_sync/__init__.py +2 -0
- withruntime-0.10.0/withruntime/e2b/sandbox_sync/commands/__init__.py +4 -0
- withruntime-0.10.0/withruntime/e2b/sandbox_sync/commands/command.py +2 -0
- withruntime-0.10.0/withruntime/e2b/sandbox_sync/commands/command_handle.py +6 -0
- withruntime-0.10.0/withruntime/e2b/sandbox_sync/commands/pty.py +3 -0
- withruntime-0.10.0/withruntime/e2b/sandbox_sync/filesystem/__init__.py +2 -0
- withruntime-0.10.0/withruntime/e2b/sandbox_sync/filesystem/filesystem.py +4 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/harbor.py +5 -30
- withruntime-0.10.0/withruntime/modal/__init__.py +373 -0
- withruntime-0.10.0/withruntime/modal/_async.py +305 -0
- withruntime-0.10.0/withruntime/modal/_dual.py +25 -0
- withruntime-0.10.0/withruntime/modal/_fs_async.py +118 -0
- withruntime-0.10.0/withruntime/modal/_fs_common.py +39 -0
- withruntime-0.10.0/withruntime/modal/_fs_sync.py +118 -0
- withruntime-0.10.0/withruntime/modal/_lookup.py +23 -0
- withruntime-0.10.0/withruntime/modal/_snapshot.py +33 -0
- withruntime-0.10.0/withruntime/modal/exception.py +52 -0
- withruntime-0.10.0/withruntime/modal/sandbox_fs.py +46 -0
- withruntime-0.10.0/withruntime/modal/types.py +37 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/openai_agents.py +2 -1
- withruntime-0.10.0/withruntime/prime/__init__.py +66 -0
- withruntime-0.10.0/withruntime/prime/_async.py +321 -0
- withruntime-0.10.0/withruntime/prime/_sync.py +321 -0
- withruntime-0.10.0/withruntime/prime/core/__init__.py +4 -0
- withruntime-0.10.0/withruntime/prime/core/client.py +4 -0
- withruntime-0.10.0/withruntime/prime/exceptions.py +98 -0
- withruntime-0.10.0/withruntime/prime/models.py +343 -0
- withruntime-0.10.0/withruntime/prime/process.py +163 -0
- withruntime-0.10.0/withruntime/prime/sandbox.py +3 -0
- withruntime-0.10.0/withruntime/py.typed +0 -0
- withruntime-0.10.0/withruntime/runloop/__init__.py +6 -0
- withruntime-0.10.0/withruntime/runloop/_async.py +658 -0
- withruntime-0.10.0/withruntime/runloop/_exceptions.py +2 -0
- withruntime-0.10.0/withruntime/runloop/_snapshots.py +48 -0
- withruntime-0.10.0/withruntime/runloop/_sync.py +658 -0
- withruntime-0.10.0/withruntime/runloop/lib/__init__.py +1 -0
- withruntime-0.10.0/withruntime/runloop/lib/polling.py +15 -0
- withruntime-0.10.0/withruntime/runloop/sdk/__init__.py +3 -0
- withruntime-0.10.0/withruntime/sprites/__init__.py +298 -0
- withruntime-0.10.0/withruntime/sprites/_capture.py +56 -0
- withruntime-0.10.0/withruntime/sprites/_capture_async.py +56 -0
- withruntime-0.10.0/withruntime/sprites/_metadata.py +64 -0
- withruntime-0.10.0/withruntime/sprites/_stream.py +68 -0
- withruntime-0.10.0/withruntime/sprites/_stream_async.py +67 -0
- withruntime-0.10.0/withruntime/sprites/async_client.py +217 -0
- withruntime-0.10.0/withruntime/sprites/async_exec.py +50 -0
- withruntime-0.10.0/withruntime/sprites/client.py +2 -0
- withruntime-0.10.0/withruntime/sprites/exceptions.py +25 -0
- withruntime-0.10.0/withruntime/sprites/exec.py +80 -0
- withruntime-0.10.0/withruntime/sprites/filesystem.py +2 -0
- withruntime-0.10.0/withruntime/sprites/sprite.py +2 -0
- withruntime-0.10.0/withruntime/sprites/types.py +36 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/tools.py +2 -1
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/vercel/_async_sandbox.py +94 -15
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/vercel/_core.py +5 -2
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/vercel/_sync_sandbox.py +94 -15
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime.egg-info/PKG-INFO +23 -9
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime.egg-info/SOURCES.txt +121 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime.egg-info/requires.txt +3 -0
- withruntime-0.8.4/tests/test_unpack.py +0 -79
- withruntime-0.8.4/withruntime/_unpack.py +0 -99
- withruntime-0.8.4/withruntime/_version.py +0 -1
- withruntime-0.8.4/withruntime/e2b/_async_io.py +0 -68
- withruntime-0.8.4/withruntime/e2b/_sync_io.py +0 -46
- withruntime-0.8.4/withruntime/e2b/code_interpreter/_models.py +0 -101
- {withruntime-0.8.4 → withruntime-0.10.0}/LICENSE +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/setup.cfg +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_account_errors.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_async_stream_cleanup.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_audit.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_billing.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_capacity_wait.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_deepagents.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_eval_sandbox.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_exec_stream.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_files_download.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_files_mode.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_http_tls_close.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_identity_token.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_images_v2.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_images_volumes_interpreter.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_inspect_ai.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_jobs.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_late_answer.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_lifecycle_settings.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_limits.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_mounts.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_network_funding.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_network_products.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_observability.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_openai_agents.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_previews_network_desktop.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_proxy.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_referrals.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_sandbox_sessions.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_secrets.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_snapshot_after_fork.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_sso.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_stream_exit_close.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_switching.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_tools.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_vercel.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_volume_backups.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_wake_awake.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_wallet.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/tests/test_watch.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/audit.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/billing.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/desktop.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/images.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/mcp.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/mounts.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/network.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/network_products.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/observability.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/referrals.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/secrets.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/sso.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_async_products/switching.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/audit.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/billing.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/desktop.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/images.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/mcp.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/mounts.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/network.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/network_products.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/observability.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/referrals.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/secrets.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/sso.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_sync_products/switching.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_tunnel.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/_ws.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/__init__.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/agents.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/__init__.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/api/__init__.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/api/applications/__init__.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/api/applications/list_application_revisions.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/api/compute/__init__.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/api/compute/get_sandbox.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/api/compute/update_sandbox.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/api/functions/__init__.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/api/functions/create_function.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/api/images.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/api/workspaces.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/client.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/models/create_job_execution_request.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/models/create_job_execution_request_env.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/models/env.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/models/function.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/models/function_runtime.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/models/function_spec.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/models/metadata.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/models/workspace.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/client/types.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/common.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/drive.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/jobs.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/sandbox/__init__.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/core/sandbox/types.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/crewai.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/googleadk.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/langgraph.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/livekit.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/llamaindex.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/openai.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/pydantic.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/blaxel/telemetry.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/daytona/__init__.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/daytona/_async_io.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/daytona/_core.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/daytona/_sync_io.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/e2b/code_interpreter/__init__.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/inspect_ai.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/vercel/__init__.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/vercel/_async_io.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/vercel/_sync_io.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/vercel/api.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/vercel/sandbox/__init__.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/vercel/sandbox/sync.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/wallet.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime/webhooks.py +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime.egg-info/dependency_links.txt +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime.egg-info/entry_points.txt +0 -0
- {withruntime-0.8.4 → withruntime-0.10.0}/withruntime.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: withruntime
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.10.0
|
|
4
4
|
Summary: Runtime Cloud: one client (sync and async) for every Runtime product. Sandboxes first.
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Project-URL: Homepage, https://withruntime.com
|
|
@@ -11,6 +11,8 @@ Keywords: sandbox,ai-agents,agents,microvm,firecracker,code-execution,code-inter
|
|
|
11
11
|
Requires-Python: >=3.10
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
13
|
License-File: LICENSE
|
|
14
|
+
Provides-Extra: e2b
|
|
15
|
+
Requires-Dist: httpx<1.0.0,>=0.27.0; extra == "e2b"
|
|
14
16
|
Provides-Extra: openai-agents
|
|
15
17
|
Requires-Dist: openai-agents>=0.22.3; extra == "openai-agents"
|
|
16
18
|
Provides-Extra: deepagents
|
|
@@ -42,7 +44,8 @@ command-line argument.
|
|
|
42
44
|
from withruntime import Sandbox
|
|
43
45
|
|
|
44
46
|
with Sandbox.create() as sbx:
|
|
45
|
-
|
|
47
|
+
sbx.files.write("/workspace/invoice.py", "print(sum([125, 250, 375]))\n")
|
|
48
|
+
result = sbx.exec("python3 /workspace/invoice.py")
|
|
46
49
|
print(result.exit_code, result.stdout)
|
|
47
50
|
```
|
|
48
51
|
|
|
@@ -51,6 +54,8 @@ leaving the `with` block stops it. With no arguments you get the free trial
|
|
|
51
54
|
while it lasts: 100 free hours, no card, up to eight sandboxes running at once.
|
|
52
55
|
The current default image includes NumPy, pandas and matplotlib; see the
|
|
53
56
|
[sandbox environment](https://withruntime.com/docs/sandbox-environment).
|
|
57
|
+
Omitting `funding` can use prepaid credit after the trial is exhausted. Use
|
|
58
|
+
`Sandbox.create(funding="trial")` for free use only; it never falls back to paid.
|
|
54
59
|
`AsyncRuntime` is the same client for asyncio, method for method:
|
|
55
60
|
|
|
56
61
|
```python
|
|
@@ -70,22 +75,31 @@ asyncio.run(main())
|
|
|
70
75
|
A sandbox has `exec`, `exec_stream`, `spawn`, `terminal`, `forward_port` (any
|
|
71
76
|
TCP port in the sandbox on a local port), `files` (read, write,
|
|
72
77
|
list, glob, stat, move, remove, upload and download directories), `pause`,
|
|
73
|
-
`wake`, `extend`, `update
|
|
78
|
+
`wake`, `extend`, `update` (its name, environment and settings), `keep_alive`,
|
|
79
|
+
`fork`, `snapshot`, `switch_image` (move it to a new image keeping /workspace)
|
|
80
|
+
and `delete` (remove it for good), and the
|
|
74
81
|
`interpreter`, `network`, `previews`, `desktop`, `mounts` (your S3, R2 or Google
|
|
75
|
-
Cloud Storage bucket as a folder), `
|
|
76
|
-
|
|
82
|
+
Cloud Storage bucket as a folder), `tailscale` (a paid sandbox on your own
|
|
83
|
+
tailnet), `metrics` and `mcp` (servers from the MCP catalog, run in the
|
|
84
|
+
sandbox) products. A paused sandbox
|
|
77
85
|
also wakes by itself on the next call, and `Sandbox.get_or_create(name)` returns
|
|
78
86
|
the sandbox with that name or creates it. A sandbox pauses itself after 60 seconds
|
|
79
87
|
with nothing happening in it, keeping its memory and processes, so an
|
|
80
88
|
idle sandbox costs no compute; `idle_pause_seconds` sets 10 to 86,400, or 0 for
|
|
81
|
-
never.
|
|
89
|
+
never. `runtime.sandbox`, `snapshot`, `image`, `volume`, `job`, `domain`,
|
|
90
|
+
`port` and `address` name the products as the CLI does. Their existing plural
|
|
91
|
+
names remain aliases of the same product clients. The client has `sandboxes`, `images`, `volumes`, `snapshots`, `jobs`,
|
|
82
92
|
`secrets`, `limits`, `feedback` and `support`; `webhooks`, `events`, `otel` and
|
|
83
93
|
`audit` to watch the account; `domains`, `ports`, `addresses`, `tunnel` and
|
|
84
94
|
`network` to connect sandboxes to your own world (paid accounts); and `mcp`,
|
|
85
95
|
`sso`, `billing`, `referrals` and `switching`. `runtime.limits.get()` (0.3.1 and later) says whether the key is read-only and
|
|
86
96
|
what its agent may still spend today. Every write carries an
|
|
87
97
|
idempotency key, so retries never do anything twice; errors are typed and carry
|
|
88
|
-
`code`, `hint` and `request_id`.
|
|
98
|
+
`code`, `hint` and `request_id`. `RuntimeAPIError` and
|
|
99
|
+
`RuntimeConnectionError` name the SDK errors without shadowing Python's built-in
|
|
100
|
+
errors; the previous `RuntimeError` and `ConnectionError` exports remain aliases.
|
|
101
|
+
`runtime.usage_requests("7d")` reads the account's API call counts and error rates;
|
|
102
|
+
counts are exact decimal strings, and an empty window has `errorPercent: None`.
|
|
89
103
|
|
|
90
104
|
## Behind a proxy
|
|
91
105
|
|
|
@@ -104,7 +118,7 @@ proxy http://proxy.internal:3128 (HTTPS_PROXY).`
|
|
|
104
118
|
|
|
105
119
|
## Code written for E2B
|
|
106
120
|
|
|
107
|
-
`withruntime.e2b`
|
|
121
|
+
`withruntime.e2b` translates supported E2B Python sandbox calls. Change
|
|
108
122
|
the import and set `RUNTIME_API_KEY`:
|
|
109
123
|
|
|
110
124
|
```python no-run
|
|
@@ -142,7 +156,7 @@ JavaScript package list every mapping and gap.
|
|
|
142
156
|
|
|
143
157
|
## Code written for Blaxel
|
|
144
158
|
|
|
145
|
-
`withruntime.blaxel`
|
|
159
|
+
`withruntime.blaxel` translates supported Blaxel Python sandbox calls (`blaxel`
|
|
146
160
|
0.4.11) on Runtime. Change the import and set `RUNTIME_API_KEY`, or run
|
|
147
161
|
`npx withruntime login` once:
|
|
148
162
|
|
|
@@ -19,7 +19,8 @@ command-line argument.
|
|
|
19
19
|
from withruntime import Sandbox
|
|
20
20
|
|
|
21
21
|
with Sandbox.create() as sbx:
|
|
22
|
-
|
|
22
|
+
sbx.files.write("/workspace/invoice.py", "print(sum([125, 250, 375]))\n")
|
|
23
|
+
result = sbx.exec("python3 /workspace/invoice.py")
|
|
23
24
|
print(result.exit_code, result.stdout)
|
|
24
25
|
```
|
|
25
26
|
|
|
@@ -28,6 +29,8 @@ leaving the `with` block stops it. With no arguments you get the free trial
|
|
|
28
29
|
while it lasts: 100 free hours, no card, up to eight sandboxes running at once.
|
|
29
30
|
The current default image includes NumPy, pandas and matplotlib; see the
|
|
30
31
|
[sandbox environment](https://withruntime.com/docs/sandbox-environment).
|
|
32
|
+
Omitting `funding` can use prepaid credit after the trial is exhausted. Use
|
|
33
|
+
`Sandbox.create(funding="trial")` for free use only; it never falls back to paid.
|
|
31
34
|
`AsyncRuntime` is the same client for asyncio, method for method:
|
|
32
35
|
|
|
33
36
|
```python
|
|
@@ -47,22 +50,31 @@ asyncio.run(main())
|
|
|
47
50
|
A sandbox has `exec`, `exec_stream`, `spawn`, `terminal`, `forward_port` (any
|
|
48
51
|
TCP port in the sandbox on a local port), `files` (read, write,
|
|
49
52
|
list, glob, stat, move, remove, upload and download directories), `pause`,
|
|
50
|
-
`wake`, `extend`, `update
|
|
53
|
+
`wake`, `extend`, `update` (its name, environment and settings), `keep_alive`,
|
|
54
|
+
`fork`, `snapshot`, `switch_image` (move it to a new image keeping /workspace)
|
|
55
|
+
and `delete` (remove it for good), and the
|
|
51
56
|
`interpreter`, `network`, `previews`, `desktop`, `mounts` (your S3, R2 or Google
|
|
52
|
-
Cloud Storage bucket as a folder), `
|
|
53
|
-
|
|
57
|
+
Cloud Storage bucket as a folder), `tailscale` (a paid sandbox on your own
|
|
58
|
+
tailnet), `metrics` and `mcp` (servers from the MCP catalog, run in the
|
|
59
|
+
sandbox) products. A paused sandbox
|
|
54
60
|
also wakes by itself on the next call, and `Sandbox.get_or_create(name)` returns
|
|
55
61
|
the sandbox with that name or creates it. A sandbox pauses itself after 60 seconds
|
|
56
62
|
with nothing happening in it, keeping its memory and processes, so an
|
|
57
63
|
idle sandbox costs no compute; `idle_pause_seconds` sets 10 to 86,400, or 0 for
|
|
58
|
-
never.
|
|
64
|
+
never. `runtime.sandbox`, `snapshot`, `image`, `volume`, `job`, `domain`,
|
|
65
|
+
`port` and `address` name the products as the CLI does. Their existing plural
|
|
66
|
+
names remain aliases of the same product clients. The client has `sandboxes`, `images`, `volumes`, `snapshots`, `jobs`,
|
|
59
67
|
`secrets`, `limits`, `feedback` and `support`; `webhooks`, `events`, `otel` and
|
|
60
68
|
`audit` to watch the account; `domains`, `ports`, `addresses`, `tunnel` and
|
|
61
69
|
`network` to connect sandboxes to your own world (paid accounts); and `mcp`,
|
|
62
70
|
`sso`, `billing`, `referrals` and `switching`. `runtime.limits.get()` (0.3.1 and later) says whether the key is read-only and
|
|
63
71
|
what its agent may still spend today. Every write carries an
|
|
64
72
|
idempotency key, so retries never do anything twice; errors are typed and carry
|
|
65
|
-
`code`, `hint` and `request_id`.
|
|
73
|
+
`code`, `hint` and `request_id`. `RuntimeAPIError` and
|
|
74
|
+
`RuntimeConnectionError` name the SDK errors without shadowing Python's built-in
|
|
75
|
+
errors; the previous `RuntimeError` and `ConnectionError` exports remain aliases.
|
|
76
|
+
`runtime.usage_requests("7d")` reads the account's API call counts and error rates;
|
|
77
|
+
counts are exact decimal strings, and an empty window has `errorPercent: None`.
|
|
66
78
|
|
|
67
79
|
## Behind a proxy
|
|
68
80
|
|
|
@@ -81,7 +93,7 @@ proxy http://proxy.internal:3128 (HTTPS_PROXY).`
|
|
|
81
93
|
|
|
82
94
|
## Code written for E2B
|
|
83
95
|
|
|
84
|
-
`withruntime.e2b`
|
|
96
|
+
`withruntime.e2b` translates supported E2B Python sandbox calls. Change
|
|
85
97
|
the import and set `RUNTIME_API_KEY`:
|
|
86
98
|
|
|
87
99
|
```python no-run
|
|
@@ -119,7 +131,7 @@ JavaScript package list every mapping and gap.
|
|
|
119
131
|
|
|
120
132
|
## Code written for Blaxel
|
|
121
133
|
|
|
122
|
-
`withruntime.blaxel`
|
|
134
|
+
`withruntime.blaxel` translates supported Blaxel Python sandbox calls (`blaxel`
|
|
123
135
|
0.4.11) on Runtime. Change the import and set `RUNTIME_API_KEY`, or run
|
|
124
136
|
`npx withruntime login` once:
|
|
125
137
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "withruntime"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.10.0"
|
|
8
8
|
description = "Runtime Cloud: one client (sync and async) for every Runtime product. Sandboxes first."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "Apache-2.0" }
|
|
@@ -19,6 +19,8 @@ Source = "https://github.com/withruntime/runtime/tree/main/sdks/python"
|
|
|
19
19
|
Issues = "https://github.com/withruntime/runtime/issues"
|
|
20
20
|
|
|
21
21
|
[project.optional-dependencies]
|
|
22
|
+
# Preserve E2B's HTTP file-transfer timeout exception types.
|
|
23
|
+
e2b = ["httpx>=0.27.0,<1.0.0"]
|
|
22
24
|
# withruntime.openai_agents: a sandbox client for the OpenAI Agents SDK's SandboxAgent.
|
|
23
25
|
openai-agents = ["openai-agents>=0.22.3"]
|
|
24
26
|
# withruntime.deepagents: a LangChain Deep Agents sandbox backend.
|
|
@@ -34,3 +36,6 @@ withruntime = "withruntime.inspect_ai"
|
|
|
34
36
|
[tool.setuptools.packages.find]
|
|
35
37
|
where = ["."]
|
|
36
38
|
include = ["withruntime*"]
|
|
39
|
+
|
|
40
|
+
[tool.setuptools.package-data]
|
|
41
|
+
withruntime = ["py.typed"]
|