Skip to content

chore: migrate chart_data_extractor and CI from Poetry to uv - #341

Merged
mishushakov merged 1 commit into
mainfrom
devin/1790764218-uv-stack
Sep 30, 2026
Merged

mishushakov merged 1 commit into
mainfrom
devin/1790764218-uv-stack

Conversation

@devin-ai-integration

Copy link
Copy Markdown
Contributor

Summary

Replaces Poetry with uv, matching the E2B monorepo (uv 0.10.0, astral-sh/setup-uv@v6.8.0, uv_build backend).

  • chart_data_extractor: [tool.poetry] → PEP 621 [project] + [dependency-groups] dev, with uv_build as the build backend. poetry.lock → uv.lock, generated with migrate-to-uv so every locked version stays the same (I diffed the name/version pairs across all 26 packages). Caret ranges are now explicit (^2.2.6 → >=2.2.6,<3).
    • license-files = ["LICENSE"] was added because Poetry included LICENSE automatically and uv_build does not. With it, the sdist and wheel contain the same files as the Poetry build.
    • package.json scripts switch from poetry … to uv …. postVersion is now uv version <v>, which also updates uv.lock. The release commit already runs git add -A, so the lockfile ends up in it.
  • .tool-versions: poetry 2.1.1 → uv 0.10.0.
  • Workflows: every setup-python + snok/install-poetry pair is replaced with setup-uv.
    • charts tests: uv sync --locked / uv build / uv run pytest
    • lint: uv sync --locked, and the global pip install ruff becomes uv tool install ruff==0.11.12
    • charts release: uv build && uv publish --check-url https://pypi.org/simple/ (this replaces --skip-existing). It still uses the CHARTS_PYPI_TOKEN secret, now passed as UV_PUBLISH_TOKEN, so nothing changes on PyPI.
    • template build jobs (test, prod, docker, release): setup-uv with activate-environment: true + uv pip install -r requirements-dev.txt. The python build_*.py steps are unchanged.

Not changed: the sandbox image itself (template.py still uses pip_install). No changeset, because the published e2b-charts package has no functional change.

Verified locally with uv 0.10.0: uv sync --locked, uv build, pytest (13 passed), ruff lint/format for both packages, uv version 1.0.1 → uv sync --locked still passes, and actionlint is clean.

Link to Devin session: https://app.devin.ai/sessions/9d57c61598ca48b8bb89122f271ecddb
Open in Devin Desktop: https://app.devin.ai/desktop/session/9d57c61598ca48b8bb89122f271ecddb?variant=devin
Requested by: @mishushakov

Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@cla-bot cla-bot Bot added the cla-signed label Sep 30, 2026
@mishushakov
mishushakov marked this pull request as ready for review September 30, 2026 10:56
@mishushakov
mishushakov self-requested a review as a code owner September 30, 2026 10:56

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review found no issues

No high-confidence issues detected in this change.

@mishushakov
mishushakov merged commit 11d8a0f into main Sep 30, 2026
12 checks passed
@mishushakov
mishushakov deleted the devin/1790764218-uv-stack branch September 30, 2026 11:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant