scalebox-sdk 0.1.4__py3-none-any.whl → 0.1.25__py3-none-any.whl

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.
Files changed (68) hide show
  1. scalebox/__init__.py +1 -1
  2. scalebox/api/__init__.py +128 -128
  3. scalebox/api/client/__init__.py +8 -8
  4. scalebox/api/client/api/sandboxes/get_sandboxes.py +5 -3
  5. scalebox/api/client/api/sandboxes/get_sandboxes_sandbox_id_metrics.py +2 -2
  6. scalebox/api/client/api/sandboxes/post_sandboxes.py +2 -2
  7. scalebox/api/client/client.py +288 -288
  8. scalebox/api/client/models/listed_sandbox.py +11 -9
  9. scalebox/api/client/models/new_sandbox.py +1 -1
  10. scalebox/api/client/models/sandbox.py +125 -125
  11. scalebox/api/client/models/sandbox_state.py +1 -0
  12. scalebox/api/client/types.py +46 -46
  13. scalebox/code_interpreter/code_interpreter_async.py +370 -369
  14. scalebox/code_interpreter/code_interpreter_sync.py +318 -317
  15. scalebox/connection_config.py +92 -92
  16. scalebox/csx_desktop/main.py +12 -12
  17. scalebox/generated/api_pb2_connect.py +17 -66
  18. scalebox/sandbox_async/commands/command.py +307 -307
  19. scalebox/sandbox_async/commands/command_handle.py +187 -187
  20. scalebox/sandbox_async/commands/pty.py +187 -187
  21. scalebox/sandbox_async/filesystem/filesystem.py +557 -557
  22. scalebox/sandbox_async/filesystem/watch_handle.py +61 -61
  23. scalebox/sandbox_async/main.py +647 -646
  24. scalebox/sandbox_async/sandbox_api.py +365 -365
  25. scalebox/sandbox_async/utils.py +7 -7
  26. scalebox/sandbox_sync/__init__.py +2 -2
  27. scalebox/sandbox_sync/commands/command.py +300 -300
  28. scalebox/sandbox_sync/commands/command_handle.py +150 -150
  29. scalebox/sandbox_sync/commands/pty.py +181 -181
  30. scalebox/sandbox_sync/filesystem/filesystem.py +543 -543
  31. scalebox/sandbox_sync/filesystem/watch_handle.py +66 -66
  32. scalebox/sandbox_sync/main.py +789 -790
  33. scalebox/sandbox_sync/sandbox_api.py +356 -356
  34. scalebox/test/CODE_INTERPRETER_TESTS_READY.md +256 -256
  35. scalebox/test/README.md +164 -164
  36. scalebox/test/aclient.py +72 -72
  37. scalebox/test/code_interpreter_centext.py +21 -21
  38. scalebox/test/code_interpreter_centext_sync.py +21 -21
  39. scalebox/test/code_interpreter_test.py +1 -1
  40. scalebox/test/code_interpreter_test_sync.py +1 -1
  41. scalebox/test/run_all_validation_tests.py +334 -334
  42. scalebox/test/test_basic.py +78 -78
  43. scalebox/test/test_code_interpreter_async_comprehensive.py +2653 -2653
  44. scalebox/test/{test_code_interpreter_e2bsync_comprehensive.py → test_code_interpreter_execcode.py} +328 -392
  45. scalebox/test/test_code_interpreter_sync_comprehensive.py +3416 -3412
  46. scalebox/test/test_csx_desktop_examples.py +130 -0
  47. scalebox/test/test_sandbox_async_comprehensive.py +736 -738
  48. scalebox/test/test_sandbox_stress_and_edge_cases.py +778 -778
  49. scalebox/test/test_sandbox_sync_comprehensive.py +779 -770
  50. scalebox/test/test_sandbox_usage_examples.py +987 -987
  51. scalebox/test/testacreate.py +24 -24
  52. scalebox/test/testagetinfo.py +18 -18
  53. scalebox/test/testcodeinterpreter_async.py +508 -508
  54. scalebox/test/testcodeinterpreter_sync.py +239 -239
  55. scalebox/test/testcomputeuse.py +2 -2
  56. scalebox/test/testnovnc.py +12 -12
  57. scalebox/test/testsandbox_api.py +15 -0
  58. scalebox/test/testsandbox_async.py +202 -118
  59. scalebox/test/testsandbox_sync.py +71 -38
  60. scalebox/version.py +2 -2
  61. {scalebox_sdk-0.1.4.dist-info → scalebox_sdk-0.1.25.dist-info}/METADATA +104 -103
  62. {scalebox_sdk-0.1.4.dist-info → scalebox_sdk-0.1.25.dist-info}/RECORD +66 -66
  63. scalebox/test/test_code_interpreter_e2basync_comprehensive.py +0 -2655
  64. scalebox/test/test_e2b_first.py +0 -11
  65. {scalebox_sdk-0.1.4.dist-info → scalebox_sdk-0.1.25.dist-info}/WHEEL +0 -0
  66. {scalebox_sdk-0.1.4.dist-info → scalebox_sdk-0.1.25.dist-info}/entry_points.txt +0 -0
  67. {scalebox_sdk-0.1.4.dist-info → scalebox_sdk-0.1.25.dist-info}/licenses/LICENSE +0 -0
  68. {scalebox_sdk-0.1.4.dist-info → scalebox_sdk-0.1.25.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scalebox-sdk
3
- Version: 0.1.4
3
+ Version: 0.1.25
4
4
  Summary: ScaleBox Python SDK - A multi-language code execution sandbox with Python, R, Node.js, Deno/TypeScript, Java, and Bash support
5
5
  Author-email: ScaleBox Team <dev@scalebox.dev>
6
6
  Maintainer-email: ScaleBox Team <dev@scalebox.dev>
@@ -15,7 +15,6 @@ Classifier: Development Status :: 4 - Beta
15
15
  Classifier: Intended Audience :: Developers
16
16
  Classifier: Operating System :: OS Independent
17
17
  Classifier: Programming Language :: Python :: 3
18
- Classifier: Programming Language :: Python :: 3.9
19
18
  Classifier: Programming Language :: Python :: 3.10
20
19
  Classifier: Programming Language :: Python :: 3.11
21
20
  Classifier: Programming Language :: Python :: 3.12
@@ -23,16 +22,17 @@ Classifier: Programming Language :: Python :: 3.13
23
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
24
23
  Classifier: Topic :: Software Development :: Testing
25
24
  Classifier: Topic :: System :: Distributed Computing
26
- Requires-Python: >=3.9
25
+ Requires-Python: >=3.10
27
26
  Description-Content-Type: text/markdown
28
27
  License-File: LICENSE
29
28
  Requires-Dist: httpx>=0.24
30
29
  Requires-Dist: aiohttp>=3.8.0
31
30
  Requires-Dist: urllib3>=1.26.0
32
31
  Requires-Dist: httpcore>=0.15.0
33
- Requires-Dist: grpcio>=1.70.0
34
- Requires-Dist: grpcio-tools>=1.70.0
35
- Requires-Dist: protobuf>=4.0.0
32
+ Requires-Dist: grpcio>=1.74.0
33
+ Requires-Dist: grpcio-tools>=1.74.0
34
+ Requires-Dist: protobuf>=4.21
35
+ Requires-Dist: connect-python<0.5.0,>=0.4.2
36
36
  Requires-Dist: attrs>=21.4.0
37
37
  Requires-Dist: dataclasses-json>=0.5.0
38
38
  Requires-Dist: python-dateutil>=2.8.0
@@ -49,8 +49,6 @@ Requires-Dist: flake8>=4.0.0; extra == "dev"
49
49
  Requires-Dist: mypy>=0.950; extra == "dev"
50
50
  Requires-Dist: pre-commit>=2.17.0; extra == "dev"
51
51
  Requires-Dist: python-dotenv>=0.19.0; extra == "dev"
52
- Provides-Extra: connect
53
- Requires-Dist: connectrpc>=0.0.1; python_version >= "3.13" and extra == "connect"
54
52
  Provides-Extra: docs
55
53
  Requires-Dist: sphinx>=4.0.0; extra == "docs"
56
54
  Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "docs"
@@ -70,66 +68,68 @@ Dynamic: license-file
70
68
  [![Import Sorting: isort](https://img.shields.io/badge/imports-isort-blue.svg)](https://pycqa.github.io/isort/)
71
69
  [![Multi-Language Support](https://img.shields.io/badge/languages-Python%20%7C%20R%20%7C%20Node.js%20%7C%20TypeScript%20%7C%20Java%20%7C%20Bash-orange.svg)](https://github.com/scalebox-dev/scalebox-sdk-python)
72
70
 
73
- 一个用于在可控沙箱中执行多语言代码的 Python SDK,支持同步与异步模式,以及多语言 Kernel(Python、R、Node.js、Deno/TypeScript、Java/IJAVA、Bash)。已提供全面的真实环境测试用例与脚本。
71
+ > [中文文档](./README_CN.md)
74
72
 
75
- ## 功能特性
76
- - 多语言内核:Python、R、Node.js、Deno/TypeScript、Java/IJAVA、Bash
77
- - 同步 `Sandbox` 与异步 `AsyncSandbox` 执行
78
- - 持久上下文:跨多次执行保留变量/状态
79
- - 回调订阅:stdout、stderr、结果与错误
80
- - 丰富结果格式:text、html、markdown、svg、png、jpeg、pdf、latex、json、javascript、chart、data 等
81
- - 真实环境测试:覆盖同步/异步与多语言示例
73
+ A Python SDK for executing multi-language code in a controlled sandbox environment, supporting both synchronous and asynchronous modes, along with multi-language kernels (Python, R, Node.js, Deno/TypeScript, Java/IJAVA, Bash). Comprehensive real-world test cases and scripts are provided.
82
74
 
83
- ## 环境要求
75
+ ## Features
76
+ - **Multi-language kernels**: Python, R, Node.js, Deno/TypeScript, Java/IJAVA, Bash
77
+ - **Execution modes**: Synchronous `Sandbox` and asynchronous `AsyncSandbox`
78
+ - **Persistent context**: Retain variables/state across multiple executions
79
+ - **Callback subscriptions**: stdout, stderr, results, and errors
80
+ - **Rich result formats**: text, html, markdown, svg, png, jpeg, pdf, latex, json, javascript, chart, data, and more
81
+ - **Real-world testing**: Comprehensive test coverage for sync/async and multi-language examples
82
+
83
+ ## Requirements
84
84
  - Python 3.12+
85
- - 可访问的 Scalebox 环境或本地服务
85
+ - Accessible Scalebox environment or local service
86
86
 
87
- ## 安装
87
+ ## Installation
88
88
 
89
89
  ```bash
90
- # 克隆项目
90
+ # Clone the repository
91
91
  git clone https://github.com/scalebox-dev/scalebox-sdk-python.git
92
92
  cd scalebox-sdk-python
93
93
 
94
- # 建议使用虚拟环境
94
+ # Recommended: use a virtual environment
95
95
  python3 -m venv venv
96
96
  source venv/bin/activate
97
97
 
98
- # 安装依赖
98
+ # Install dependencies
99
99
  pip install -r scalebox/requirements.txt
100
100
  ```
101
101
 
102
- 如果你以源码方式直接使用包(非 pip 安装),请将 `scalebox` 目录加入 Python 路径或复制到 venv site-packages
102
+ If you're using the package directly from source (not via pip), add the `scalebox` directory to your Python path or copy it to your venv's site-packages:
103
103
  ```bash
104
104
  cp -r scalebox venv/lib/python3.12/site-packages/
105
105
  ```
106
106
 
107
- ## 配置
108
- 支持从环境变量或 `.env` 文件读取凭据:
107
+ ## Configuration
108
+ Credentials can be read from environment variables or a `.env` file:
109
109
 
110
- - `SBX_API_KEY` 或 `E2B_API_KEY`
110
+ - `SBX_API_KEY`
111
111
 
112
- 示例:
112
+ Example:
113
113
  ```env
114
114
  # .env
115
115
  SBX_API_KEY=***
116
116
  ```
117
- 或:
117
+ Or:
118
118
  ```bash
119
119
  export SBX_API_KEY=***
120
120
  ```
121
121
 
122
- 可选:使用 `python-dotenv` 自动加载 `.env`:
122
+ Optional: Use `python-dotenv` to automatically load `.env`:
123
123
  ```bash
124
124
  pip install python-dotenv
125
125
  ```
126
126
 
127
- ## 快速开始(同步)
127
+ ## Quick Start (Synchronous)
128
128
  ```python
129
129
  from dotenv import load_dotenv; load_dotenv()
130
130
  from scalebox.code_interpreter import Sandbox
131
131
 
132
- sandbox = Sandbox.create() # 默认生存期 5 分钟
132
+ sandbox = Sandbox.create() # Default lifetime: 5 minutes
133
133
  execution = sandbox.run_code("print('hello world')", language="python")
134
134
  print(execution.logs.stdout)
135
135
 
@@ -137,7 +137,7 @@ files = sandbox.files.list("/")
137
137
  print(files)
138
138
  ```
139
139
 
140
- ## 快速开始(异步)
140
+ ## Quick Start (Asynchronous)
141
141
  ```python
142
142
  import asyncio
143
143
  from dotenv import load_dotenv; load_dotenv()
@@ -151,15 +151,15 @@ async def main():
151
151
  asyncio.run(main())
152
152
  ```
153
153
 
154
- ## 多语言示例
155
- - Python:`language="python"`
156
- - R:`language="r"`
157
- - Node.js:`language="nodejs"`
158
- - Deno/TypeScript:`language="typescript"`
159
- - JavaIJAVA/纯Java):`language="ijava"` `language="java"`
160
- - Bash:`language="bash"`
154
+ ## Multi-Language Examples
155
+ - Python: `language="python"`
156
+ - R: `language="r"`
157
+ - Node.js: `language="nodejs"`
158
+ - Deno/TypeScript: `language="typescript"`
159
+ - Java (IJAVA/pure Java): `language="ijava"` or `language="java"`
160
+ - Bash: `language="bash"`
161
161
 
162
- 示例(Node.js):
162
+ ### Node.js Example:
163
163
  ```python
164
164
  from scalebox.code_interpreter import Sandbox
165
165
  sbx = Sandbox.create()
@@ -171,7 +171,7 @@ result = sbx.run_code(code, language="nodejs")
171
171
  print(result.logs.stdout)
172
172
  ```
173
173
 
174
- 示例(R):
174
+ ### R Example:
175
175
  ```python
176
176
  from scalebox.code_interpreter import Sandbox
177
177
  sbx = Sandbox.create()
@@ -184,7 +184,7 @@ res = sbx.run_code(code, language="r")
184
184
  print(res.logs.stdout)
185
185
  ```
186
186
 
187
- 示例(Deno/TypeScript):
187
+ ### Deno/TypeScript Example:
188
188
  ```python
189
189
  from scalebox.code_interpreter import Sandbox
190
190
  sbx = Sandbox.create()
@@ -197,7 +197,7 @@ res = sbx.run_code(ts, language="typescript")
197
197
  print(res.logs.stdout)
198
198
  ```
199
199
 
200
- 示例(Java/IJAVA):
200
+ ### Java/IJAVA Example:
201
201
  ```python
202
202
  from scalebox.code_interpreter import Sandbox
203
203
  sbx = Sandbox.create()
@@ -209,7 +209,7 @@ res = sbx.run_code(code, language="java")
209
209
  print(res.logs.stdout)
210
210
  ```
211
211
 
212
- 示例(Bash):
212
+ ### Bash Example:
213
213
  ```python
214
214
  from scalebox.code_interpreter import Sandbox
215
215
  sbx = Sandbox.create()
@@ -217,8 +217,8 @@ res = sbx.run_code("echo 'Hello from Bash'", language="bash")
217
217
  print(res.logs.stdout)
218
218
  ```
219
219
 
220
- ## 上下文管理(Context
221
- 上下文允许跨多次执行复用变量/状态:
220
+ ## Context Management
221
+ Context allows you to reuse variables/state across multiple executions:
222
222
  ```python
223
223
  from scalebox.code_interpreter import Sandbox
224
224
  sbx = Sandbox.create()
@@ -226,10 +226,11 @@ ctx = sbx.create_code_context(language="python", cwd="/tmp")
226
226
 
227
227
  sbx.run_code("counter = 0", context=ctx)
228
228
  sbx.run_code("counter += 1; print(counter)", context=ctx)
229
- # 使用完必须清理
229
+ # Must clean up when done
230
230
  sbx.destroy_context(ctx)
231
231
  ```
232
- 异步 API:
232
+
233
+ Async API:
233
234
  ```python
234
235
  from scalebox.code_interpreter import AsyncSandbox
235
236
 
@@ -241,7 +242,7 @@ async def demo():
241
242
  await sbx.destroy_context(ctx)
242
243
  ```
243
244
 
244
- ## 回调(可选)
245
+ ## Callbacks (Optional)
245
246
  ```python
246
247
  from scalebox.code_interpreter import Sandbox
247
248
  from scalebox.code_interpreter import OutputMessage, Result, ExecutionError
@@ -270,109 +271,109 @@ sbx.run_code(
270
271
  )
271
272
  ```
272
273
 
273
- ## 结果格式(Result
274
- `Result` 可能包含如下数据字段:
274
+ ## Result Formats
275
+ `Result` may contain the following data fields:
275
276
  - `text`, `html`, `markdown`, `svg`, `png`, `jpeg`, `pdf`, `latex`
276
277
  - `json_data`, `javascript`, `data`, `chart`
277
278
  - `execution_count`, `is_main_result`, `extra`
278
279
 
279
- 可以通过 `list(result.formats())` 查看可用格式。
280
+ Use `list(result.formats())` to view available formats.
280
281
 
281
- ## 运行测试
282
- 项目 `test/` 目录包含全面的真实环境用例(非 unittest,直接脚本风格),覆盖:
283
- - 同步与异步综合用例
284
- - 多语言内核(PythonRNode.jsDeno/TypeScriptJava/IJAVABash
285
- - 上下文管理、回调与结果格式
282
+ ## Running Tests
283
+ The `test/` directory contains comprehensive real-world use cases (not unittest-style, direct script-style), covering:
284
+ - Synchronous and asynchronous comprehensive test cases
285
+ - Multi-language kernels (Python, R, Node.js, Deno/TypeScript, Java/IJAVA, Bash)
286
+ - Context management, callbacks, and result formats
286
287
 
287
- 运行语法检查:
288
+ Run syntax checks:
288
289
  ```bash
289
290
  cd test
290
291
  python3 -m py_compile test_code_interpreter_sync_comprehensive.py
291
292
  python3 -m py_compile test_code_interpreter_async_comprehensive.py
292
293
  ```
293
294
 
294
- 建议在虚拟环境中准备依赖并按需安装语言运行时(如 RNodeDenoJDK/IJAVA 等),确保各内核能够被后端执行。
295
+ It's recommended to prepare dependencies in a virtual environment and install language runtimes (such as R, Node, Deno, JDK/IJAVA, etc.) as needed, ensuring each kernel can be executed by the backend.
295
296
 
296
- ## 版本管理(Version Management
297
+ ## Version Management
297
298
 
298
- 本项目使用自动化版本管理,支持语义化版本控制(Semantic Versioning)。
299
+ This project uses automated version management with support for Semantic Versioning.
299
300
 
300
- ### 🚀 自动版本升级
301
+ ### 🚀 Automatic Version Bumping
301
302
 
302
- 使用内置脚本进行版本升级:
303
+ Use the built-in script to bump versions:
303
304
 
304
305
  ```bash
305
- # 升级补丁版本 (0.1.1 -> 0.1.2)
306
+ # Bump patch version (0.1.1 -> 0.1.2)
306
307
  python scripts/bump_version.py patch
307
308
 
308
- # 升级次要版本 (0.1.1 -> 0.2.0)
309
+ # Bump minor version (0.1.1 -> 0.2.0)
309
310
  python scripts/bump_version.py minor
310
311
 
311
- # 升级主要版本 (0.1.1 -> 1.0.0)
312
+ # Bump major version (0.1.1 -> 1.0.0)
312
313
  python scripts/bump_version.py major
313
314
  ```
314
315
 
315
- ### 📦 自动发布流程
316
+ ### 📦 Automated Release Process
316
317
 
317
- #### 🚀 方法1GitHub Actions 一键升级(推荐)
318
+ #### 🚀 Method 1: GitHub Actions One-Click Bump (Recommended)
318
319
 
319
- 1. **进入 GitHub Actions 页面**
320
- 2. **选择 "CI/CD Pipeline" workflow**
321
- 3. **点击 "Run workflow" 按钮**
322
- 4. **选择版本类型**:
323
- - `patch`: 补丁版本 (0.1.1 → 0.1.2)
324
- - `minor`: 次要版本 (0.1.1 → 0.2.0)
325
- - `major`: 主要版本 (0.1.1 → 1.0.0)
326
- 5. **选择自动提交选项**
327
- 6. **点击运行** - 系统会自动完成所有步骤!
320
+ 1. **Navigate to GitHub Actions page**
321
+ 2. **Select "CI/CD Pipeline" workflow**
322
+ 3. **Click "Run workflow" button**
323
+ 4. **Select version type**:
324
+ - `patch`: Patch version (0.1.1 → 0.1.2)
325
+ - `minor`: Minor version (0.1.1 → 0.2.0)
326
+ - `major`: Major version (0.1.1 → 1.0.0)
327
+ 5. **Select auto-commit option**
328
+ 6. **Click run** - The system will automatically complete all steps!
328
329
 
329
- #### 🔧 方法2:本地脚本升级
330
+ #### 🔧 Method 2: Local Script Bump
330
331
 
331
- 1. **版本升级**:使用 `bump_version.py` 脚本
332
- 2. **GitHub Actions**:自动构建和发布到PyPI
333
- 3. **触发条件**:
334
- - 推送到 `main` 分支
335
- - 创建 `v*` 标签(如 `v0.1.2`)
332
+ 1. **Version Bump**: Use `bump_version.py` script
333
+ 2. **GitHub Actions**: Automatically build and publish to PyPI
334
+ 3. **Trigger Conditions**:
335
+ - Push to `main` branch
336
+ - Create `v*` tag (e.g., `v0.1.2`)
336
337
 
337
- ### 🔧 版本文件同步
338
+ ### 🔧 Version File Synchronization
338
339
 
339
- 脚本会自动更新以下文件中的版本:
340
+ The script automatically updates versions in the following files:
340
341
  - `scalebox/__init__.py`
341
342
  - `scalebox/version.py`
342
343
  - `pyproject.toml`
343
- - `CHANGELOG.md`(可选)
344
+ - `CHANGELOG.md` (optional)
344
345
 
345
- ### 📋 发布步骤
346
+ ### 📋 Release Steps
346
347
 
347
348
  ```bash
348
- # 1. 升级版本
349
+ # 1. Bump version
349
350
  python scripts/bump_version.py patch
350
351
 
351
- # 2. 检查更改
352
+ # 2. Check changes
352
353
  git diff
353
354
 
354
- # 3. 提交更改
355
+ # 3. Commit changes
355
356
  git add .
356
357
  git commit -m "Bump version to 0.1.2"
357
358
 
358
- # 4. 推送并创建标签
359
+ # 4. Push and create tag
359
360
  git push origin main
360
361
  git push origin --tags
361
362
 
362
- # 5. GitHub Actions 会自动发布到 PyPI
363
+ # 5. GitHub Actions will automatically publish to PyPI
363
364
  ```
364
365
 
365
- ### 🏷️ 版本规则
366
+ ### 🏷️ Version Rules
366
367
 
367
- - **MAJOR**:不兼容的API更改
368
- - **MINOR**:向后兼容的功能添加
369
- - **PATCH**:向后兼容的错误修复
368
+ - **MAJOR**: Incompatible API changes
369
+ - **MINOR**: Backward-compatible feature additions
370
+ - **PATCH**: Backward-compatible bug fixes
370
371
 
371
- ## 常见问题(Troubleshooting
372
- - Import/依赖错误:请确认已激活 venv 并正确安装 `scalebox/requirements.txt` 所需依赖
373
- - `ModuleNotFoundError`:在测试脚本中添加项目根路径到 `sys.path`,或从项目根目录运行
374
- - 外部内核不可用:确保环境已安装对应语言运行时(R/Node/Deno/JDK)与后端已启用该内核
375
- - 超时/网络:检查网络与后端服务可达性,必要时增大 `timeout`/`request_timeout`
372
+ ## Troubleshooting
373
+ - **Import/dependency errors**: Ensure venv is activated and all required dependencies from `scalebox/requirements.txt` are installed
374
+ - **`ModuleNotFoundError`**: Add the project root path to `sys.path` in test scripts, or run from the project root directory
375
+ - **External kernels unavailable**: Ensure the environment has the corresponding language runtime installed (R/Node/Deno/JDK) and the backend has enabled that kernel
376
+ - **Timeout/network issues**: Check network connectivity and backend service accessibility, increase `timeout`/`request_timeout` if necessary
376
377
 
377
- ## 许可证
378
- 本项目遵循项目仓库所附许可证(LICENSE)条款。
378
+ ## License
379
+ This project is licensed under the terms of the LICENSE file in the repository.
@@ -1,26 +1,26 @@
1
- scalebox/__init__.py,sha256=bD77fyFdaEtAw2pBNqy2paAPJdWLPzUszL7KuFnaV5c,1811
1
+ scalebox/__init__.py,sha256=ZdLSSM1QaZcuGmO6T3-MeqhC_oz130RRDnbS6QxHUmg,1812
2
2
  scalebox/cli.py,sha256=HWIyGuhbP1WZm839CwTysauL78xMBOoatFychxzloxQ,3904
3
- scalebox/connection_config.py,sha256=J49-3tYaaoRDpa1l2dbnW3T8XmLrqEZBPXlraFvPp7I,2563
3
+ scalebox/connection_config.py,sha256=W2hMeXlxUHvR51guqOWEEDv35o4XP8SbLkDXqa20C0M,2655
4
4
  scalebox/exceptions.py,sha256=10R9VXfvgO4XJJnxyzyrzkxliyeEBX0ZC36izXa8R5k,2053
5
5
  scalebox/requirements.txt,sha256=LEYsk2VzoxKR-V44Y6qJuJ3vKdTYS79f1Gv1Ajleifo,567
6
- scalebox/version.py,sha256=9G60KiXdpCASsz6gajWkCJoYNC0VdLX8VM8GhjfwORM,321
7
- scalebox/api/__init__.py,sha256=4Ci1HcIcKfSdloTw1BNwneudeqo1yC_MUZgwGdl9Mb8,4167
6
+ scalebox/version.py,sha256=GqZZW9bupy2z5IYpV1b_PIQnITNbSZI6fehcOuw5-ds,323
7
+ scalebox/api/__init__.py,sha256=FQRvpvkdAIb7I2mcFVwIYiSPhO5pKmh000J9zOPdO-A,4295
8
8
  scalebox/api/metadata.py,sha256=lg5ekfnFZYZoCoJxIPo961HEGVg_rLLRJBbw4ZApM_Y,512
9
- scalebox/api/client/__init__.py,sha256=0s784iDWjy52HOxrCdQVVeF8Fqrc9gzh1cLpMd9sOA8,150
10
- scalebox/api/client/client.py,sha256=E94FDmiAORzuukaUQopFX0TXoj-LDtPeRDLfvtwdu0Q,12623
9
+ scalebox/api/client/__init__.py,sha256=HzKIvZRZ7K4vQZKmBQXWh7CdmavSWi49NPaOAQdjdvs,163
10
+ scalebox/api/client/client.py,sha256=YUOqU081_MTQ17vjAc0xZGFil-mQx6Va42y9VMoZnNI,12911
11
11
  scalebox/api/client/errors.py,sha256=gO8GBmKqmSNgAg-E5oT-oOyxztvp7V_6XG7OUTT15q0,546
12
12
  scalebox/api/client/py.typed,sha256=8ZJUsxZiuOy1oJeVhsTWQhTG_6pTVHVXk5hJL79ebTk,25
13
- scalebox/api/client/types.py,sha256=E1hhDh_zXfsSQ0NCt9-uw90_Mr5iIlsdfnfvxv5HarU,1005
13
+ scalebox/api/client/types.py,sha256=4Noqx0va9oEOqpp6miwyq9Y-nW4lGrd_ClvJbEXi5To,1051
14
14
  scalebox/api/client/api/__init__.py,sha256=zTSiG_ujSjAqWPyc435YXaX9XTlpMjiJWBbV-f-YtdA,45
15
15
  scalebox/api/client/api/sandboxes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  scalebox/api/client/api/sandboxes/delete_sandboxes_sandbox_id.py,sha256=exBkD4FP0t730uuuKvNPWwm9PMOE68BDeaKmt98gPlg,3945
17
- scalebox/api/client/api/sandboxes/get_sandboxes.py,sha256=cte-9oyXExgevw28JmoYcFF_GiCeCr0vkCf47LGtLxA,4745
17
+ scalebox/api/client/api/sandboxes/get_sandboxes.py,sha256=mOrhfvS_O9z58wjf8mpMkXR_cWmp7r6c_zAQCZ5beWA,4877
18
18
  scalebox/api/client/api/sandboxes/get_sandboxes_metrics.py,sha256=7vchRZZhVqT2TJDq_P1PZ6xcb6A-bvYmfq8swCEuVw4,4581
19
19
  scalebox/api/client/api/sandboxes/get_sandboxes_sandbox_id.py,sha256=M4a8lrM0NgaIF4G6rMw2LcoLs2FK6b4Dfc15JoroSkc,4133
20
20
  scalebox/api/client/api/sandboxes/get_sandboxes_sandbox_id_logs.py,sha256=EQmwi1HGcadWZOCSQ3UrtrT3quNHnJkPnanvd-gW0sM,5217
21
- scalebox/api/client/api/sandboxes/get_sandboxes_sandbox_id_metrics.py,sha256=mDFBCAp3vLRMGzSe_CpZH4m80q5KOXOR7qFtUOh2Oac,5975
21
+ scalebox/api/client/api/sandboxes/get_sandboxes_sandbox_id_metrics.py,sha256=cKchhQ2mzIuNhesi6raATxsKibIrb-GEIJjL8W0hiWs,5979
22
22
  scalebox/api/client/api/sandboxes/get_v2_sandboxes.py,sha256=ii49JFUa5-GtnIXiV73oqc4NgoArEq-zpTln3n-JENs,6636
23
- scalebox/api/client/api/sandboxes/post_sandboxes.py,sha256=mlJdVKKFlWvzNDUVyTIUJky9Ufvj7xqZ5NS0jUJzjEw,4335
23
+ scalebox/api/client/api/sandboxes/post_sandboxes.py,sha256=h7mxgM8sdA34pAZeCUWhG5Bs0GD8kR2ci0TKlUwKDCo,4339
24
24
  scalebox/api/client/api/sandboxes/post_sandboxes_sandbox_id_pause.py,sha256=dD0M7vx5MV-tCw4o2by1csKnIDVmO2YxaPkKDxNpEJc,4082
25
25
  scalebox/api/client/api/sandboxes/post_sandboxes_sandbox_id_refreshes.py,sha256=bREqFIngMmP3nj1eT4OcQROW7ZlLZ2Se8wMVtMjq15o,4771
26
26
  scalebox/api/client/api/sandboxes/post_sandboxes_sandbox_id_resume.py,sha256=G0BdobeV2WiHmZ-d9yODiPA4eBuclm0xe5at6aSR-Lo,4746
@@ -31,10 +31,10 @@ scalebox/api/client/models/created_access_token.py,sha256=VjU_tuW67zrtc3V1po-MVt
31
31
  scalebox/api/client/models/created_team_api_key.py,sha256=QO2jAIR8u1Xxn26jnftkDNYCI1mEqDMt-ZUIQS1y1NU,5040
32
32
  scalebox/api/client/models/error.py,sha256=xGvyYQQHv0ZrxvhrVvFlXPaosmt24ivIh3U4gItpBKY,1594
33
33
  scalebox/api/client/models/identifier_masking_details.py,sha256=97xSg4Nr3D5xbjGDuZ16doEMOlck0EtyjMxtHQR9TKk,2496
34
- scalebox/api/client/models/listed_sandbox.py,sha256=WP-U0lZ7plU1FG1Qz5Z0dWLdSIR3D9YJ0LkoPG3qT3U,3865
34
+ scalebox/api/client/models/listed_sandbox.py,sha256=oQUitQWjCk1HOXX7K7YdaGWBLQnPu4GnMt2E9-rQOTw,4040
35
35
  scalebox/api/client/models/log_level.py,sha256=uv6u1nkqfzdxTjJAxLZdWuH5goVI_g-ULLhh6TU5dw8,189
36
36
  scalebox/api/client/models/new_access_token.py,sha256=sjlQ7dEj4ByCgwud750SbxwyjggAKB1s-o_N7dRCo7s,1480
37
- scalebox/api/client/models/new_sandbox.py,sha256=z_LaZ0RS6qI95IVGklKgQZ301zSah9HerzND78QAP80,3934
37
+ scalebox/api/client/models/new_sandbox.py,sha256=-mnu5wZPkofTGqsbDmA1nWTFDw-fzPu2Mg_rVISxd70,3937
38
38
  scalebox/api/client/models/new_team_api_key.py,sha256=neYLvvvzyPcpXYV5gDHVkv_ovjKdIBKUTX04cD5QKGA,1473
39
39
  scalebox/api/client/models/node.py,sha256=nuEZij7z7iXzBQYTFwardHlSixWrepztFmMIIqd8Ek4,4653
40
40
  scalebox/api/client/models/node_detail.py,sha256=ywP1oDzyxi7hIJAMTvINQQ8CwMsd1PlH1R5bEw716Ig,4511
@@ -43,12 +43,12 @@ scalebox/api/client/models/node_status_change.py,sha256=gJJWj3-8AaHkjli_KMcBLu4V
43
43
  scalebox/api/client/models/post_sandboxes_sandbox_id_refreshes_body.py,sha256=VwMoBB9y2vFP7kcLDJ0Q9kVGOBqD2W3VvAEKv_XHd2Y,1763
44
44
  scalebox/api/client/models/post_sandboxes_sandbox_id_timeout_body.py,sha256=iay4pLjwIryb6J8fjx3UjThsNJ5AvqArzAwr5K8LnNs,1668
45
45
  scalebox/api/client/models/resumed_sandbox.py,sha256=2xD811-BnABH7M9vceACDucdASx0pwpxxoBGzTtxMns,1980
46
- scalebox/api/client/models/sandbox.py,sha256=OpIViVmzEsLfdajbfhR60MTQDr31IWAv1dAZEYyetQk,3768
46
+ scalebox/api/client/models/sandbox.py,sha256=3VRvcsrjQ66crGQen9lIjjflWw_t0iG2ugG7eNMzNus,3893
47
47
  scalebox/api/client/models/sandbox_detail.py,sha256=_9PfVC6PA4aHfOwm8lxlZl3K-UKnrayT7ZdmAFhfwSM,5471
48
48
  scalebox/api/client/models/sandbox_log.py,sha256=tXw35j3poz7DMJrLeoxr4oYdbcYJV5ep3E0bVdQsS2o,1806
49
49
  scalebox/api/client/models/sandbox_logs.py,sha256=zpQbPAmdrQoUexnwobzljOYcairMmK6sUHVyM1n2Ix0,1894
50
50
  scalebox/api/client/models/sandbox_metric.py,sha256=plMdU99nWQnFyd9qBXfF8vbfwAQXZWJ4p-S8HVErswI,2981
51
- scalebox/api/client/models/sandbox_state.py,sha256=iztDupSF2SrYQGV2UTcnZRH_U3GxSmHYKHMMUksO_7M,163
51
+ scalebox/api/client/models/sandbox_state.py,sha256=JD_qnXiXRj_fihMdIr9EyygIWSgTh5j9gAQ6RBTwUy4,193
52
52
  scalebox/api/client/models/sandboxes_with_metrics.py,sha256=CuOZ1ismyjPLrxPcKaDqLKZL5Iun0njN70Qqhubc1Ps,1535
53
53
  scalebox/api/client/models/team.py,sha256=rGLOfphzsP7VA9SLmQn8vnUfxB9KILfMwNfh4hVy3IE,2042
54
54
  scalebox/api/client/models/team_api_key.py,sha256=4aqRT8gF32WJwuteq6h7ag2wdpZuVCpaOEZuj1j3Dx4,4844
@@ -71,20 +71,20 @@ scalebox/client/client.py,sha256=lPh2y8788bkYH_re9CxfMTO5reOtKyfzFhJ4vMtShPc,341
71
71
  scalebox/client/requirements.txt,sha256=wKvAVEljSzYT7t1PFWlsWHR9I47sAYjx97xU51NvAPw,94
72
72
  scalebox/code_interpreter/__init__.py,sha256=DKvHYgCOofNzPCgxK9HRyVpb8l1F1Uc2_DUL9BkcsSs,238
73
73
  scalebox/code_interpreter/charts.py,sha256=tYo53XlaWyjsMRb5tG32PaeGapaG0GQW3826wuXARfo,5511
74
- scalebox/code_interpreter/code_interpreter_async.py,sha256=RPzNAqQ7qIINnOJOm5X9BUb-_uy-ow92gNJqmHCXZSg,12891
75
- scalebox/code_interpreter/code_interpreter_sync.py,sha256=_CLIWD5eIML5m6mSkeaOAT1zMnwDrxu7APkDH_5LAmE,11407
74
+ scalebox/code_interpreter/code_interpreter_async.py,sha256=rtsGJlGkczVngjMP4dTGS2rO6sRQ55k8c60y3A0ZUVA,13429
75
+ scalebox/code_interpreter/code_interpreter_sync.py,sha256=HydYJxVbemH8VwcnuE_8o8_u-mKF_WRWcgFsEBAb8Wg,11891
76
76
  scalebox/code_interpreter/constants.py,sha256=MmEu7Uw2rjIZAayX9gQSC-iFmUaaijNSZ0ADnL1L_EM,81
77
77
  scalebox/code_interpreter/exceptions.py,sha256=9YfZk6EMa_RtfZ8K-BHvbRr2lcFRl6I5FY5WrA5gNqI,410
78
78
  scalebox/code_interpreter/models.py,sha256=so4_kPkouB9ET0MN2LkeTaPWXAXJNQIaz0IEYQMGtbs,14019
79
79
  scalebox/csx_connect/__init__.py,sha256=LpNSDgIjJbOyeddLRyTVLsY0UqRWYAvlAn0itEDhuao,81
80
80
  scalebox/csx_connect/client.py,sha256=fmlND6h2iiTaeWcccf6aukvQ_6SCblr1RylArGN3k78,13151
81
81
  scalebox/csx_desktop/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
- scalebox/csx_desktop/main.py,sha256=ubSVY0lcXA1mcO64xeRn-WCtKYPNZy6KkhAMmZVWn_k,21827
82
+ scalebox/csx_desktop/main.py,sha256=mdnHFaAxreH6xgI1-vRuXEmNM9F3CPJxdmpfLOwhJEw,21908
83
83
  scalebox/generated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
84
  scalebox/generated/api.py,sha256=SjK64GhgaWFMkktn4ekb5p8zBZXvA88GZ4legCT27Jo,1558
85
85
  scalebox/generated/api_pb2.py,sha256=n6SmPlDl4Fx6vQl3kiw6oXUb9eTLK07_WNHjoPOhtLI,25941
86
86
  scalebox/generated/api_pb2.pyi,sha256=qdmTkmfGyLevV8hmT67DDNK8DPKh0qkIGyObPD2bvZo,30158
87
- scalebox/generated/api_pb2_connect.py,sha256=TaCrcR6jmpLQbk_2UFHH9r9xH8zCs0P56hlxP_awRaE,52547
87
+ scalebox/generated/api_pb2_connect.py,sha256=H3byAK_8f6G1gtNb2q-ceOFubux0XMOcwsJMvnpEhJw,51815
88
88
  scalebox/generated/rpc.py,sha256=-rbzeXz60kJFiik5tPOkQ6whK9ZOzJbHS-SDJ2w8cm0,1998
89
89
  scalebox/generated/versions.py,sha256=rBZ4T4ZxsrP7LVnWU-E9r_yN-x8qJXyR2q-EU-bFEMo,87
90
90
  scalebox/sandbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -99,59 +99,59 @@ scalebox/sandbox/filesystem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
99
99
  scalebox/sandbox/filesystem/filesystem.py,sha256=d3R6jp1Gn3cEdKpzB3I2P3ECQCkktBa2AfRCZZwzA08,1833
100
100
  scalebox/sandbox/filesystem/watch_handle.py,sha256=vLVy366IIQaNKqlGIWyURou3OCSSJb9m-NpfP8kqXGw,1372
101
101
  scalebox/sandbox_async/__init__.py,sha256=D8A0Asb6TNwtm9vdGx-hHCMxEUUHq_Iosi7iaaO9pmc,30
102
- scalebox/sandbox_async/main.py,sha256=x1Q0Ir8MH_MYC3CPbHuON75GVXEI0yAxmKdJnsVZ4D8,22272
103
- scalebox/sandbox_async/sandbox_api.py,sha256=_Fz1Kl7ec7FtCc6aRyqXCa88jBWvYXHVxqmMwv9vNp4,12411
104
- scalebox/sandbox_async/utils.py,sha256=VRt3FalFcvDIzfLLLEruovt8IOC2yC19wH04u5I5bxY,159
105
- scalebox/sandbox_async/commands/command.py,sha256=sPlZzGLHBqiCz72V1mZeBgFvKwHEWudJ1yojs17coaA,11029
106
- scalebox/sandbox_async/commands/command_handle.py,sha256=AMVTEzJlKJdtg4pW2r_WV5uUeUjMnjmZ1AM0Rv8Lnfc,5698
107
- scalebox/sandbox_async/commands/pty.py,sha256=vq3MrpS8JMrTTW-MNsApNEr0HWrJxTbn897zccSbvdI,5833
108
- scalebox/sandbox_async/filesystem/filesystem.py,sha256=Ao_Z7eUSn8FmmjRj23GD1N_JaWNR3Qa7dZemAFq2K80,19067
109
- scalebox/sandbox_async/filesystem/watch_handle.py,sha256=F2geFVkUyhOWYWEzu80ksB5Jrslt897Xwhc8PntN6oc,1952
110
- scalebox/sandbox_sync/__init__.py,sha256=8A7x4t-n5k9LOyaq_vyN1EYOT397FHJjslrAStUqYP4,114
111
- scalebox/sandbox_sync/main.py,sha256=rsYbyNtRoorT4qk_Yy5DUjk0dl5XxeOnBGGf3V4k8yU,28518
112
- scalebox/sandbox_sync/sandbox_api.py,sha256=s6Gs5KEbU_BngtlbwsBSseor56LHKK4mOlVSM8Wjvig,12109
102
+ scalebox/sandbox_async/main.py,sha256=iNAzms2BxqCaT4G6cls-5CVJVRPCoquMwAd6X-6wMOw,22975
103
+ scalebox/sandbox_async/sandbox_api.py,sha256=b_jd8WElAaAHnFCiKAp10z53tE-lgE4Yd613NKJuGd4,12781
104
+ scalebox/sandbox_async/utils.py,sha256=-KkAt7kwI4i9NJJ-0cSmrABnT3C4H4R7Bx2JH1LlBmc,166
105
+ scalebox/sandbox_async/commands/command.py,sha256=eA4Q2TM4ZFmoVs6r8Nq9qm2CUUgggnBOKG7nJ_qx-vk,11336
106
+ scalebox/sandbox_async/commands/command_handle.py,sha256=bJl4WN2WtBuNFiHHtbbXLsEJ1WULq0I-CncRXJ9v7Qk,5885
107
+ scalebox/sandbox_async/commands/pty.py,sha256=DnIhzZrLZc-0-0L-rc1dbcVPZdi541FtnlZWlg3z44g,6020
108
+ scalebox/sandbox_async/filesystem/filesystem.py,sha256=EIZLb3d-FJNhEpmovoRkQzxJVYsV3Jy-lL45m6KCFQQ,19629
109
+ scalebox/sandbox_async/filesystem/watch_handle.py,sha256=PRBUPaQFKQw-iFQM1Hv5GDnnEJvzkjBGGUKA0A7jezg,2013
110
+ scalebox/sandbox_sync/__init__.py,sha256=kb9Pmj_h-RzsZe9rbU_VBd1tY1tTKdyJUYMbI8qq2Ss,116
111
+ scalebox/sandbox_sync/main.py,sha256=bUvvafG5PQRtiBlORfWcPnChockYC1u3lJvYlAZ4gB0,29312
112
+ scalebox/sandbox_sync/sandbox_api.py,sha256=LdhnKpZBzoeqJl3I05RNVnFQMCWKTvyLGNt6l0R4qXg,12470
113
113
  scalebox/sandbox_sync/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
- scalebox/sandbox_sync/commands/command.py,sha256=308RgsexBQaLVbUc2ui6oKOLh6xUFDMIzTpyScHLgKI,10177
115
- scalebox/sandbox_sync/commands/command_handle.py,sha256=XPN1SpW00NqHxTuyceh4MLik-YQPEKfu4FOtf8pIC7Y,4615
116
- scalebox/sandbox_sync/commands/pty.py,sha256=KQStIe-ts_sSWjE_zD01AMqMCGbq9wGeXzbN-i4js9Q,5629
114
+ scalebox/sandbox_sync/commands/command.py,sha256=XB_MTIlqECKQStsDDV7sHgT3gB_VMu9rYtGqr8kC8Xc,10477
115
+ scalebox/sandbox_sync/commands/command_handle.py,sha256=UoPlGetP7R58vYUdphIFK7a8RqsBVrGPDpKNXZtfmP0,4765
116
+ scalebox/sandbox_sync/commands/pty.py,sha256=qpFrp67Derc7Io-hmwhcuoDuvX8PskWR0Q8BgU0gcE0,5810
117
117
  scalebox/sandbox_sync/filesystem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
118
- scalebox/sandbox_sync/filesystem/filesystem.py,sha256=ajZgv3VyBfFtO8o4BIx6w7z1vhFugnLXysRfLBsa_ms,18193
119
- scalebox/sandbox_sync/filesystem/watch_handle.py,sha256=dC9p74AHMv-3mQ1tudmOPjrpjvcJ7wFmCduNdity6os,2027
120
- scalebox/test/CODE_INTERPRETER_TESTS_READY.md,sha256=cU9aOccv6BWllsz4aIIHokMW9QPxsPlJEJKR_oXr69o,9695
121
- scalebox/test/README.md,sha256=YwFmc4kjgZN9uRVrN2qCPUDC6RfeAXFJ-syeRS9mdiE,8182
118
+ scalebox/sandbox_sync/filesystem/filesystem.py,sha256=4BKQuqNkHHG-T-h8Ky5Vh86wTSoLm8dC_zIqra03jNw,18741
119
+ scalebox/sandbox_sync/filesystem/watch_handle.py,sha256=Tpgge5wvY9xhXeRvmz2zImKaFy-neO35Jw03bxxLsaA,2093
120
+ scalebox/test/CODE_INTERPRETER_TESTS_READY.md,sha256=gtS9jRp2VB44MVG-ztb1JgYiqWtea8Z-TMEK1mZzfgE,11365
121
+ scalebox/test/README.md,sha256=1rpgOo8uv-zT6QNw05MCCl8XzplD6xvWl3gE7frn9xI,9129
122
122
  scalebox/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
- scalebox/test/aclient.py,sha256=eEJT_CJFnbRhZYS0QRJmquJP58_iMJQuJOim2gHhZvY,2263
124
- scalebox/test/code_interpreter_centext.py,sha256=i8gns4JBsxDBXqRchdvygQgKl_2vpAprFleSZ4yvqBE,447
125
- scalebox/test/code_interpreter_centext_sync.py,sha256=cCPh09h-pLGrLEKFhDuCzttadHDbCR4pZ_-BJ0Z6328,412
126
- scalebox/test/code_interpreter_test.py,sha256=070pvnscolbgItbtFIgJXQUv27yZ9Ik0UIj3pAlF8pM,699
127
- scalebox/test/code_interpreter_test_sync.py,sha256=jAGWmvFfXNfAkbWDh6KJyedJRBo_2MeHYjLsT-doQ9s,642
128
- scalebox/test/run_all_validation_tests.py,sha256=MgzzPD__22wFt3ZZYyJv7AMKy5jmUmJlRr2LIrPzAD8,12395
123
+ scalebox/test/aclient.py,sha256=hCZAs2X1AwRHevexdbH0Z2MdahSczjvRglnyb1WFrV4,2335
124
+ scalebox/test/code_interpreter_centext.py,sha256=f2GC3l8jsNF9n1Sl4boxJMGqWNl1d1Ff29f_5hahH00,468
125
+ scalebox/test/code_interpreter_centext_sync.py,sha256=cGebrc7c1VQDsv6X0Ez7Xs2plvv_j7EjqQhklLmQ01o,433
126
+ scalebox/test/code_interpreter_test.py,sha256=vK1YHbpr8Q1DoBW8KfiVeHI2dVaPrs0Ifhae3I5N6N8,704
127
+ scalebox/test/code_interpreter_test_sync.py,sha256=nlABsEL5hinK1c2Shu8WvexGh3N_XznqLkeNvOfcWlE,647
128
+ scalebox/test/run_all_validation_tests.py,sha256=iWldYseiCW-34Mowkj1AbV_ciFG5mg-DYj_Znl9Agm8,12729
129
129
  scalebox/test/run_code_interpreter_tests.sh,sha256=L5sBr5jsFhZxtqfq98yhOA8FK8-bOvYUSVeft8hb1LI,1973
130
130
  scalebox/test/run_tests.sh,sha256=1gWoC_RhemlmtqKfBCw2_fRI20saDJ8iCTRtPUiuUE8,6091
131
- scalebox/test/test_basic.py,sha256=c1mKY1KfIrjGosR5D2xRMTxUb5U2bK1hUJHnxp-Bdx8,2297
132
- scalebox/test/test_code_interpreter_async_comprehensive.py,sha256=3dyqR3dadZYyQoDrFCzR-T-a7P9eeoeo-YhGnETHk9U,81809
133
- scalebox/test/test_code_interpreter_e2basync_comprehensive.py,sha256=CoTGb4oXji9q5jra3r1xgUDfDXtaDs5iz7uDi_0XMic,81851
134
- scalebox/test/test_code_interpreter_e2bsync_comprehensive.py,sha256=dYp1Z5v_45N-rhsYNdgfbPUWIZMVccMsSVEN_OLgwRA,102242
135
- scalebox/test/test_code_interpreter_sync_comprehensive.py,sha256=2-gaHhQx_qST03femyxCeB8VJ3_Qfm94jA_JDH-GeAM,102091
136
- scalebox/test/test_e2b_first.py,sha256=1yg4XtEo8bCUUMNHU2HCLlQokQrFhBwfFZ1d2FOxEm8,305
137
- scalebox/test/test_sandbox_async_comprehensive.py,sha256=BUoQ25vRH-lLbWP0VU1JcZ33NxqnhED7iN-RJhaY_W8,26533
138
- scalebox/test/test_sandbox_stress_and_edge_cases.py,sha256=_E29LXmVH_nA0oaEr2Fji5zbX5FKM7lsGuqzwULIsnw,26824
139
- scalebox/test/test_sandbox_sync_comprehensive.py,sha256=eqR8MvTfxdPkAvbNPqcPKzDNtyPOcAyAk4RwQnyooIs,26733
140
- scalebox/test/test_sandbox_usage_examples.py,sha256=qJ_dnqHP4VzHq9vgMxcSobe8SKe3HwFO77OafMp2wCo,33704
141
- scalebox/test/testacreate.py,sha256=RKoot4pbarBcbtY_PO9mXq8DaNOehTO_KdNf-oEGxok,741
142
- scalebox/test/testagetinfo.py,sha256=5S2t5mC_KR2CM5WXPRLGcN-KPtIqHJBiOfe-nyHokLA,537
143
- scalebox/test/testcodeinterpreter_async.py,sha256=NYdq-dLs8hWLWxOfmwxcVAqrqwC_na63MlYxQqIkyxw,13750
144
- scalebox/test/testcodeinterpreter_sync.py,sha256=jk2TcJh-8sFpWIbKgBgv5I1fbm75KUdoOAGJIdCvxdI,5474
145
- scalebox/test/testcomputeuse.py,sha256=8Zt3IpAGchObXvqLYund0cODWaq1_Nq0kGEuLPkmT7s,7065
146
- scalebox/test/testnovnc.py,sha256=puvVErCPVm5rK4IzwDwfMFBUh7PQfVJzz3IWQhGxzVA,298
147
- scalebox/test/testsandbox_async.py,sha256=h1VGsEtxAmaT-4zFtRyfChkId84UqMc_3zdO6qPn9lU,3579
148
- scalebox/test/testsandbox_sync.py,sha256=l0iYqML1ci2jp-SaQ8-hZuRL7XZhgiMUwtJgJx6-A1c,1446
131
+ scalebox/test/test_basic.py,sha256=EfK7XzgY63CxLw8x8C1Tnu0yD4vazJxYLHvBV4Zz08U,2375
132
+ scalebox/test/test_code_interpreter_async_comprehensive.py,sha256=r63dsWsLIEtQKzyswQDOT1s3yVbXKsNgsgWoSDgTQ2c,84464
133
+ scalebox/test/test_code_interpreter_execcode.py,sha256=ODHS4IJGUZ84MvlmFDHupar6AFJikd_MvjFpv8qVgDY,103484
134
+ scalebox/test/test_code_interpreter_sync_comprehensive.py,sha256=PfsqhvjZNusH9EpZdY1Zo_RlcMiRbwwHBSQsRRcOC2g,105572
135
+ scalebox/test/test_csx_desktop_examples.py,sha256=hBF-YHnPctN2jeLLl-TAIj8w1T8lG1RB3PVw1ljZ2Aw,4414
136
+ scalebox/test/test_sandbox_async_comprehensive.py,sha256=jQ0Zo_OaDSkeVA08mPocyy3brWp9sv22FlarAlPo2UA,27097
137
+ scalebox/test/test_sandbox_stress_and_edge_cases.py,sha256=-lzub_06u_SmMVqu1OWIcP5VANm5FIz-a2bRTNqgUOk,27602
138
+ scalebox/test/test_sandbox_sync_comprehensive.py,sha256=lRsP0Cp_h5Vgmv7rbL90n8aMQIzkBEIQh_NMoiE8Rrg,27747
139
+ scalebox/test/test_sandbox_usage_examples.py,sha256=B-UdG3nW2dF2ACGKt77zuPaTobMoKMaFf074VERmzuU,34691
140
+ scalebox/test/testacreate.py,sha256=9_Hvllm2uWJtWxV2AWjC11sYxN_jtvx8j-TN3E6myGc,765
141
+ scalebox/test/testagetinfo.py,sha256=jbr-CNR6ubYrhLhoXOmugKttzSYaDSsXnDD-_ZJCWyU,555
142
+ scalebox/test/testcodeinterpreter_async.py,sha256=Cmrgv2iRhgJgzr8yvQz3PL4qM_TY_TVvgtRlNrG-G7Y,14258
143
+ scalebox/test/testcodeinterpreter_sync.py,sha256=g9ni-hOz11IYVGwqslRA8CZE6bkWaVBVd2aZxauWFHw,5713
144
+ scalebox/test/testcomputeuse.py,sha256=I3z2-D-INfPJKNo4yLMn-Qxui-kbbDZbEFKE1ZVbPAU,7075
145
+ scalebox/test/testnovnc.py,sha256=p5UM1ueKbyjlyYBcaToFGljG4ppIqC7JGPqltIGY6Po,310
146
+ scalebox/test/testsandbox_api.py,sha256=JEnL5MLyGFeeOR-SRWMDL0gB4KQ_xbsRx1tjn2M7BZg,393
147
+ scalebox/test/testsandbox_async.py,sha256=DzT4yXWCEgBtfvthGq4E_1TTBd-2BfQ_2DSHttos1ms,6140
148
+ scalebox/test/testsandbox_sync.py,sha256=v1dFAJWKbyLnjIiafTR9TafxJF1gaUk-W2mmQU4YYLg,2886
149
149
  scalebox/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
150
150
  scalebox/utils/httpcoreclient.py,sha256=kjTndd-YECPe3n_G1HfGgitzRwntC21tqtIqZ62V6Lg,9868
151
151
  scalebox/utils/httpxclient.py,sha256=oLpCP2RChvnspS6Unl6ngmpY72yPokTfSqMm9m-7k38,13442
152
- scalebox_sdk-0.1.4.dist-info/licenses/LICENSE,sha256=9zP32kHlBovkfji1R6ptx3H7WjJJvnf4UuwTpfogmsY,1069
153
- scalebox_sdk-0.1.4.dist-info/METADATA,sha256=RvlBCa0gZ13UmTvg68jx4Nie_671TLzOIGUDouJaP6M,12327
154
- scalebox_sdk-0.1.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
155
- scalebox_sdk-0.1.4.dist-info/entry_points.txt,sha256=g7C1Trcg8EyvAGMnHpJ3alqtZzQuMypYUQVFK13kOFM,47
156
- scalebox_sdk-0.1.4.dist-info/top_level.txt,sha256=CDjlibkbOG-MT-s1TRxs4Xe_iN1m11ii48spB6DOMj4,9
157
- scalebox_sdk-0.1.4.dist-info/RECORD,,
152
+ scalebox_sdk-0.1.25.dist-info/licenses/LICENSE,sha256=9zP32kHlBovkfji1R6ptx3H7WjJJvnf4UuwTpfogmsY,1069
153
+ scalebox_sdk-0.1.25.dist-info/METADATA,sha256=7DZSbNiKGJ-JXtyzZmMXmZSjdB_RjKKPHx910KpO1rg,12736
154
+ scalebox_sdk-0.1.25.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
155
+ scalebox_sdk-0.1.25.dist-info/entry_points.txt,sha256=g7C1Trcg8EyvAGMnHpJ3alqtZzQuMypYUQVFK13kOFM,47
156
+ scalebox_sdk-0.1.25.dist-info/top_level.txt,sha256=CDjlibkbOG-MT-s1TRxs4Xe_iN1m11ii48spB6DOMj4,9
157
+ scalebox_sdk-0.1.25.dist-info/RECORD,,