Files
e2b-dev--e2b/CLAUDE.md
T
Mish Ushakov be4eb5fd96 chore(python-sdk): migrate from Poetry to uv (#1513)
Migrates the Python SDK's packaging and CI from Poetry to
[uv](https://docs.astral.sh/uv/): `pyproject.toml` is converted to PEP
621 metadata using uv's native `uv_build` backend (verified to produce a
byte-equivalent wheel containing both `e2b` and `e2b_connect`),
`poetry.lock` is replaced with `uv.lock`, and the `Makefile`,
`package.json` scripts, `.tool-versions`, `CLAUDE.md`, and all six
GitHub workflows now use `uv` (`astral-sh/setup-uv` + `uv
sync`/`build`/`version`/`publish`). It also drops the now-redundant
explicit sync steps (since `uv run` auto-syncs) and removes the orphaned
`pydoc-markdown` dev dependency, whose only consumer was deleted long
ago — trimming 58 packages from the dev lockfile.

## Usage

```sh
cd packages/python-sdk
uv sync          # install deps (replaces `poetry install`)
uv run pytest    # run tests
uv build         # build the wheel/sdist
make lint        # ruff (run via `uv run`)
```

No user-facing SDK change — packaging/tooling only — so no changeset is
included; the published package contents are unchanged.

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 14:00:43 -07:00

848 B

Use pnpm for node and uv for python to install and update dependencies. Run pnpm run format, pnpm run lint and pnpm run typecheck before committing changes. When modifying the SDK packages, ensure equivalent changes are applied to both JS as well as sync and async Python implementations. To re-generate the API client run make codegen in the repository root when modifying spec/. Create or update tests covering affected codepaths and run them using pnpm run test. Generate a changeset when updating packages/cli, packages/js-sdk, packages/python-sdk with pnpm changeset in the repository root. When creating a pull request, add usage examples for user-facing changes to the PR description. Keep PR descriptions up-to-date with changes. Default credentials are stored in .env.local in the repository root or inside ~/.e2b/config.json.