-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pyupgrade
] Remove keep-runtime-typing
setting
#4427
Conversation
d9508e4
to
f3ed25c
Compare
keep-runtime-typing
settingpyupgrade
] Remove keep-runtime-typing
setting
PR Check ResultsEcosystem✅ ecosystem check detected no changes. BenchmarkLinux
Windows
|
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://togithub.com/charliermarsh/ruff) ([changelog](https://togithub.com/charliermarsh/ruff/releases)) | `^0.0.267` -> `^0.0.269` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/compatibility-slim/0.0.267)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/confidence-slim/0.0.267)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.269`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.269) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.267...v0.0.269) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed (This is a rerelease of `v0.0.268`, which didn't make it to PyPI due to user error. As such, the release notes are copied below.) ##### `pycodestyle` This release includes optimized implementations of a large portion of `pycodestyle`, for those that use Ruff without an autoformatter. In this initial release, the rules are being introduced under a "nursery" flag, which requires that users explicitly select them (e.g., `select = ["E111"]`); in other words, these rules are not yet enabled via `select = ["E"]`. If you're interested in testing the `pycodestyle` rules, you can enable them via: ```toml select = [ "E111", "E112", "E113", "E114", "E115", "E116", "E117", "E201", "E202", "E203", "E211", "E221", "E222", "E223", "E224", "E225", "E226", "E227", "E228", "E231", "E251", "E252", "E261", "E262", "E265", "E266", "E271", "E272", "E273", "E274", "E275", ] ``` These rules will be included as part of the `E` category in a future release. ##### Breaking Changes - \[`pyupgrade`] Remove `keep-runtime-typing` setting by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4427](https://togithub.com/charliermarsh/ruff/pull/4427) ##### Rules - \[`pylint`] Add `duplicate-bases` rule by [@​alonme](https://togithub.com/alonme) in [https://github.com/charliermarsh/ruff/pull/4411](https://togithub.com/charliermarsh/ruff/pull/4411) - \[`pylint`] Fix `PLW3301` auto-fix with generators by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4412](https://togithub.com/charliermarsh/ruff/pull/4412) - \[`flake8-async`] Implement flake8-async plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - \[`pyupgrade`] Enable automatic rewrites of `typing.Deque` and `typing.DefaultDict` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4420](https://togithub.com/charliermarsh/ruff/pull/4420) - \[`flake8-pyi`] Implement `unannotated-assignment-in-stub` (`PY052`) by [@​sladyn98](https://togithub.com/sladyn98) in [https://github.com/charliermarsh/ruff/pull/4293](https://togithub.com/charliermarsh/ruff/pull/4293) - \[`tryceratops`] Implement TRY302 - `raise` after `except` by [@​john-h-k](https://togithub.com/john-h-k) in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) - \[`flake8-bandit`] Improve SQL injection detection logic (`S608`) by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4499](https://togithub.com/charliermarsh/ruff/pull/4499) - \[`flake8-todos`] Implement `flake8_todos` by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/3921](https://togithub.com/charliermarsh/ruff/pull/3921) - \[`flake8-future-annotations`] Implement `flake8-future-annotations` FA100 by [@​TylerYep](https://togithub.com/TylerYep) in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - Enable `pycodestyle` rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/3689](https://togithub.com/charliermarsh/ruff/pull/3689) - Enable `pycodestyle` rules under new "nursery" category by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4407](https://togithub.com/charliermarsh/ruff/pull/4407) ##### Settings - Merge subsettings when extending configurations by [@​bendoerry](https://togithub.com/bendoerry) in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) ##### Bug Fixes - Extend multi-line noqa directives to start-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4490](https://togithub.com/charliermarsh/ruff/pull/4490) - Fix scoping of comprehensions within classes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4494](https://togithub.com/charliermarsh/ruff/pull/4494) - Enable autofix for split-assertions at top level by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4405](https://togithub.com/charliermarsh/ruff/pull/4405) - Ignore ANN401 for overridden methods by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4409](https://togithub.com/charliermarsh/ruff/pull/4409) - Fix `RUF010` autofix within f-strings by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4423](https://togithub.com/charliermarsh/ruff/pull/4423) - Update C419 to be a suggested fix by [@​madkinsz](https://togithub.com/madkinsz) in [https://github.com/charliermarsh/ruff/pull/4424](https://togithub.com/charliermarsh/ruff/pull/4424) - Fix expected-indentation errors with end-of-line comments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4438](https://togithub.com/charliermarsh/ruff/pull/4438) - Emit non-logical newlines for "empty" lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4444](https://togithub.com/charliermarsh/ruff/pull/4444) - Avoid emitting empty logical lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4452](https://togithub.com/charliermarsh/ruff/pull/4452) - Avoid flagging missing whitespace for decorators by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4454](https://togithub.com/charliermarsh/ruff/pull/4454) - Remove special-casing for whitespace-around-@​ by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4458](https://togithub.com/charliermarsh/ruff/pull/4458) - Avoid triggering `pd#at` and friends on non-subscripts by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4474](https://togithub.com/charliermarsh/ruff/pull/4474) - Include precise tokens for extraneous-whitespace diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4471](https://togithub.com/charliermarsh/ruff/pull/4471) - Allow shebang comments at start-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4473](https://togithub.com/charliermarsh/ruff/pull/4473) - Bring pycodestyle rules into full compatibility (on SciPy) by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4472](https://togithub.com/charliermarsh/ruff/pull/4472) - Invert quote-style when generating code within f-strings by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4487](https://togithub.com/charliermarsh/ruff/pull/4487) - Fix COM812 false positive in string subscript by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4493](https://togithub.com/charliermarsh/ruff/pull/4493) - Overhaul sdist handling by [@​konstin](https://togithub.com/konstin) in [https://github.com/charliermarsh/ruff/pull/4439](https://togithub.com/charliermarsh/ruff/pull/4439) #### New Contributors - [@​TylerYep](https://togithub.com/TylerYep) made their first contribution in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - [@​yanksyoon](https://togithub.com/yanksyoon) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4428](https://togithub.com/charliermarsh/ruff/pull/4428) - [@​bendoerry](https://togithub.com/bendoerry) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) - [@​qdegraaf](https://togithub.com/qdegraaf) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - [@​jameslamb](https://togithub.com/jameslamb) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4446](https://togithub.com/charliermarsh/ruff/pull/4446) - [@​john-h-k](https://togithub.com/john-h-k) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) **Full Changelog**: astral-sh/ruff@v0.0.267...v0.0.269 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/ixm-one/pytest-cmake-presets). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS45NS4xIiwidXBkYXRlZEluVmVyIjoiMzUuOTUuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Signed-off-by: Renovate Bot <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
I don't think the two mechanisms are exactly equivalent. The benefit of having a stand-alone setting for it is that the rules will take effect immediately upon bumping the minimum supported Python version, whereas now the user will have to remember to un-exclude the rules they've been forced to exclude for runtime typing compatibility, and the burden of tracking compatibility per Python version will have fallen on them. |
@layday - I understand that perspective, but these rules already take the minimum compatible version into account (and/or the required presence of As implemented in Ruff, this setting was exactly equivalent to enabling and disabling these rules. But I'm happy to continue discussing or reconsider if you have an example of where this would cause problems. |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://togithub.com/charliermarsh/ruff) ([changelog](https://togithub.com/charliermarsh/ruff/releases)) | `==0.0.267` -> `==0.0.269` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/compatibility-slim/0.0.267)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/confidence-slim/0.0.267)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.269`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.269) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.267...v0.0.269) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed (This is a rerelease of `v0.0.268`, which didn't make it to PyPI due to user error. As such, the release notes are copied below.) ##### `pycodestyle` This release includes optimized implementations of a large portion of `pycodestyle`, for those that use Ruff without an autoformatter. In this initial release, the rules are being introduced under a "nursery" flag, which requires that users explicitly select them (e.g., `select = ["E111"]`); in other words, these rules are not yet enabled via `select = ["E"]`. If you're interested in testing the `pycodestyle` rules, you can enable them via: ```toml select = [ "E111", "E112", "E113", "E114", "E115", "E116", "E117", "E201", "E202", "E203", "E211", "E221", "E222", "E223", "E224", "E225", "E226", "E227", "E228", "E231", "E251", "E252", "E261", "E262", "E265", "E266", "E271", "E272", "E273", "E274", "E275", ] ``` These rules will be included as part of the `E` category in a future release. ##### Breaking Changes - \[`pyupgrade`] Remove `keep-runtime-typing` setting by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4427](https://togithub.com/charliermarsh/ruff/pull/4427) ##### Rules - \[`pylint`] Add `duplicate-bases` rule by [@​alonme](https://togithub.com/alonme) in [https://github.com/charliermarsh/ruff/pull/4411](https://togithub.com/charliermarsh/ruff/pull/4411) - \[`pylint`] Fix `PLW3301` auto-fix with generators by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4412](https://togithub.com/charliermarsh/ruff/pull/4412) - \[`flake8-async`] Implement flake8-async plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - \[`pyupgrade`] Enable automatic rewrites of `typing.Deque` and `typing.DefaultDict` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4420](https://togithub.com/charliermarsh/ruff/pull/4420) - \[`flake8-pyi`] Implement `unannotated-assignment-in-stub` (`PY052`) by [@​sladyn98](https://togithub.com/sladyn98) in [https://github.com/charliermarsh/ruff/pull/4293](https://togithub.com/charliermarsh/ruff/pull/4293) - \[`tryceratops`] Implement TRY302 - `raise` after `except` by [@​john-h-k](https://togithub.com/john-h-k) in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) - \[`flake8-bandit`] Improve SQL injection detection logic (`S608`) by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4499](https://togithub.com/charliermarsh/ruff/pull/4499) - \[`flake8-todos`] Implement `flake8_todos` by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/3921](https://togithub.com/charliermarsh/ruff/pull/3921) - \[`flake8-future-annotations`] Implement `flake8-future-annotations` FA100 by [@​TylerYep](https://togithub.com/TylerYep) in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - Enable `pycodestyle` rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/3689](https://togithub.com/charliermarsh/ruff/pull/3689) - Enable `pycodestyle` rules under new "nursery" category by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4407](https://togithub.com/charliermarsh/ruff/pull/4407) ##### Settings - Merge subsettings when extending configurations by [@​bendoerry](https://togithub.com/bendoerry) in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) ##### Bug Fixes - Extend multi-line noqa directives to start-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4490](https://togithub.com/charliermarsh/ruff/pull/4490) - Fix scoping of comprehensions within classes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4494](https://togithub.com/charliermarsh/ruff/pull/4494) - Enable autofix for split-assertions at top level by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4405](https://togithub.com/charliermarsh/ruff/pull/4405) - Ignore ANN401 for overridden methods by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4409](https://togithub.com/charliermarsh/ruff/pull/4409) - Fix `RUF010` autofix within f-strings by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4423](https://togithub.com/charliermarsh/ruff/pull/4423) - Update C419 to be a suggested fix by [@​madkinsz](https://togithub.com/madkinsz) in [https://github.com/charliermarsh/ruff/pull/4424](https://togithub.com/charliermarsh/ruff/pull/4424) - Fix expected-indentation errors with end-of-line comments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4438](https://togithub.com/charliermarsh/ruff/pull/4438) - Emit non-logical newlines for "empty" lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4444](https://togithub.com/charliermarsh/ruff/pull/4444) - Avoid emitting empty logical lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4452](https://togithub.com/charliermarsh/ruff/pull/4452) - Avoid flagging missing whitespace for decorators by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4454](https://togithub.com/charliermarsh/ruff/pull/4454) - Remove special-casing for whitespace-around-@​ by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4458](https://togithub.com/charliermarsh/ruff/pull/4458) - Avoid triggering `pd#at` and friends on non-subscripts by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4474](https://togithub.com/charliermarsh/ruff/pull/4474) - Include precise tokens for extraneous-whitespace diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4471](https://togithub.com/charliermarsh/ruff/pull/4471) - Allow shebang comments at start-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4473](https://togithub.com/charliermarsh/ruff/pull/4473) - Bring pycodestyle rules into full compatibility (on SciPy) by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4472](https://togithub.com/charliermarsh/ruff/pull/4472) - Invert quote-style when generating code within f-strings by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4487](https://togithub.com/charliermarsh/ruff/pull/4487) - Fix COM812 false positive in string subscript by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4493](https://togithub.com/charliermarsh/ruff/pull/4493) - Overhaul sdist handling by [@​konstin](https://togithub.com/konstin) in [https://github.com/charliermarsh/ruff/pull/4439](https://togithub.com/charliermarsh/ruff/pull/4439) #### New Contributors - [@​TylerYep](https://togithub.com/TylerYep) made their first contribution in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - [@​yanksyoon](https://togithub.com/yanksyoon) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4428](https://togithub.com/charliermarsh/ruff/pull/4428) - [@​bendoerry](https://togithub.com/bendoerry) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) - [@​qdegraaf](https://togithub.com/qdegraaf) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - [@​jameslamb](https://togithub.com/jameslamb) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4446](https://togithub.com/charliermarsh/ruff/pull/4446) - [@​john-h-k](https://togithub.com/john-h-k) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) **Full Changelog**: astral-sh/ruff@v0.0.267...v0.0.269 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/allenporter/pyrainbird). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS45NS4xIiwidXBkYXRlZEluVmVyIjoiMzUuOTUuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Ah, but the assumption is that the application is able to handle these new typing constructs at runtime, the only limitation being the lowest Python version that it supports, i.e. that evaluating stringified annotations does not raise.
To clarify, bumping |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://togithub.com/charliermarsh/ruff) ([changelog](https://togithub.com/charliermarsh/ruff/releases)) | `==0.0.267` -> `==0.0.269` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/compatibility-slim/0.0.267)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/confidence-slim/0.0.267)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.269`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.269) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.267...v0.0.269) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed (This is a rerelease of `v0.0.268`, which didn't make it to PyPI due to user error. As such, the release notes are copied below.) ##### `pycodestyle` This release includes optimized implementations of a large portion of `pycodestyle`, for those that use Ruff without an autoformatter. In this initial release, the rules are being introduced under a "nursery" flag, which requires that users explicitly select them (e.g., `select = ["E111"]`); in other words, these rules are not yet enabled via `select = ["E"]`. If you're interested in testing the `pycodestyle` rules, you can enable them via: ```toml select = [ "E111", "E112", "E113", "E114", "E115", "E116", "E117", "E201", "E202", "E203", "E211", "E221", "E222", "E223", "E224", "E225", "E226", "E227", "E228", "E231", "E251", "E252", "E261", "E262", "E265", "E266", "E271", "E272", "E273", "E274", "E275", ] ``` These rules will be included as part of the `E` category in a future release. ##### Breaking Changes - \[`pyupgrade`] Remove `keep-runtime-typing` setting by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4427](https://togithub.com/charliermarsh/ruff/pull/4427) ##### Rules - \[`pylint`] Add `duplicate-bases` rule by [@​alonme](https://togithub.com/alonme) in [https://github.com/charliermarsh/ruff/pull/4411](https://togithub.com/charliermarsh/ruff/pull/4411) - \[`pylint`] Fix `PLW3301` auto-fix with generators by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4412](https://togithub.com/charliermarsh/ruff/pull/4412) - \[`flake8-async`] Implement flake8-async plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - \[`pyupgrade`] Enable automatic rewrites of `typing.Deque` and `typing.DefaultDict` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4420](https://togithub.com/charliermarsh/ruff/pull/4420) - \[`flake8-pyi`] Implement `unannotated-assignment-in-stub` (`PY052`) by [@​sladyn98](https://togithub.com/sladyn98) in [https://github.com/charliermarsh/ruff/pull/4293](https://togithub.com/charliermarsh/ruff/pull/4293) - \[`tryceratops`] Implement TRY302 - `raise` after `except` by [@​john-h-k](https://togithub.com/john-h-k) in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) - \[`flake8-bandit`] Improve SQL injection detection logic (`S608`) by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4499](https://togithub.com/charliermarsh/ruff/pull/4499) - \[`flake8-todos`] Implement `flake8_todos` by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/3921](https://togithub.com/charliermarsh/ruff/pull/3921) - \[`flake8-future-annotations`] Implement `flake8-future-annotations` FA100 by [@​TylerYep](https://togithub.com/TylerYep) in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - Enable `pycodestyle` rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/3689](https://togithub.com/charliermarsh/ruff/pull/3689) - Enable `pycodestyle` rules under new "nursery" category by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4407](https://togithub.com/charliermarsh/ruff/pull/4407) ##### Settings - Merge subsettings when extending configurations by [@​bendoerry](https://togithub.com/bendoerry) in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) ##### Bug Fixes - Extend multi-line noqa directives to start-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4490](https://togithub.com/charliermarsh/ruff/pull/4490) - Fix scoping of comprehensions within classes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4494](https://togithub.com/charliermarsh/ruff/pull/4494) - Enable autofix for split-assertions at top level by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4405](https://togithub.com/charliermarsh/ruff/pull/4405) - Ignore ANN401 for overridden methods by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4409](https://togithub.com/charliermarsh/ruff/pull/4409) - Fix `RUF010` autofix within f-strings by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4423](https://togithub.com/charliermarsh/ruff/pull/4423) - Update C419 to be a suggested fix by [@​madkinsz](https://togithub.com/madkinsz) in [https://github.com/charliermarsh/ruff/pull/4424](https://togithub.com/charliermarsh/ruff/pull/4424) - Fix expected-indentation errors with end-of-line comments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4438](https://togithub.com/charliermarsh/ruff/pull/4438) - Emit non-logical newlines for "empty" lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4444](https://togithub.com/charliermarsh/ruff/pull/4444) - Avoid emitting empty logical lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4452](https://togithub.com/charliermarsh/ruff/pull/4452) - Avoid flagging missing whitespace for decorators by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4454](https://togithub.com/charliermarsh/ruff/pull/4454) - Remove special-casing for whitespace-around-@​ by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4458](https://togithub.com/charliermarsh/ruff/pull/4458) - Avoid triggering `pd#at` and friends on non-subscripts by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4474](https://togithub.com/charliermarsh/ruff/pull/4474) - Include precise tokens for extraneous-whitespace diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4471](https://togithub.com/charliermarsh/ruff/pull/4471) - Allow shebang comments at start-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4473](https://togithub.com/charliermarsh/ruff/pull/4473) - Bring pycodestyle rules into full compatibility (on SciPy) by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4472](https://togithub.com/charliermarsh/ruff/pull/4472) - Invert quote-style when generating code within f-strings by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4487](https://togithub.com/charliermarsh/ruff/pull/4487) - Fix COM812 false positive in string subscript by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4493](https://togithub.com/charliermarsh/ruff/pull/4493) - Overhaul sdist handling by [@​konstin](https://togithub.com/konstin) in [https://github.com/charliermarsh/ruff/pull/4439](https://togithub.com/charliermarsh/ruff/pull/4439) #### New Contributors - [@​TylerYep](https://togithub.com/TylerYep) made their first contribution in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - [@​yanksyoon](https://togithub.com/yanksyoon) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4428](https://togithub.com/charliermarsh/ruff/pull/4428) - [@​bendoerry](https://togithub.com/bendoerry) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) - [@​qdegraaf](https://togithub.com/qdegraaf) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - [@​jameslamb](https://togithub.com/jameslamb) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4446](https://togithub.com/charliermarsh/ruff/pull/4446) - [@​john-h-k](https://togithub.com/john-h-k) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) **Full Changelog**: astral-sh/ruff@v0.0.267...v0.0.269 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/allenporter/flux-local). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS45Ni4zIiwidXBkYXRlZEluVmVyIjoiMzUuOTYuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
That's correct. It used to only affect the pre-3.10 branch, but I changed it in #2449. I may have misunderstood the motivation for the flag, and it's possible that our enforcement of it was incorrect, though I still don't fully understand why it exists. It seems like the example of a case in which users want to use this flag is on pre-3.9 code like: from __future__ import annotations
import pydantic
class User(pydantic.BaseModel):
first_name: str | None = None
last_name: str | None = None But in this case, why is |
One might also use from __future__ import annotations
import pydantic
class User(pydantic.BaseModel):
friends: list[User] (here's a non-contrived example) This may be fairly minor, but if there are future syntax incompatible typing PEPs introduced other than PEP 585 and PEP 604, one other difference is that users (as opposed to ruff) will need to be responsible for updating their configs when making ruff updates in order to keep runtime typing. |
includes updates to address the breaking change in astral-sh/ruff#4427 and fixes for the now enabled rules: - UP006 (non-pep585-annotation) - UP007 (non-pep604-annotation)
Summary
This was implemented "by accident" before realizing that it's exactly equivalent to turning off two of our rules. (Pyupgrade doesn't have a generic mechanism for turning off individual rules, and so has dedicated flags for them.)