Skip to content

Conversation

@mishushakov
Copy link
Member

@mishushakov mishushakov commented Feb 9, 2026

Summary

  • Relaxes numpy constraint from ^1.26.4 to >=1.26.4 to allow numpy 2.x compatibility
  • Bumps matplotlib, pydantic, pytest, and python-dotenv to latest versions
  • Regenerates poetry.lock

Test plan

  • Run poetry install in chart_data_extractor/ and verify resolution
  • Run poetry run pytest to ensure tests pass

🤖 Generated with Claude Code


Note

Medium Risk
Dependency upgrades include major-version jumps (numpy 2.x, matplotlib 3.10, pytest 8) and raise the minimum Python version to 3.11, which can cause runtime or compatibility issues despite small code changes.

Overview
Updates e2b-charts to target Python ^3.11 and bumps core dependencies to newer major/minor versions, including numpy 2.x, matplotlib 3.10.x, pydantic 2.9.x, and dev tooling (pytest 8.x, python-dotenv 1.2.x). The poetry.lock is regenerated accordingly (including added/removed transitive deps and updated constraints).

Adjusts pie chart extraction in charts/pie.py to coerce wedge angles (theta1/theta2) through float before Decimal arithmetic, likely to avoid type incompatibilities with updated matplotlib/numpy versions. Adds a changeset marking @e2b/data-extractor for a minor release due to dependency updates.

Written by Cursor Bugbot for commit d4eee4a. This will update automatically on new commits. Configure here.

- Change numpy from ^1.26.4 to >=1.26.4 to allow numpy 2.x
- Bump matplotlib to ^3.10.3, pydantic to ^2.9.1
- Bump dev deps: pytest to ^8.3.5, python-dotenv to ^1.2.1
- Regenerate poetry.lock

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mishushakov
Copy link
Member Author

mishushakov commented Feb 9, 2026

Test run, but I think I will explicitly update it to numpy v2 to see if it's not breaking the chart extraction (since our other PR requires numpy 2)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
numpy ^2.3.5 requires Python >=3.11; bumping to ^3.13 per project needs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

mishushakov and others added 3 commits February 9, 2026 16:00
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
numpy.float32 no longer implicitly converts to Decimal in numpy 2.x.
Wrap with float() before passing to Decimal.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
pie_data = PieData(
label=wedge.get_label(),
angle=abs(dynamic_round(Decimal(wedge.theta2) - Decimal(wedge.theta1))),
angle=abs(dynamic_round(Decimal(float(wedge.theta2)) - Decimal(float(wedge.theta1)))),
Copy link
Member Author

Choose a reason for hiding this comment

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

numpy 2.x removed implicit conversion from numpy.float32 to Decimal, so wrapping with float() first resolves it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant