Metadata-Version: 2.5
Name: render-lab-tasks-e2b
Version: 0.1.0
Summary: e2b tasks for Render Workflows
Project-URL: Repository, https://github.com/render-lab/render-tasks-python
License-Expression: MIT
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: e2b-code-interpreter==2.9.2
Requires-Dist: e2b==2.46.4
Requires-Dist: httpx<0.29,>=0.28
Requires-Dist: render-lab-tasks-core<0.2,>=0.1.1
Requires-Dist: render==1.0.1
Description-Content-Type: text/markdown

# render-lab-tasks-e2b

Twelve E2B sandbox lifecycle, execution, filesystem, logs, and metrics tasks.
Wrapped tasks and raw injectable implementations live in `render_lab_tasks_e2b.tasks`.
The root does not register tasks or read credentials.

## Environment

`E2B_API_KEY` is required lazily. `E2B_API_URL` optionally overrides the control-plane
API and logs endpoint. The adapter defaults `E2B_CONNECTION_RETRIES` to `0` before
loading the SDK. If your application imports E2B independently, set that variable
to `0` before starting the process; the adapter rejects an SDK already initialized
with retries. The SDK versions are pinned because this setting is captured at import.

## Behavior and verification

Create finds running or paused sandboxes by caller idempotency key. Pause, resume,
and kill use the official async SDK. Task timeout fields stay in milliseconds and
are converted to SDK seconds. Nonzero command exits return their exit code/output.
Code, text, binary, and collection results use explicit limits. File metadata is
checked before reading, then the stream is checked again and closed on overflow.
No file is written onto the workflow host. Execution result text shares one budget,
and the complete code result is capped at 4 MB. See ADR-0017 for stricter bounds.

Source fixtures compare all twelve tasks and SDK arguments independently with TS.
Additional tests cover file growth and SDK retry configuration. Live sandbox tests
remain pending an E2B account and disposable sandbox resources.

## Installation

```sh
pip install render-lab-tasks-e2b==0.1.0
```
