-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Deprecate PGH001
in favor of S307
#7506
Conversation
PR Check ResultsEcosystemℹ️ ecosystem check detected changes. (+1, -3, 0 error(s)) disnake (+0, -1)
- disnake/utils.py:1137:21: S307 Use of possibly insecure function; consider using `ast.literal_eval` airflow (+0, -1)
- dev/stats/get_important_pr_candidates.py:131:32: PGH001 No builtin `eval()` allowed content (+0, -1)
- Packs/Malwr/Integrations/Malwr/Malwr.py:96:18: PGH001 No builtin `eval()` allowed
|
Is this a breaking change? What do we need to document in the changelog? |
Yes and no... If users have If users have The main problem here is that if users have I'm not sure how best to resolve -- any ideas? |
@zanieb - This one actually might be interesting to you too (especially my comment about regarding redirects). |
We really should implement proper rule aliasing, this getting more and more unwieldy as we add new rules. It's really surprising when a new user migrates a flake8-plugin to ruff only to find they also have to enable a bunch of rules in different other categories to make functionality of the original plugin. |
This sounds like a breaking change to me. Proper aliasing does sound like the better solution and probably something we need for recategorization anyway? |
@zanieb Agree, public rule aliasing is probably one of the largest painpoints right now and it will only become a bigger maintenance burden on us later the more rules get added without this feature. |
Separate from the larger conversation around rule aliasing (see my comment in the related issue), we should consider removing this whole category and marking it as a breaking change. There are so few rules, multiple of them are duplicates of other existing rules, and there's no semantic relationship between the various rules. |
I think there are ways for us to do a recategorization without aliasing, because it doesn't require that we support multiple codes at once for a given rule, only that we provide tooling to remap from existing to updated codes and categories. |
Should we remove the whole category instead of this pull request? Either way I think we should probably gate removal or this alias with preview. |
I’m in favor of that. |
Closing in favor of #8931 |
Summary
These rules are identical. Bandit is the more popular and more well-defined category, so we remove
PGH001
and add a redirect toS307
. (By adding the redirect, we ensure that users see a warning but not an error when they referencePGH001
in their configuration or in a# noqa
, and that those codes seamlessly redirect toS307
.)Closes #7283.