Skip to content

Support isort 8#3011

Merged
koxudaxi merged 1 commit intokoxudaxi:mainfrom
cjwatson:isort-8
Mar 3, 2026
Merged

Support isort 8#3011
koxudaxi merged 1 commit intokoxudaxi:mainfrom
cjwatson:isort-8

Conversation

@cjwatson
Copy link
Copy Markdown
Contributor

@cjwatson cjwatson commented Mar 1, 2026

The breaking change in isort 8 is to remove the setuptools plugin (see https://github.com/PyCQA/isort/releases), which this project doesn't use.

Summary by CodeRabbit

  • Chores
    • Expanded test matrix to include isort 8.x parallel testing environments.
    • Updated isort dependency version constraint to support isort 8.x releases.
    • Added isort8 dependency group for Python 3.10+.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 1, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9955314 and f1e2f36.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock, !**/*.lock and included by none
📒 Files selected for processing (3)
  • .github/workflows/test.yaml
  • pyproject.toml
  • tox.ini

📝 Walkthrough

Walkthrough

The changes extend testing and dependency support to include isort version 8 across CI workflows and project configuration, updating the main isort constraint from "<8" to "<9" and adding parallel test environments for isort8.

Changes

Cohort / File(s) Summary
CI Test Matrix Configuration
.github/workflows/test.yaml, tox.ini
Added isort8 to test matrix configurations, expanding parallel test environments to include isort version 8 alongside existing versions (5, 6, 7).
Dependency Management
pyproject.toml
Updated main isort dependency constraint from "<8" to "<9", added new isort8 dependency group with version specification "isort>=8,<9" for Python 3.10+, and included isort8 in conflict matrix.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested labels

breaking-change-analyzed

Poem

🐰 Hop, hop! Isort eights now in the test suite we go,
Version matrices spinning with a parallel flow,
Dependencies aligned from five through eight,
CI pipelines humming—oh, how great!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Support isort 8' directly and clearly describes the main purpose of the changeset, which is to update the project to support isort version 8 across dependencies and test configurations.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

The breaking change in isort 8 is to remove the `setuptools` plugin (see
https://github.com/PyCQA/isort/releases), which this project doesn't
use.
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Mar 1, 2026

Merging this PR will improve performance by 11.58%

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

⚡ 2 improved benchmarks
✅ 9 untouched benchmarks
⏩ 98 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
WallTime test_perf_stripe_style_pydantic_v2 1.9 s 1.7 s +10.75%
WallTime test_perf_all_options_enabled 6.4 s 5.7 s +11.58%

Comparing cjwatson:isort-8 (f1e2f36) with main (9955314)

Open in CodSpeed

Footnotes

  1. 98 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 1, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (9955314) to head (f1e2f36).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #3011   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           94        94           
  Lines        18130     18130           
  Branches      2099      2099           
=========================================
  Hits         18130     18130           
Flag Coverage Δ
unittests 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Collaborator

@ilovelinux ilovelinux left a comment

Choose a reason for hiding this comment

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

LGTM 🙂

@ilovelinux ilovelinux added enhancement New feature or request dependencies Pull requests that update a dependency file labels Mar 2, 2026
@ilovelinux ilovelinux requested a review from koxudaxi March 2, 2026 10:37
@koxudaxi koxudaxi merged commit c36ac6c into koxudaxi:main Mar 3, 2026
40 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 3, 2026

Breaking Change Analysis

Result: No breaking changes detected

Reasoning: This PR only adds support for isort 8 by expanding the version constraint from <8 to <9 and adding test coverage. It does not change any code generation logic, templates, CLI options, Python API, default behaviors, or error handling. The change is purely additive - all previously supported isort versions (4.3.21 through 7.x) continue to work. Users are not required to update anything; they can continue using their current isort version or upgrade to isort 8 at their discretion.


This analysis was performed by Claude Code Action

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 4, 2026

🎉 Released in 0.54.1

This PR is now available in the latest release. See the release notes for details.

@cjwatson cjwatson deleted the isort-8 branch March 4, 2026 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking-change-analyzed dependencies Pull requests that update a dependency file enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants