8be34f8344
Fixes issue https://github.com/e2b-dev/E2B/issues/1032 <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Preserve Dockerfile USER/WORKDIR when provided and only apply E2B defaults if absent, with tests and CLI fixtures updated accordingly. > > - **Dockerfile parsing (SDKs)**: > - **JS (`packages/js-sdk/src/template/dockerfileParser.ts`)**: Track `USER`/`WORKDIR` usage and only set E2B defaults (`user`, `/home/user`) if not specified; keep Docker defaults (`root`, `/`) initially. > - **Python (`packages/python-sdk/e2b/template/dockerfile_parser.py`)**: Same behavior—preserve explicit `USER`/`WORKDIR`, fallback to defaults only when absent. > - **Tests**: > - **JS**: Add tests for default vs. custom `USER`/`WORKDIR` in `fromMethods.test.ts`. > - **Python (async/sync)**: Add analogous tests in `test_from_methods.py`. > - **CLI template fixtures**: > - Update expected outputs to remove redundant `.set_user('user')`/`.set_workdir('/home/user')` when already specified; minor ordering tweak for `.setStartCmd` in TS fixture. > - **Changeset**: > - Minor version bumps for `@e2b/python-sdk` and `e2b`; note: keep Docker `WORKDIR` and `USER` if specified. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 1ce66362501932308292cef87b5d8a73012ee5f2. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
What is E2B?
E2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud. To start and control sandboxes, use our JavaScript SDK or Python SDK.
Run your first Sandbox
1. Install SDK
pip install e2b-code-interpreter
2. Get your E2B API key
E2B_API_KEY=e2b_***
3. Execute code with code interpreter inside Sandbox
from e2b_code_interpreter import Sandbox
with Sandbox.create() as sandbox:
sandbox.run_code("x = 1")
execution = sandbox.run_code("x+=1; x")
print(execution.text) # outputs 2
4. Check docs
Visit E2B documentation.
5. E2B cookbook
Visit our Cookbook to get inspired by examples with different LLMs and AI frameworks.
