Ensure that split_on_trailing_comma works with as imports#2340
Ensure that split_on_trailing_comma works with as imports#2340
as imports#2340Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2340 +/- ##
=======================================
Coverage 99.12% 99.12%
=======================================
Files 40 40
Lines 3096 3096
Branches 787 787
=======================================
Hits 3069 3069
Misses 15 15
Partials 12 12 |
| test_input = "from lib import (a as b,)" | ||
| expected_output = """from lib import a as b | ||
| """ |
There was a problem hiding this comment.
what's expected for multiple as imports an a trailing comma, e.g. from lib import (a as b, c as d,)?
from lib import a as b
from lib import c as dor
from lib import (
a as b,
c as d,
)There was a problem hiding this comment.
Current code will do:
from lib import a as b
from lib import c as d|
@DanielNoord this Django integration test still failimg, did you have time to check if it is related or not to these black changes? |
|
Like I told you in the message: by changing the black style django is no longer conformant. The tests will fail until we release and they reformat their repository. |
staticdev
left a comment
There was a problem hiding this comment.
@DanielNoord ok, then we can temporarily disable it and put a comment to re-enable when they upgrade to 6.0.0+
|
@staticdev There we go. I double checked and the offending line is:
I think this is fine to merge now :) |
staticdev
left a comment
There was a problem hiding this comment.
@DanielNoord LGTM, thanks.
|
Thank you for considering Django in this change. As you can see in the linked PR #19109 this is forcing a reformat which does not seem correct. What do you think? - from django.db.models.sql.compiler import SQLUpdateCompiler
+ from django.db.models.sql.compiler import (
+ SQLUpdateCompiler,
+ ) |
|
That was raised as an issue in #2352. Current status is: we're still determining whether this is a bug and are trying to see if we can provide a fix. |
This MR contains the following updates: | Package | Type | Update | Change | OpenSSF | |---|---|---|---|---| | [isort](https://github.com/PyCQA/isort) ([changelog](https://github.com/PyCQA/isort/releases)) | dev | major | `^5.13.2` → `^7.0.0` | [](https://securityscorecards.dev/viewer/?uri=github.com/PyCQA/isort) | --- ### Release Notes <details> <summary>PyCQA/isort (isort)</summary> ### [`v7.0.0`](https://github.com/PyCQA/isort/releases/tag/7.0.0) [Compare Source](PyCQA/isort@6.1.0...7.0.0) #### Changes #### 💥 Breaking Changes - Drop support for Python 3.9 ([#​2430](PyCQA/isort#2430)) [@​DanielNoord](https://github.com/DanielNoord) #### 🚀 Features - Show absolute paths in skipped file messages ([#​2416](PyCQA/isort#2416)) [@​pranlawate](https://github.com/pranlawate) #### 🪲 Fixes - Some fixes for Python 3.14 ([#​2433](PyCQA/isort#2433)) [@​DanielNoord](https://github.com/DanielNoord) - Test on `3.14` and fix any bugs ([#​2425](PyCQA/isort#2425)) [@​DanielNoord](https://github.com/DanielNoord) - Update CHANGELOG.md + Fix Formatting and Grammar ([#​2419](PyCQA/isort#2419)) [@​lukbrew25](https://github.com/lukbrew25) - Fix output of hanging indent for long lines with noqa ([#​2407](PyCQA/isort#2407)) [@​matan1008](https://github.com/matan1008) #### :construction\_worker: Continuous Integration - Format with `ruff` instead of `black` ([#​2432](PyCQA/isort#2432)) [@​DanielNoord](https://github.com/DanielNoord) - Target 3.10 for `ruff` ([#​2431](PyCQA/isort#2431)) [@​DanielNoord](https://github.com/DanielNoord) - Update development dependencies to latest version ([#​2426](PyCQA/isort#2426)) [@​DanielNoord](https://github.com/DanielNoord) - docs: update pre-commit examples to version 6.1.0 ([#​2413](PyCQA/isort#2413)) [@​pranlawate](https://github.com/pranlawate) - Small cleanup for developer environment ([#​2418](PyCQA/isort#2418)) [@​DanielNoord](https://github.com/DanielNoord) #### 📦 Dependencies - Bump actions/setup-python from 5 to 6 in the github-actions group ([#​2411](PyCQA/isort#2411)) @​[dependabot\[bot\]](https://github.com/apps/dependabot) ### [`v6.1.0`](https://github.com/PyCQA/isort/blob/HEAD/CHANGELOG.md#610-October-1-2025) [Compare Source](PyCQA/isort@6.0.1...6.1.0) - Add python 3.14 classifier and badge ([#​2409](PyCQA/isort#2409)) [@​staticdev](https://github.com/staticdev) - Drop use of non-standard pkg\_resources API ([#​2405](PyCQA/isort#2405)) [@​dvarrazzo](https://github.com/dvarrazzo) ### [`v6.0.1`](https://github.com/PyCQA/isort/blob/HEAD/CHANGELOG.md#601-Febuary-26-2025) [Compare Source](PyCQA/isort@6.0.0...6.0.1) - Add OSError handling in find\_imports\_in\_file ([#​2331](PyCQA/isort#2331)) [@​kobarity](https://github.com/kobarity) ### [`v6.0.0`](https://github.com/PyCQA/isort/blob/HEAD/CHANGELOG.md#600-January-27-2025) [Compare Source](PyCQA/isort@5.13.2...6.0.0) - Remove support for Python 3.8 ([#​2327](PyCQA/isort#2327)) [@​DanielNoord](https://github.com/DanielNoord) - Python 3.13 support ([#​2306](PyCQA/isort#2306)) [@​mayty](https://github.com/mayty) - Speed up exists\_case\_sensitive calls ([#​2264](PyCQA/isort#2264)) [@​correctmost](https://github.com/correctmost) - Ensure that split\_on\_trailing\_comma works with as imports ([#​2340](PyCQA/isort#2340)) [@​DanielNoord](https://github.com/DanielNoord) - Black profile: enable magic comma ([#​2236](PyCQA/isort#2236)) [@​MrMino](https://github.com/MrMino) - Update line\_length and single\_line\_exclusions in google profile ([#​2149](PyCQA/isort#2149)) [@​jagapiou](https://github.com/jagapiou) - Allow --diff to be used with --jobs ([#​2302](PyCQA/isort#2302)) [@​mnakama](https://github.com/mnakama) - Fix wemake profile to have correct character limit ([#​2241](PyCQA/isort#2241)) [@​sobolevn](https://github.com/sobolevn) - Fix sort\_reexports code mangling ([#​2283](PyCQA/isort#2283)) [@​Helveg](https://github.com/Helveg) - Fix correct group by package tokenization ([#​2136](PyCQA/isort#2136)) [@​glasnt](https://github.com/glasnt) </details> --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yLjQiLCJ1cGRhdGVkSW5WZXIiOiI0My4yNS43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZSJdfQ==--> See merge request swiss-armed-forces/cyber-command/cea/loom!284 Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com> Co-authored-by: shrewd-laidback palace <shrewd-laidback-palace-736-c41-2c1-e464fc974@swiss-armed-forces-open-source.ch>
chore(deps): update isort (major) This MR contains the following updates: | Package | Type | Update | Change | OpenSSF | |---|---|---|---|---| | [isort](https://github.com/PyCQA/isort) ([changelog](https://github.com/PyCQA/isort/releases)) | dev | major | `^5.13.2` → `^7.0.0` | [](https://securityscorecards.dev/viewer/?uri=github.com/PyCQA/isort) | --- ### Release Notes <details> <summary>PyCQA/isort (isort)</summary> ### [`v7.0.0`](https://github.com/PyCQA/isort/releases/tag/7.0.0) [Compare Source](PyCQA/isort@6.1.0...7.0.0) #### Changes #### 💥 Breaking Changes - Drop support for Python 3.9 ([#​2430](PyCQA/isort#2430)) [@​DanielNoord](https://github.com/DanielNoord) #### 🚀 Features - Show absolute paths in skipped file messages ([#​2416](PyCQA/isort#2416)) [@​pranlawate](https://github.com/pranlawate) #### 🪲 Fixes - Some fixes for Python 3.14 ([#​2433](PyCQA/isort#2433)) [@​DanielNoord](https://github.com/DanielNoord) - Test on `3.14` and fix any bugs ([#​2425](PyCQA/isort#2425)) [@​DanielNoord](https://github.com/DanielNoord) - Update CHANGELOG.md + Fix Formatting and Grammar ([#​2419](PyCQA/isort#2419)) [@​lukbrew25](https://github.com/lukbrew25) - Fix output of hanging indent for long lines with noqa ([#​2407](PyCQA/isort#2407)) [@​matan1008](https://github.com/matan1008) #### :construction\_worker: Continuous Integration - Format with `ruff` instead of `black` ([#​2432](PyCQA/isort#2432)) [@​DanielNoord](https://github.com/DanielNoord) - Target 3.10 for `ruff` ([#​2431](PyCQA/isort#2431)) [@​DanielNoord](https://github.com/DanielNoord) - Update development dependencies to latest version ([#​2426](PyCQA/isort#2426)) [@​DanielNoord](https://github.com/DanielNoord) - docs: update pre-commit examples to version 6.1.0 ([#​2413](PyCQA/isort#2413)) [@​pranlawate](https://github.com/pranlawate) - Small cleanup for developer environment ([#​2418](PyCQA/isort#2418)) [@​DanielNoord](https://github.com/DanielNoord) #### 📦 Dependencies - Bump actions/setup-python from 5 to 6 in the github-actions group ([#​2411](PyCQA/isort#2411)) @​[dependabot\[bot\]](https://github.com/apps/dependabot) ### [`v6.1.0`](https://github.com/PyCQA/isort/blob/HEAD/CHANGELOG.md#610-October-1-2025) [Compare Source](PyCQA/isort@6.0.1...6.1.0) - Add python 3.14 classifier and badge ([#​2409](PyCQA/isort#2409)) [@​staticdev](https://github.com/staticdev) - Drop use of non-standard pkg\_resources API ([#​2405](PyCQA/isort#2405)) [@​dvarrazzo](https://github.com/dvarrazzo) ### [`v6.0.1`](https://github.com/PyCQA/isort/blob/HEAD/CHANGELOG.md#601-Febuary-26-2025) [Compare Source](PyCQA/isort@6.0.0...6.0.1) - Add OSError handling in find\_imports\_in\_file ([#​2331](PyCQA/isort#2331)) [@​kobarity](https://github.com/kobarity) ### [`v6.0.0`](https://github.com/PyCQA/isort/blob/HEAD/CHANGELOG.md#600-January-27-2025) [Compare Source](PyCQA/isort@5.13.2...6.0.0) - Remove support for Python 3.8 ([#​2327](PyCQA/isort#2327)) [@​DanielNoord](https://github.com/DanielNoord) - Python 3.13 support ([#​2306](PyCQA/isort#2306)) [@​mayty](https://github.com/mayty) - Speed up exists\_case\_sensitive calls ([#​2264](PyCQA/isort#2264)) [@​correctmost](https://github.com/correctmost) - Ensure that split\_on\_trailing\_comma works with as imports ([#​2340](PyCQA/isort#2340)) [@​DanielNoord](https://github.com/DanielNoord) - Black profile: enable magic comma ([#​2236](PyCQA/isort#2236)) [@​MrMino](https://github.com/MrMino) - Update line\_length and single\_line\_exclusions in google profile ([#​2149](PyCQA/isort#2149)) [@​jagapiou](https://github.com/jagapiou) - Allow --diff to be used with --jobs ([#​2302](PyCQA/isort#2302)) [@​mnakama](https://github.com/mnakama) - Fix wemake profile to have correct character limit ([#​2241](PyCQA/isort#2241)) [@​sobolevn](https://github.com/sobolevn) - Fix sort\_reexports code mangling ([#​2283](PyCQA/isort#2283)) [@​Helveg](https://github.com/Helveg) - Fix correct group by package tokenization ([#​2136](PyCQA/isort#2136)) [@​glasnt](https://github.com/glasnt) </details> --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yLjQiLCJ1cGRhdGVkSW5WZXIiOiI0My4yNS43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZSJdfQ==--> See merge request swiss-armed-forces/cyber-command/cea/loom!284 Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com> Co-authored-by: open-source Pipeline <group_90701827_bot_ed04ae348bc5f40af9966fb8b6867e99@noreply.gitlab.com>
Closes #2338
Took the tests as recommended in #2339
I don't think we should fix the tests by disabling the new profile flag, that would mean that our tests work but anybody using the profile would still get broken imports.
Instead, let's try to fix
config.split_on_trailing_commaitself. I believe this does this.