Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/bundle-e2b-charts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@e2b/code-interpreter-template': patch
---

Install the chart data extractor (`e2b_charts`) from `template/charts` in the repository instead of PyPI. `e2b-charts` is no longer published; chart changes now ship with template releases.
1 change: 0 additions & 1 deletion .github/scripts/build_release_itinerary.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ const path = require('path')
// Packages are listed in this order; anything not named here still shows up,
// under its workspace name, after the ones that are.
const labels = {
'@e2b/data-extractor': 'Charts (e2b-charts)',
'@e2b/code-interpreter-template': 'Sandbox template (code-interpreter)',
}

Expand Down
7 changes: 0 additions & 7 deletions .github/workflows/build_test_template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,6 @@ jobs:
uppercase: 'true'
prefix: 'tool_version_'

- name: Set package version
working-directory: ./template
run: |
VERSION=$(cat ../chart_data_extractor/pyproject.toml | grep version | cut -d '"' -f 2)
echo "Version: $VERSION"
sed -i "s/e2b_charts/e2b_charts==${VERSION}/g" requirements.txt

- name: Install uv
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
with:
Expand Down
41 changes: 0 additions & 41 deletions .github/workflows/charts_tests.yml

This file was deleted.

1 change: 0 additions & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ jobs:

- name: Install Python dependencies
run: |
(cd chart_data_extractor && uv sync --locked)
(cd tests && uv sync --locked)
uv tool install ruff==0.11.12

Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,5 +37,3 @@ jobs:
with:
E2B_DOMAIN: ${{ vars.E2B_DOMAIN }}
E2B_TESTS_TEMPLATE: ${{ needs.build-template.outputs.template_id }}
charts-tests:
uses: ./.github/workflows/charts_tests.yml
88 changes: 5 additions & 83 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ jobs:
runs-on: ubuntu-latest
outputs:
release: ${{ steps.version.outputs.release }}
charts: ${{ steps.charts.outputs.release }}
template: ${{ steps.template.outputs.release }}
itinerary: ${{ steps.itinerary.outputs.itinerary }}
steps:
Expand Down Expand Up @@ -72,13 +71,6 @@ jobs:
IS_RELEASE=$(./.github/scripts/is_release.sh)
echo "release=$IS_RELEASE" >> "$GITHUB_OUTPUT"

- name: Check Charts SDK Release
id: charts
if: steps.version.outputs.release == 'true'
run: |
IS_RELEASE=$(./.github/scripts/is_release_for_package.sh "@e2b/data-extractor")
echo "release=$IS_RELEASE" >> "$GITHUB_OUTPUT"

- name: Check Template SDK Release
id: template
if: steps.version.outputs.release == 'true'
Expand All @@ -102,71 +94,13 @@ jobs:
echo "EOF"
} >> "$GITHUB_OUTPUT"

charts-release:
name: Charts release
needs: [preflight]
if: needs.preflight.outputs.charts == 'true'
runs-on: ubuntu-latest
outputs:
version: ${{ steps.output_version.outputs.version }}
steps:
- name: Checkout Repo
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0

- name: Parse .tool-versions
uses: wistia/parse-tool-versions@32f568a4ffd4bfa7720ebf93f171597d1ebc979a # v2.1.1
with:
filename: '.tool-versions'
uppercase: 'true'
prefix: 'tool_version_'

- name: Install pnpm
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
id: pnpm-install
with:
version: ${{ env.TOOL_VERSION_PNPM }}

- name: Install uv
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
with:
version: '${{ env.TOOL_VERSION_UV }}'
python-version: '${{ env.TOOL_VERSION_PYTHON }}'
enable-cache: true

- name: Configure pnpm
run: |
pnpm config set auto-install-peers true
pnpm config set exclude-links-from-lockfile true

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Create new versions
run: pnpm run version
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Release new versions
# OIDC trusted publishing (`id-token: write` above), as in e2b-dev/E2B,
# instead of a long-lived PyPI token that expires and 403s the release.
run: |
uv build
uv publish --trusted-publishing always --check-url https://pypi.org/simple/
working-directory: ./chart_data_extractor

