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.
- scalebox/__init__.py +1 -1
- scalebox/api/__init__.py +128 -128
- scalebox/api/client/__init__.py +8 -8
- scalebox/api/client/api/sandboxes/get_sandboxes.py +5 -3
- scalebox/api/client/api/sandboxes/get_sandboxes_sandbox_id_metrics.py +2 -2
- scalebox/api/client/api/sandboxes/post_sandboxes.py +2 -2
- scalebox/api/client/client.py +288 -288
- scalebox/api/client/models/listed_sandbox.py +11 -9
- scalebox/api/client/models/new_sandbox.py +1 -1
- scalebox/api/client/models/sandbox.py +125 -125
- scalebox/api/client/models/sandbox_state.py +1 -0
- scalebox/api/client/types.py +46 -46
- scalebox/code_interpreter/code_interpreter_async.py +370 -369
- scalebox/code_interpreter/code_interpreter_sync.py +318 -317
- scalebox/connection_config.py +92 -92
- scalebox/csx_desktop/main.py +12 -12
- scalebox/generated/api_pb2_connect.py +17 -66
- scalebox/sandbox_async/commands/command.py +307 -307
- scalebox/sandbox_async/commands/command_handle.py +187 -187
- scalebox/sandbox_async/commands/pty.py +187 -187
- scalebox/sandbox_async/filesystem/filesystem.py +557 -557
- scalebox/sandbox_async/filesystem/watch_handle.py +61 -61
- scalebox/sandbox_async/main.py +647 -646
- scalebox/sandbox_async/sandbox_api.py +365 -365
- scalebox/sandbox_async/utils.py +7 -7
- scalebox/sandbox_sync/__init__.py +2 -2
- scalebox/sandbox_sync/commands/command.py +300 -300
- scalebox/sandbox_sync/commands/command_handle.py +150 -150
- scalebox/sandbox_sync/commands/pty.py +181 -181
- scalebox/sandbox_sync/filesystem/filesystem.py +543 -543
- scalebox/sandbox_sync/filesystem/watch_handle.py +66 -66
- scalebox/sandbox_sync/main.py +789 -790
- scalebox/sandbox_sync/sandbox_api.py +356 -356
- scalebox/test/CODE_INTERPRETER_TESTS_READY.md +256 -256
- scalebox/test/README.md +164 -164
- scalebox/test/aclient.py +72 -72
- scalebox/test/code_interpreter_centext.py +21 -21
- scalebox/test/code_interpreter_centext_sync.py +21 -21
- scalebox/test/code_interpreter_test.py +1 -1
- scalebox/test/code_interpreter_test_sync.py +1 -1
- scalebox/test/run_all_validation_tests.py +334 -334
- scalebox/test/test_basic.py +78 -78
- scalebox/test/test_code_interpreter_async_comprehensive.py +2653 -2653
- scalebox/test/{test_code_interpreter_e2bsync_comprehensive.py → test_code_interpreter_execcode.py} +328 -392
- scalebox/test/test_code_interpreter_sync_comprehensive.py +3416 -3412
- scalebox/test/test_csx_desktop_examples.py +130 -0
- scalebox/test/test_sandbox_async_comprehensive.py +736 -738
- scalebox/test/test_sandbox_stress_and_edge_cases.py +778 -778
- scalebox/test/test_sandbox_sync_comprehensive.py +779 -770
- scalebox/test/test_sandbox_usage_examples.py +987 -987
- scalebox/test/testacreate.py +24 -24
- scalebox/test/testagetinfo.py +18 -18
- scalebox/test/testcodeinterpreter_async.py +508 -508
- scalebox/test/testcodeinterpreter_sync.py +239 -239
- scalebox/test/testcomputeuse.py +2 -2
- scalebox/test/testnovnc.py +12 -12
- scalebox/test/testsandbox_api.py +15 -0
- scalebox/test/testsandbox_async.py +202 -118
- scalebox/test/testsandbox_sync.py +71 -38
- scalebox/version.py +2 -2
- {scalebox_sdk-0.1.4.dist-info → scalebox_sdk-0.1.25.dist-info}/METADATA +104 -103
- {scalebox_sdk-0.1.4.dist-info → scalebox_sdk-0.1.25.dist-info}/RECORD +66 -66
- scalebox/test/test_code_interpreter_e2basync_comprehensive.py +0 -2655
- scalebox/test/test_e2b_first.py +0 -11
- {scalebox_sdk-0.1.4.dist-info → scalebox_sdk-0.1.25.dist-info}/WHEEL +0 -0
- {scalebox_sdk-0.1.4.dist-info → scalebox_sdk-0.1.25.dist-info}/entry_points.txt +0 -0
- {scalebox_sdk-0.1.4.dist-info → scalebox_sdk-0.1.25.dist-info}/licenses/LICENSE +0 -0
- {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.
|
|
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.
|
|
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.
|
|
34
|
-
Requires-Dist: grpcio-tools>=1.
|
|
35
|
-
Requires-Dist: protobuf>=4.
|
|
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
|
[](https://pycqa.github.io/isort/)
|
|
71
69
|
[](https://github.com/scalebox-dev/scalebox-sdk-python)
|
|
72
70
|
|
|
73
|
-
|
|
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
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
107
|
+
## Configuration
|
|
108
|
+
Credentials can be read from environment variables or a `.env` file:
|
|
109
109
|
|
|
110
|
-
- `SBX_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
|
-
|
|
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() #
|
|
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
|
|
156
|
-
- R
|
|
157
|
-
- Node.js
|
|
158
|
-
- Deno/TypeScript
|
|
159
|
-
- Java
|
|
160
|
-
- 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
280
|
+
Use `list(result.formats())` to view available formats.
|
|
280
281
|
|
|
281
|
-
##
|
|
282
|
-
|
|
283
|
-
-
|
|
284
|
-
-
|
|
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
|
-
|
|
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
|
-
##
|
|
297
|
+
## Version Management
|
|
297
298
|
|
|
298
|
-
|
|
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
|
-
#
|
|
306
|
+
# Bump patch version (0.1.1 -> 0.1.2)
|
|
306
307
|
python scripts/bump_version.py patch
|
|
307
308
|
|
|
308
|
-
#
|
|
309
|
+
# Bump minor version (0.1.1 -> 0.2.0)
|
|
309
310
|
python scripts/bump_version.py minor
|
|
310
311
|
|
|
311
|
-
#
|
|
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
|
-
#### 🚀
|
|
318
|
+
#### 🚀 Method 1: GitHub Actions One-Click Bump (Recommended)
|
|
318
319
|
|
|
319
|
-
1.
|
|
320
|
-
2.
|
|
321
|
-
3.
|
|
322
|
-
4.
|
|
323
|
-
- `patch`:
|
|
324
|
-
- `minor`:
|
|
325
|
-
- `major`:
|
|
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
|
-
#### 🔧
|
|
330
|
+
#### 🔧 Method 2: Local Script Bump
|
|
330
331
|
|
|
331
|
-
1.
|
|
332
|
-
2. **GitHub Actions
|
|
333
|
-
3.
|
|
334
|
-
-
|
|
335
|
-
-
|
|
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
|
|
363
|
+
# 5. GitHub Actions will automatically publish to PyPI
|
|
363
364
|
```
|
|
364
365
|
|
|
365
|
-
### 🏷️
|
|
366
|
+
### 🏷️ Version Rules
|
|
366
367
|
|
|
367
|
-
- **MAJOR
|
|
368
|
-
- **MINOR
|
|
369
|
-
- **PATCH
|
|
368
|
+
- **MAJOR**: Incompatible API changes
|
|
369
|
+
- **MINOR**: Backward-compatible feature additions
|
|
370
|
+
- **PATCH**: Backward-compatible bug fixes
|
|
370
371
|
|
|
371
|
-
##
|
|
372
|
-
- Import
|
|
373
|
-
-
|
|
374
|
-
-
|
|
375
|
-
-
|
|
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
|
-
|
|
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=
|
|
1
|
+
scalebox/__init__.py,sha256=ZdLSSM1QaZcuGmO6T3-MeqhC_oz130RRDnbS6QxHUmg,1812
|
|
2
2
|
scalebox/cli.py,sha256=HWIyGuhbP1WZm839CwTysauL78xMBOoatFychxzloxQ,3904
|
|
3
|
-
scalebox/connection_config.py,sha256=
|
|
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=
|
|
7
|
-
scalebox/api/__init__.py,sha256=
|
|
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=
|
|
10
|
-
scalebox/api/client/client.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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
|
|
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=
|
|
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=
|
|
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=
|
|
75
|
-
scalebox/code_interpreter/code_interpreter_sync.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
103
|
-
scalebox/sandbox_async/sandbox_api.py,sha256=
|
|
104
|
-
scalebox/sandbox_async/utils.py,sha256
|
|
105
|
-
scalebox/sandbox_async/commands/command.py,sha256=
|
|
106
|
-
scalebox/sandbox_async/commands/command_handle.py,sha256=
|
|
107
|
-
scalebox/sandbox_async/commands/pty.py,sha256=
|
|
108
|
-
scalebox/sandbox_async/filesystem/filesystem.py,sha256=
|
|
109
|
-
scalebox/sandbox_async/filesystem/watch_handle.py,sha256=
|
|
110
|
-
scalebox/sandbox_sync/__init__.py,sha256=
|
|
111
|
-
scalebox/sandbox_sync/main.py,sha256=
|
|
112
|
-
scalebox/sandbox_sync/sandbox_api.py,sha256=
|
|
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=
|
|
115
|
-
scalebox/sandbox_sync/commands/command_handle.py,sha256=
|
|
116
|
-
scalebox/sandbox_sync/commands/pty.py,sha256=
|
|
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=
|
|
119
|
-
scalebox/sandbox_sync/filesystem/watch_handle.py,sha256=
|
|
120
|
-
scalebox/test/CODE_INTERPRETER_TESTS_READY.md,sha256=
|
|
121
|
-
scalebox/test/README.md,sha256=
|
|
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=
|
|
124
|
-
scalebox/test/code_interpreter_centext.py,sha256=
|
|
125
|
-
scalebox/test/code_interpreter_centext_sync.py,sha256=
|
|
126
|
-
scalebox/test/code_interpreter_test.py,sha256=
|
|
127
|
-
scalebox/test/code_interpreter_test_sync.py,sha256=
|
|
128
|
-
scalebox/test/run_all_validation_tests.py,sha256=
|
|
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=
|
|
132
|
-
scalebox/test/test_code_interpreter_async_comprehensive.py,sha256=
|
|
133
|
-
scalebox/test/
|
|
134
|
-
scalebox/test/
|
|
135
|
-
scalebox/test/
|
|
136
|
-
scalebox/test/
|
|
137
|
-
scalebox/test/
|
|
138
|
-
scalebox/test/
|
|
139
|
-
scalebox/test/
|
|
140
|
-
scalebox/test/
|
|
141
|
-
scalebox/test/
|
|
142
|
-
scalebox/test/
|
|
143
|
-
scalebox/test/
|
|
144
|
-
scalebox/test/
|
|
145
|
-
scalebox/test/
|
|
146
|
-
scalebox/test/
|
|
147
|
-
scalebox/test/testsandbox_async.py,sha256=
|
|
148
|
-
scalebox/test/testsandbox_sync.py,sha256=
|
|
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.
|
|
153
|
-
scalebox_sdk-0.1.
|
|
154
|
-
scalebox_sdk-0.1.
|
|
155
|
-
scalebox_sdk-0.1.
|
|
156
|
-
scalebox_sdk-0.1.
|
|
157
|
-
scalebox_sdk-0.1.
|
|
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,,
|