98d2c8c0a8
This takes some shortcuts in order to keep backwards compatibility. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Reuses a singleton httpx transport/client across the SDK, introduces a generic retry decorator for connect calls, and refactors code/tests to use the shared clients and fixtures. > > - **SDK (transport/client reuse)** > - Add global `limits` (configurable via `E2B_*` env vars) and switch `ApiClient` to accept `transport` instead of `limits`. > - Introduce `e2b.api.client_async/client_sync` with `get_transport()` (singleton) and `get_api_client()`; update `Sandbox`/`AsyncSandbox`, paginators, and sandbox APIs to use them. > - Remove per-class `_limits` from `SandboxBase`/`TemplateBase`; merge extra headers correctly; pass `E2b-Sandbox-Port` as string. > - Template build flows (sync/async) now reuse the API client's underlying httpx client for file uploads. > - **Connect client** (`e2b_connect/client.py`) > - Add `_retry` decorator and apply to unary/server-stream methods; simplify reconnection logic; minor typing/headers cleanups. > - **Tests** > - Add retry unit tests; introduce `sandbox_factory`/`async_sandbox_factory` and a session `event_loop`; refactor tests to use factories and shared transports; adjust tar archive expectations. > - **Misc** > - Add `.editorconfig`, CLI `.envrc`, and changeset entries. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 1d359231b63dc21b6c8d797886f7d6a77c9ed6b7. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Tomas Valenta <valenta.and.thomas@gmail.com> Co-authored-by: Mish <10400064+mishushakov@users.noreply.github.com>
E2B CLI
This CLI tool allows you to build manager your running E2B sandbox and sandbox templates. Learn more in our documentation.
1. Install the CLI
Using Homebrew (on macOS)
brew install e2b
Using NPM
npm install -g @e2b/cli
2. Authenticate
e2b auth login
Note
To authenticate without the ability to open the browser, provide
E2B_ACCESS_TOKENas an environment variable. You can find your token in Account Settings under the Team selector at e2b.dev/dashboard. Then use the CLI like this:E2B_ACCESS_TOKEN=sk_e2b_... e2b template build.
Important
Note the distinction between
E2B_ACCESS_TOKENandE2B_API_KEY.
3. Check out docs
Visit our CLI documentation to learn more.