- name: Output new version
id: output_version
working-directory: ./chart_data_extractor
run: |
echo "version=$(pnpm pkg get version --workspaces=false | tr -d \\\")" >> "$GITHUB_OUTPUT"

build-docker-image:
name: Build Docker Image
runs-on: ubuntu-latest
needs: [preflight, charts-release]
needs: [preflight]
if: (!cancelled()) &&
!contains(needs.*.result, 'failure') &&
(needs.preflight.outputs.template == 'true' || needs.preflight.outputs.charts == 'true')
needs.preflight.outputs.template == 'true'
steps:
- name: Checkout repository
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
Expand All @@ -187,18 +121,6 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Set package version
working-directory: ./template
run: |
if [ -z "${{ needs.charts-release.outputs.version }}" ]; then
VERSION=$(cat ../chart_data_extractor/pyproject.toml | grep version | cut -d '"' -f 2)
else
VERSION=${{ needs.charts-release.outputs.version }}
fi
echo "Version: $VERSION"

sed -i "s/e2b_charts/e2b_charts==${VERSION}/g" requirements.txt

- name: Install uv
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
with:
Expand All @@ -224,7 +146,7 @@ jobs:
needs: [preflight, build-docker-image]
if: (!cancelled()) &&
!contains(needs.*.result, 'failure') &&
(needs.preflight.outputs.template == 'true' || needs.preflight.outputs.charts == 'true')
needs.preflight.outputs.template == 'true'
steps:
- name: Checkout repository
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
Expand Down Expand Up @@ -260,7 +182,7 @@ jobs:
# Every upstream job is listed, not just the last one: a job that fails makes
# its dependents *skip*, and a skipped job is not a failure — so gating on
# `needs.*.result` only works for the jobs this one depends on directly.
needs: [preflight, charts-release, build-docker-image, build-template]
needs: [preflight, build-docker-image, build-template]
if: (!cancelled()) &&
!contains(needs.*.result, 'failure') &&
needs.preflight.outputs.release == 'true'
Expand Down Expand Up @@ -395,7 +317,7 @@ jobs:
report-failure:
# `preflight` included so a failure there is reported too, whether or not
# `failure()` looks past this job's direct dependencies.
needs: [preflight, charts-release, build-docker-image, build-template, release]
needs: [preflight, build-docker-image, build-template, release]
if: failure()
name: Code Interpreter Release Failed - Slack Notification
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
<img width="100%" src="/readme-assets/preview.png" alt="Cover image">
--->
> [!NOTE]
> The `@e2b/code-interpreter` and `e2b-code-interpreter` SDK sources now live in the [E2B monorepo](https://github.com/e2b-dev/E2B), under `packages/code-interpreter-js` and `packages/code-interpreter-python`. Open SDK issues and pull requests there. This repository keeps the sandbox template and the chart data extractor.
> The `@e2b/code-interpreter` and `e2b-code-interpreter` SDK sources now live in the [E2B monorepo](https://github.com/e2b-dev/E2B), under `packages/code-interpreter-js` and `packages/code-interpreter-python`. Open SDK issues and pull requests there. This repository keeps the sandbox template, which bundles the chart data extractor (`template/charts`).

## What is E2B?
[E2B](https://e2b.dev/?utm_source=github&utm_medium=referral&utm_campaign=readme&utm_content=code-interpreter) 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](https://www.npmjs.com/package/@e2b/code-interpreter) or [Python SDK](https://pypi.org/project/e2b_code_interpreter).
Expand Down
7 changes: 0 additions & 7 deletions chart_data_extractor/CHANGELOG.md

This file was deleted.

18 changes: 0 additions & 18 deletions chart_data_extractor/package.json

This file was deleted.

49 changes: 0 additions & 49 deletions chart_data_extractor/tests/charts/test_bar.py

This file was deleted.

9 changes: 0 additions & 9 deletions chart_data_extractor/tests/charts/test_blank.py

This file was deleted.

57 changes: 0 additions & 57 deletions chart_data_extractor/tests/charts/test_box_and_whiskers.py

This file was deleted.

Loading
Loading