Skip to content

chore: Pillow/numpy/robotics extras を bump し Python 3.13/3.14 を CI に追加#275

Open
rikunosuke wants to merge 7 commits into
mainfrom
feature/bump-pillow
Open

chore: Pillow/numpy/robotics extras を bump し Python 3.13/3.14 を CI に追加#275
rikunosuke wants to merge 7 commits into
mainfrom
feature/bump-pillow

Conversation

@rikunosuke
Copy link
Copy Markdown
Contributor

@rikunosuke rikunosuke commented May 19, 2026

概要

#273 の Phase B + Phase C を 1 PR にまとめて対応。

  • Pillow: >=10.0.0,<11.0.0>=11.0.0,<13.0.0(Python 3.13/3.14 wheel 対応)
  • numpy: >=1.26.0,<2.0.0>=1.26.0,<3.0.0(1.x / 2.x 両対応)
  • requires-python: >=3.8>=3.10(Python 3.8/3.9 サポート終了)
  • robotics extras: pandas>=2.0.0>=2.2.2pyarrow>=14.0.0>=18.0.0(numpy 2 / Python 3.13+ 対応)
  • release.yml: Python 3.83.10
  • test.yml: matrix を Python 3.10–3.14 × numpy 1.26 / 2.x に拡張(3.13/3.14 + numpy 1.26 は wheel 未提供のため exclude)。robotics extras も install して pandas/pyarrow も実行。
  • Pillow / pandas / pyarrow の利用箇所をカバーする smoke テストを追加し、今後のメジャー bump で API 破壊が CI で検出されるように。

変更点

pyproject.toml / requirements.txt

項目 変更前 変更後
requires-python >=3.8 >=3.10
numpy >=1.26.0,<2.0.0 >=1.26.0,<3.0.0
Pillow >=10.0.0,<11.0.0 >=11.0.0,<13.0.0
pandas (robotics) >=2.0.0 >=2.2.2
pyarrow (robotics) >=14.0.0 >=18.0.0

.github/workflows/test.yml

matrix:
  python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
  numpy-version: ["1.26.*", "2.*"]
  exclude:
    - python-version: "3.13"
      numpy-version: "1.26.*"
    - python-version: "3.14"
      numpy-version: "1.26.*"

コードへの影響

  • numpy 2.0 で削除された API(np.float_, np.NaN, np.product 等)は未使用
  • 使用 API(np.array, np.vstack, np.uint8, np.int32, Image.open/new/fromarray/composite, pd.read_parquet, iterrows 等)は対象範囲で安定
  • コード本体の修正は不要

テスト計画

  • Pillow 11.3.0 / numpy 2.0.2 / pandas 2.3.3 / pyarrow 21.0.0 で pytest 全 40 件パス
  • 旧下限(Pillow 10.4.0 / numpy 1.26 / pandas 2.0.0 / pyarrow 14.0.0)でも新テスト通過を確認
  • CI matrix (3.10-3.14 × numpy 1.26/2.x) が green

🤖 Generated with Claude Code

rikunosuke and others added 4 commits May 19, 2026 11:55
Adds smoke tests for __export_index_color_image and
__create_image_with_annotation so Pillow major-version bumps
surface API breakage in CI.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Phase B of #273. Pillow 11/12 wheels are required for Python 3.13/3.14.
Used APIs (Image.open/new/fromarray/composite, convert, putpalette, save,
ImageDraw, ImageColor) have no breaking changes across 10 -> 12.
Covered by tests/test_pillow_exports.py.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds smoke tests for _build_episode_map, _convert_episode_frames,
get_episode_indices, and check_dependencies so pandas/pyarrow
version bumps surface API breakage in CI.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Part of #273 Phase B. These lower bounds are required for numpy 2
compatibility and Python 3.13/3.14 wheel availability, in preparation
for Phase C.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@rikunosuke rikunosuke changed the title chore: bump Pillow to >=11.0.0,<13.0.0 and robotics extras chore: Pillow を >=11.0.0,<13.0.0 へ、robotics extras を更新 May 19, 2026
rikunosuke and others added 2 commits May 19, 2026 12:33
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- numpy: >=1.26.0,<2.0.0 -> >=1.26.0,<3.0.0 (1.x/2.x both supported)
- requires-python: >=3.8 -> >=3.10
- release.yml: Python 3.8 -> 3.10
- test.yml: matrix Python 3.10-3.14 x numpy 1.26 / 2.x
  (3.13/3.14 excluded for numpy 1.26 since no wheels exist)
- test.yml: also install robotics extras to exercise pandas/pyarrow

numpy 2.0 removed APIs (np.float_, np.NaN, np.product, etc.) are not used.
Used APIs (np.array, np.vstack, np.uint8, np.int32) are stable across 1/2.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@rikunosuke rikunosuke changed the title chore: Pillow を >=11.0.0,<13.0.0 へ、robotics extras を更新 chore: Pillow/numpy/robotics extras を bump し Python 3.13/3.14 を CI に追加 May 19, 2026
@rikunosuke rikunosuke self-assigned this May 19, 2026
@rikunosuke rikunosuke requested a review from Copilot May 19, 2026 03:38
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Bumps Pillow / numpy / robotics extras to versions that support Python 3.13–3.14, raises the minimum Python to 3.10, expands the CI matrix accordingly, and adds smoke tests so future major-version bumps of Pillow / pandas / pyarrow are caught by CI.

Changes:

  • Update requires-python to >=3.10; widen numpy to <3.0.0, bump Pillow to >=11.0.0,<13.0.0, and bump robotics extras (pandas>=2.2.2, pyarrow>=18.0.0).
  • Expand test.yml matrix to Python 3.10–3.14 × numpy 1.26/2.x (excluding 3.13/3.14 + numpy 1.26), install robotics extras, and pin numpy per matrix; bump release.yml Python to 3.10.
  • Add tests/test_pillow_exports.py and tests/test_lerobot_v3_parquet.py smoke tests covering Pillow / pandas / pyarrow usage.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pyproject.toml Raise min Python to 3.10; widen numpy/Pillow; bump robotics extras.
requirements.txt Mirror numpy/Pillow bumps in requirements file.
.github/workflows/test.yml Expand matrix to Python 3.10–3.14 × numpy 1.26/2.x; install robotics extras.
.github/workflows/release.yml Bump release Python from 3.8 to 3.10.
tests/test_pillow_exports.py New smoke tests for Pillow-using code paths.
tests/test_lerobot_v3_parquet.py New smoke tests for pandas/pyarrow code paths in lerobot v3.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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.

2 participants