-
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
Retain parentheses when fixing SIM210
#7118
Conversation
} | ||
|
||
fn autofix_title(&self) -> Option<String> { | ||
let IfExprWithTrueFalse { expr } = self; | ||
Some(format!("Replace with `not {expr}")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This message was wrong (mixed up with the next rule).
} | ||
|
||
fn autofix_title(&self) -> String { | ||
let IfExprWithFalseTrue { expr } = self; | ||
format!("Replace with `bool({expr})") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This message was wrong (mixed up with the previous rule).
format!("Use `bool(...)` instead of `True if ... else False`") | ||
} else { | ||
format!("Remove unnecessary `True if ... else False` from comparison") | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I decided to remove the raw source code from these. I think we're hoping that this information is instead conveyed by showing code frames.
} | ||
if checker.enabled(Rule::IfExprWithFalseTrue) { | ||
flake8_simplify::rules::explicit_false_true_in_ifexpr( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These names were wrong.
1200c8c
to
c841ab3
Compare
PR Check ResultsEcosystemℹ️ ecosystem check detected changes. (+205, -205, 0 error(s)) airflow (+10, -10)
+ airflow/providers/amazon/aws/sensors/s3.py:160:33: SIM210 [*] Use `bool(...)` instead of `True if ... else False` - airflow/providers/amazon/aws/sensors/s3.py:160:33: SIM210 [*] Use `bool(self.check_fn)` instead of `True if self.check_fn else False` + airflow/providers/google/cloud/triggers/bigquery.py:532:24: SIM210 [*] Use `bool(...)` instead of `True if ... else False` - airflow/providers/google/cloud/triggers/bigquery.py:532:24: SIM210 [*] Use `bool(response)` instead of `True if response else False` + dev/breeze/src/airflow_breeze/commands/minor_release_command.py:31:11: SIM210 [*] Use `bool(...)` instead of `True if ... else False` - dev/breeze/src/airflow_breeze/commands/minor_release_command.py:31:11: SIM210 [*] Use `bool(CI)` instead of `True if CI else False` + dev/breeze/src/airflow_breeze/commands/release_candidate_command.py:31:11: SIM210 [*] Use `bool(...)` instead of `True if ... else False` - dev/breeze/src/airflow_breeze/commands/release_candidate_command.py:31:11: SIM210 [*] Use `bool(CI)` instead of `True if CI else False` + dev/breeze/src/airflow_breeze/commands/release_command.py:31:11: SIM210 [*] Use `bool(...)` instead of `True if ... else False` - dev/breeze/src/airflow_breeze/commands/release_command.py:31:11: SIM210 [*] Use `bool(CI)` instead of `True if CI else False` + dev/breeze/src/airflow_breeze/utils/console.py:110:16: SIM210 [*] Use `bool(...)` instead of `True if ... else False` - dev/breeze/src/airflow_breeze/utils/console.py:110:16: SIM210 [*] Use `bool(recording_file)` instead of `True if recording_file else False` + dev/breeze/src/airflow_breeze/utils/console.py:97:16: SIM210 [*] Use `bool(...)` instead of `True if ... else False` - dev/breeze/src/airflow_breeze/utils/console.py:97:16: SIM210 [*] Use `bool(recording_file)` instead of `True if recording_file else False` + tests/utils/test_helpers.py:267:28: SIM210 [*] Remove unnecessary `True if ... else False` - tests/utils/test_helpers.py:267:28: SIM210 [*] Use `bool(true + truthy == 1)` instead of `True if true + truthy == 1 else False` + tests/utils/test_helpers.py:298:28: SIM210 [*] Remove unnecessary `True if ... else False` - tests/utils/test_helpers.py:298:28: SIM210 [*] Use `bool(true + truthy in (0, 1))` instead of `True if true + truthy in (0, 1) else False` + tests/www/test_utils.py:87:32: SIM210 [*] Remove unnecessary `True if ... else False` - tests/www/test_utils.py:87:32: SIM210 [*] Use `bool(sorting_direction == "desc")` instead of `True if sorting_direction == "desc" else False` bokeh (+2, -2)
+ examples/basic/data/filter_boolean.py:7:10: SIM210 [*] Remove unnecessary `True if ... else False` - examples/basic/data/filter_boolean.py:7:10: SIM210 [*] Use `bool(y_val > 2)` instead of `True if y_val > 2 else False` + examples/basic/data/linked_brushing_subsets.py:13:38: SIM210 [*] Use `bool(...)` instead of `True if ... else False` - examples/basic/data/linked_brushing_subsets.py:13:38: SIM210 [*] Use `bool(y > 250 or y < 100)` instead of `True if y > 250 or y < 100 else False` content (+193, -193)
+ Packs/AWS-CloudTrail/Integrations/AWS-CloudTrail/AWS-CloudTrail.py:174:54: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-CloudTrail/Integrations/AWS-CloudTrail/AWS-CloudTrail.py:174:54: SIM210 [*] Use `bool(args.get('includeGlobalServiceEvents') == 'True')` instead of `True if args.get('includeGlobalServiceEvents') == 'True' else False` + Packs/AWS-CloudTrail/Integrations/AWS-CloudTrail/AWS-CloudTrail.py:178:36: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-CloudTrail/Integrations/AWS-CloudTrail/AWS-CloudTrail.py:178:36: SIM210 [*] Use `bool(args.get('isMultiRegionTrail') == 'True')` instead of `True if args.get('isMultiRegionTrail') == 'True' else False` + Packs/AWS-CloudTrail/Integrations/AWS-CloudTrail/AWS-CloudTrail.py:180:51: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-CloudTrail/Integrations/AWS-CloudTrail/AWS-CloudTrail.py:180:51: SIM210 [*] Use `bool(args.get('enableLogFileValidation') == 'True')` instead of `True if args.get('enableLogFileValidation') == 'True' else False` + Packs/AWS-CloudTrail/Integrations/AWS-CloudTrail/AWS-CloudTrail.py:248:47: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-CloudTrail/Integrations/AWS-CloudTrail/AWS-CloudTrail.py:248:47: SIM210 [*] Use `bool(args.get('includeShadowTrails') == 'True')` instead of `True if args.get('includeShadowTrails') == 'True' else False` + Packs/AWS-CloudTrail/Integrations/AWS-CloudTrail/AWS-CloudTrail.py:289:54: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-CloudTrail/Integrations/AWS-CloudTrail/AWS-CloudTrail.py:289:54: SIM210 [*] Use `bool(args.get('includeGlobalServiceEvents') == 'True')` instead of `True if args.get('includeGlobalServiceEvents') == 'True' else False` + Packs/AWS-CloudTrail/Integrations/AWS-CloudTrail/AWS-CloudTrail.py:293:36: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-CloudTrail/Integrations/AWS-CloudTrail/AWS-CloudTrail.py:293:36: SIM210 [*] Use `bool(args.get('isMultiRegionTrail') == 'True')` instead of `True if args.get('isMultiRegionTrail') == 'True' else False` + Packs/AWS-CloudTrail/Integrations/AWS-CloudTrail/AWS-CloudTrail.py:295:51: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-CloudTrail/Integrations/AWS-CloudTrail/AWS-CloudTrail.py:295:51: SIM210 [*] Use `bool(args.get('enableLogFileValidation') == 'True')` instead of `True if args.get('enableLogFileValidation') == 'True' else False` + Packs/AWS-CloudWatchLogs/Integrations/AWS-CloudWatchLogs/AWS-CloudWatchLogs.py:147:43: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-CloudWatchLogs/Integrations/AWS-CloudWatchLogs/AWS-CloudWatchLogs.py:147:43: SIM210 [*] Use `bool(args.get('interleaved') == 'True')` instead of `True if args.get('interleaved') == 'True' else False` + Packs/AWS-GuardDuty/Integrations/AWSGuardDuty/AWSGuardDuty.py:165:36: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-GuardDuty/Integrations/AWSGuardDuty/AWSGuardDuty.py:165:36: SIM210 [*] Use `bool(args.get('activate') == 'True')` instead of `True if args.get('activate') == 'True' else False` + Packs/AWS-GuardDuty/Integrations/AWSGuardDuty/AWSGuardDuty.py:204:36: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-GuardDuty/Integrations/AWSGuardDuty/AWSGuardDuty.py:204:36: SIM210 [*] Use `bool(args.get('activate') == 'True')` instead of `True if args.get('activate') == 'True' else False` + Packs/AWS-GuardDuty/Integrations/AWSGuardDuty/AWSGuardDuty.py:267:36: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-GuardDuty/Integrations/AWSGuardDuty/AWSGuardDuty.py:267:36: SIM210 [*] Use `bool(args.get('activate') == 'True')` instead of `True if args.get('activate') == 'True' else False` + Packs/AWS-GuardDuty/Integrations/AWSGuardDuty/AWSGuardDuty.py:355:36: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-GuardDuty/Integrations/AWSGuardDuty/AWSGuardDuty.py:355:36: SIM210 [*] Use `bool(args.get('activate') == 'True')` instead of `True if args.get('activate') == 'True' else False` + Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:146:31: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:146:31: SIM210 [*] Use `bool(args.get('passwordResetRequired') == 'True')` instead of `True if args.get('passwordResetRequired') == 'True' else False` + Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:270:22: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:270:22: SIM210 [*] Use `bool(args.get('onlyAttached') == 'True')` instead of `True if args.get('onlyAttached') == 'True' else False` + Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:595:40: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:595:40: SIM210 [*] Use `bool(args.get('setAsDefault') == 'True')` instead of `True if args.get('setAsDefault') == 'True' else False` + Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:703:42: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:703:42: SIM210 [*] Use `bool(args.get('requireSymbols') == 'True')` instead of `True if args.get('requireSymbols') == 'True' else False` + Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:705:42: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:705:42: SIM210 [*] Use `bool(args.get('requireNumbers') == 'True')` instead of `True if args.get('requireNumbers') == 'True' else False` + Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:708:44: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:708:44: SIM210 [*] Use `bool(args.get('requireUppercaseCharacters') == 'True')` instead of `True if args.get('requireUppercaseCharacters') == 'True' else False` + Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:711:44: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:711:44: SIM210 [*] Use `bool(args.get('requireLowercaseCharacters') == 'True')` instead of `True if args.get('requireLowercaseCharacters') == 'True' else False` + Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:714:44: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:714:44: SIM210 [*] Use `bool(args.get('allowUsersToChangePassword') == 'True')` instead of `True if args.get('allowUsersToChangePassword') == 'True' else False` + Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:720:38: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:720:38: SIM210 [*] Use `bool(args.get('hardExpiry') == 'True')` instead of `True if args.get('hardExpiry') == 'True' else False` + Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:72:49: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-IAM/Integrations/AWS-IAM/AWS-IAM.py:72:49: SIM210 [*] Use `bool(args.get('passwordResetRequired') == 'True')` instead of `True if args.get('passwordResetRequired') == 'True' else False` + Packs/AWS-S3/Integrations/AWS-S3/AWS-S3.py:118:47: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AWS-S3/Integrations/AWS-S3/AWS-S3.py:118:47: SIM210 [*] Use `bool(args.get('confirmRemoveSelfBucketAccess') == 'True')` instead of `True if args.get('confirmRemoveSelfBucketAccess') == 'True' else False` + Packs/AcalvioShadowplex/Integrations/acalvioapp/acalvioapp.py:281:23: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AcalvioShadowplex/Integrations/acalvioapp/acalvioapp.py:281:23: SIM210 [*] Use `bool(0 == res_json['rescode'])` instead of `True if 0 == res_json['rescode'] else False` + Packs/AcalvioShadowplex/Integrations/acalvioapp/acalvioapp.py:314:25: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AcalvioShadowplex/Integrations/acalvioapp/acalvioapp.py:314:25: SIM210 [*] Use `bool(0 == res_json['rescode'])` instead of `True if 0 == res_json['rescode'] else False` + Packs/AcalvioShadowplex/Integrations/acalvioapp/acalvioapp.py:347:23: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AcalvioShadowplex/Integrations/acalvioapp/acalvioapp.py:347:23: SIM210 [*] Use `bool(0 == res_json['rescode'])` instead of `True if 0 == res_json['rescode'] else False` + Packs/AcalvioShadowplex/Integrations/acalvioapp/acalvioapp.py:381:25: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AcalvioShadowplex/Integrations/acalvioapp/acalvioapp.py:381:25: SIM210 [*] Use `bool(0 == res_json['rescode'])` instead of `True if 0 == res_json['rescode'] else False` + Packs/AgariPhishingDefense/Integrations/AgariPhishingDefense/AgariPhishingDefense_test.py:88:20: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/AgariPhishingDefense/Integrations/AgariPhishingDefense/AgariPhishingDefense_test.py:88:20: SIM210 [*] Use `bool(status < 400)` instead of `True if status < 400 else False` + Packs/Akamai_WAF/Integrations/Akamai_WAF/Akamai_WAF.py:4010:41: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/Akamai_WAF/Integrations/Akamai_WAF/Akamai_WAF.py:4010:41: SIM210 [*] Use `bool(gzip_compression.lower() == 'yes')` instead of `True if gzip_compression.lower() == 'yes' else False` + Packs/Akamai_WAF/Integrations/Akamai_WAF/Akamai_WAF.py:4050:45: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/Akamai_WAF/Integrations/Akamai_WAF/Akamai_WAF.py:4050:45: SIM210 [*] Use `bool(gzip_compression.lower() == 'yes')` instead of `True if gzip_compression.lower() == 'yes' else False` + Packs/Akamai_WAF/Integrations/Akamai_WAF/Akamai_WAF.py:4582:15: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/Akamai_WAF/Integrations/Akamai_WAF/Akamai_WAF.py:4582:15: SIM210 [*] Use `bool(val.lower() == 'yes')` instead of `True if val.lower() == 'yes' else False` + Packs/AutoFocus/Integrations/AutofocusV2/AutofocusV2.py:1335:19: SIM211 [*] Use `not ...` instead of `False if ... else True` - Packs/AutoFocus/Integrations/AutofocusV2/AutofocusV2.py:1335:19: SIM211 [*] Use `not args.get('filter_data') == 'False'` instead of `False if args.get('filter_data') == 'False' else True` + Packs/CIRCL/Integrations/CIRCL/CIRCL.py:16:18: SIM210 [*] Use `bool(...)` instead of `True if ... else False` - Packs/CIRCL/Integrations/CIRCL/CIRCL.py:16:18: SIM210 [*] Use `bool(demisto.params().get('proxy'))` instead of `True if demisto.params().get('proxy') else False` + Packs/Centreon/Integrations/Centreon/Centreon.py:15:11: SIM211 [*] Use `not ...` instead of `False if ... else True` - Packs/Centreon/Integrations/Centreon/Centreon.py:15:11: SIM211 [*] Use `not demisto.params().get('insecure')` instead of `False if demisto.params().get('insecure') else True` + Packs/CheckpointFirewall/Integrations/CheckPointFirewallV2/CheckPointFirewallV2.py:1742:18: SIM211 [*] Use `not ...` instead of `False if ... else True` - Packs/CheckpointFirewall/Integrations/CheckPointFirewallV2/CheckPointFirewallV2.py:1742:18: SIM211 [*] Use `not args.get('properties') == 'false'` instead of `False if args.get('properties') == 'false' else True` + Packs/CheckpointFirewall/Integrations/CheckPointFirewallV2/CheckPointFirewallV2.py:1743:16: SIM211 [*] Use `not ...` instead of `False if ... else True` - Packs/CheckpointFirewall/Integrations/CheckPointFirewallV2/CheckPointFirewallV2.py:1743:16: SIM211 [*] Use `not args.get('profiles') == 'false'` instead of `False if args.get('profiles') == 'false' else True` + Packs/Clarizen/Integrations/ClarizenIAM/ClarizenIAM.py:112:25: SIM211 [*] Use `not ...` instead of `False if ... else True` - Packs/Clarizen/Integrations/ClarizenIAM/ClarizenIAM.py:112:25: SIM211 [*] Use `not active == 'Disabled'` instead of `False if active == 'Disabled' else True` + Packs/Clarizen/Integrations/ClarizenIAM/ClarizenIAM.py:174:21: SIM211 [*] Use `not ...` instead of `False if ... else True` - Packs/Clarizen/Integrations/ClarizenIAM/ClarizenIAM.py:174:21: SIM211 [*] Use `not active == 'Disabled'` instead of `False if active == 'Disabled' else True` + Packs/Claroty/Integrations/Claroty/Claroty.py:494:12: SIM211 [*] Use `not ...` instead of `False if ... else True` - Packs/Claroty/Integrations/Claroty/Claroty.py:494:12: SIM211 [*] Use `not sort_order == "asc"` instead of `False if sort_order == "asc" else True` + Packs/CloudShare/Integrations/CloudShare/CloudShare.py:412:23: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/CloudShare/Integrations/CloudShare/CloudShare.py:412:23: SIM210 [*] Use `bool(args.get('isFull', 'false') == 'true')` instead of `True if args.get('isFull', 'false') == 'true' else False` + Packs/CloudShare/Integrations/CloudShare/CloudShare.py:533:13: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/CloudShare/Integrations/CloudShare/CloudShare.py:533:13: SIM210 [*] Use `bool(args.get('owned', 'false') == 'true')` instead of `True if args.get('owned', 'false') == 'true' else False` + Packs/CloudShare/Integrations/CloudShare/CloudShare.py:534:15: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/CloudShare/Integrations/CloudShare/CloudShare.py:534:15: SIM210 [*] Use `bool(args.get('visible', 'false') == 'true')` instead of `True if args.get('visible', 'false') == 'true' else False` + Packs/CloudShare/Integrations/CloudShare/CloudShare.py:55:38: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/CloudShare/Integrations/CloudShare/CloudShare.py:55:38: SIM210 [*] Use `bool(args.get('WhereUserIsProjectManager', 'false') == 'true')` instead of `True if args.get('WhereUserIsProjectManager', 'false') == 'true' else False` + Packs/CloudShare/Integrations/CloudShare/CloudShare.py:56:37: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/CloudShare/Integrations/CloudShare/CloudShare.py:56:37: SIM210 [*] Use `bool(args.get('WhereUserIsProjectMember', 'false') == 'true')` instead of `True if args.get('WhereUserIsProjectMember', 'false') == 'true' else False` + Packs/CloudShare/Integrations/CloudShare/CloudShare.py:57:36: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/CloudShare/Integrations/CloudShare/CloudShare.py:57:36: SIM210 [*] Use `bool(args.get('WhereUserCanCreateClass', 'false') == 'true')` instead of `True if args.get('WhereUserCanCreateClass', 'false') == 'true' else False` + Packs/CofenseTriage/Integrations/CofenseTriagev3/CofenseTriagev3.py:258:25: SIM211 [*] Use `not ...` instead of `False if ... else True` - Packs/CofenseTriage/Integrations/CofenseTriagev3/CofenseTriagev3.py:258:25: SIM211 [*] Use `not key.startswith(arg)` instead of `False if key.startswith(arg) else True` + Packs/CommonScripts/Scripts/CVSSCalculator/CVSSCalculator.py:175:21: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/CommonScripts/Scripts/CVSSCalculator/CVSSCalculator.py:175:21: SIM210 [*] Use `bool(args.get('S') == 'C')` instead of `True if args.get('S') == 'C' else False` + Packs/CommonScripts/Scripts/CVSSCalculator/CVSSCalculator.py:176:30: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/CommonScripts/Scripts/CVSSCalculator/CVSSCalculator.py:176:30: SIM210 [*] Use `bool(args.get('MS') == 'C')` instead of `True if args.get('MS') == 'C' else False` + Packs/CommonScripts/Scripts/DisplayHTML/DisplayHTML.py:10:12: SIM210 [*] Use `bool(...)` instead of `True if ... else False` - Packs/CommonScripts/Scripts/DisplayHTML/DisplayHTML.py:10:12: SIM210 [*] Use `bool(note and note.lower() == "true")` instead of `True if note and note.lower() == "true" else False` + Packs/CommonScripts/Scripts/FetchIndicatorsFromFile/FetchIndicatorsFromFile.py:211:19: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/CommonScripts/Scripts/FetchIndicatorsFromFile/FetchIndicatorsFromFile.py:211:19: SIM210 [*] Use `bool(args.get('auto_detect') == 'True')` instead of `True if args.get('auto_detect') == 'True' else False` + Packs/CommonScripts/Scripts/GetIndicatorDBotScoreFromCache/GetIndicatorDBotScoreFromCache.py:16:28: SIM211 [*] Use `not ...` instead of `False if ... else True` - Packs/CommonScripts/Scripts/GetIndicatorDBotScoreFromCache/GetIndicatorDBotScoreFromCache.py:16:28: SIM211 [*] Use `not data.get("expirationStatus") == "active"` instead of `False if data.get("expirationStatus") == "active" else True` + Packs/CommonScripts/Scripts/HTTPListRedirects/HTTPListRedirects_test.py:82:26: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/CommonScripts/Scripts/HTTPListRedirects/HTTPListRedirects_test.py:82:26: SIM210 [*] Use `bool(use_head == 'true')` instead of `True if use_head == 'true' else False` + Packs/CommonScripts/Scripts/HttpV2/HttpV2.py:198:27: SIM210 [*] Use `bool(...)` instead of `True if ... else False` - Packs/CommonScripts/Scripts/HttpV2/HttpV2.py:198:27: SIM210 [*] Use `bool(retry_on_status)` instead of `True if retry_on_status else False` + Packs/CommonScripts/Scripts/IsInternalHostName/IsInternalHostName.py:23:31: SIM210 [*] Use `bool(...)` instead of `True if ... else False` - Packs/CommonScripts/Scripts/IsInternalHostName/IsInternalHostName.py:23:31: SIM210 [*] Use `bool(internalRegexMatch or internalDomainMatch)` instead of `True if internalRegexMatch or internalDomainMatch else False` + Packs/CommonScripts/Scripts/LookupCSV/LookupCSV.py:105:28: SIM210 [*] Use `bool(...)` instead of `True if ... else False` - Packs/CommonScripts/Scripts/LookupCSV/LookupCSV.py:105:28: SIM210 [*] Use `bool(csv_data and search_column)` instead of `True if csv_data and search_column else False` + Packs/CommonScripts/Scripts/ParseCSV/ParseCSV.py:127:17: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/CommonScripts/Scripts/ParseCSV/ParseCSV.py:127:17: SIM210 [*] Use `bool(d_args['parseAll'] == 'yes')` instead of `True if d_args['parseAll'] == 'yes' else False` + Packs/Cybereason/Integrations/Cybereason/Cybereason.py:1180:33: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/Cybereason/Integrations/Cybereason/Cybereason.py:1180:33: SIM210 [*] Use `bool(dict_safe_get(simple_values, ['isSigned', 'values', 0]) == 'true')` instead of `True if dict_safe_get(simple_values, ['isSigned', 'values', 0]) == 'true' else False` + Packs/Cybereason/Integrations/Cybereason/Cybereason.py:1340:32: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/Cybereason/Integrations/Cybereason/Cybereason.py:1340:32: SIM210 [*] Use `bool(dict_safe_get(simple_values, ['isLocalSystem', 'values', 0]) == 'true')` instead of `True if dict_safe_get(simple_values, ['isLocalSystem', 'values', 0]) == 'true' else False` + Packs/Cybersixgill-DVE/Integrations/CybersixgillDVEEnrichment/CybersixgillDVEEnrichment_test.py:407:19: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/Cybersixgill-DVE/Integrations/CybersixgillDVEEnrichment/CybersixgillDVEEnrichment_test.py:407:19: SIM210 [*] Use `bool(self.status_code == 200)` instead of `True if self.status_code == 200 else False` + Packs/Cybersixgill-DVE/Integrations/CybersixgillDVEFeed/CybersixgillDVEFeed_test.py:861:19: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/Cybersixgill-DVE/Integrations/CybersixgillDVEFeed/CybersixgillDVEFeed_test.py:861:19: SIM210 [*] Use `bool(self.status_code == 200)` instead of `True if self.status_code == 200 else False` + Packs/DeprecatedContent/Integrations/Cymon/Cymon.py:23:23: SIM211 [*] Use `not ...` instead of `False if ... else True` - Packs/DeprecatedContent/Integrations/Cymon/Cymon.py:23:23: SIM211 [*] Use `not demisto.params().get('unsecure')` instead of `False if demisto.params().get('unsecure') else True` + Packs/EclecticIQ/Integrations/EclecticIQ/EclecticIQ.py:653:24: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/EclecticIQ/Integrations/EclecticIQ/EclecticIQ.py:653:24: SIM210 [*] Use `bool(exposure.get('exposed') is True)` instead of `True if exposure.get('exposed') is True else False` + Packs/EclecticIQ/Integrations/EclecticIQ/EclecticIQ.py:654:26: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/EclecticIQ/Integrations/EclecticIQ/EclecticIQ.py:654:26: SIM210 [*] Use `bool(exposure.get('detect_feed') is True)` instead of `True if exposure.get('detect_feed') is True else False` + Packs/EclecticIQ/Integrations/EclecticIQ/EclecticIQ.py:655:27: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/EclecticIQ/Integrations/EclecticIQ/EclecticIQ.py:655:27: SIM210 [*] Use `bool(exposure.get('prevent_feed') is True)` instead of `True if exposure.get('prevent_feed') is True else False` + Packs/EclecticIQ/Integrations/EclecticIQ/EclecticIQ.py:656:26: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/EclecticIQ/Integrations/EclecticIQ/EclecticIQ.py:656:26: SIM210 [*] Use `bool(exposure.get('community_feed') is True)` instead of `True if exposure.get('community_feed') is True else False` + Packs/EclecticIQ/Integrations/EclecticIQ/EclecticIQ.py:657:25: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/EclecticIQ/Integrations/EclecticIQ/EclecticIQ.py:657:25: SIM210 [*] Use `bool(exposure.get('sighted') is True)` instead of `True if exposure.get('sighted') is True else False` + Packs/Exabeam/Integrations/Exabeam/Exabeam.py:1800:16: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/Exabeam/Integrations/Exabeam/Exabeam.py:1800:16: SIM210 [*] Use `bool(args.get('context_table_type') == 'key_only')` instead of `True if args.get('context_table_type') == 'key_only' else False` + Packs/Exabeam/Integrations/Exabeam/Exabeam.py:1820:16: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/Exabeam/Integrations/Exabeam/Exabeam.py:1820:16: SIM210 [*] Use `bool(args.get('context_table_type') == 'key_only')` instead of `True if args.get('context_table_type') == 'key_only' else False` + Packs/Exabeam/Integrations/Exabeam/Exabeam.py:1861:18: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/Exabeam/Integrations/Exabeam/Exabeam.py:1861:18: SIM210 [*] Use `bool(args.get('has_header') == 'true')` instead of `True if args.get('has_header') == 'true' else False` + Packs/Exabeam/Integrations/Exabeam/Exabeam.py:1862:15: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/Exabeam/Integrations/Exabeam/Exabeam.py:1862:15: SIM210 [*] Use `bool(args.get('append_or_replace') == 'replace')` instead of `True if args.get('append_or_replace') == 'replace' else False` + Packs/FeedMitreAttack/Integrations/FeedMitreAttack/FeedMitreAttack.py:313:11: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/FeedMitreAttack/Integrations/FeedMitreAttack/FeedMitreAttack.py:313:11: SIM210 [*] Use `bool(args.get("raw") == "True")` instead of `True if args.get("raw") == "True" else False` + Packs/FeedMitreAttack/Integrations/FeedMitreAttack/FeedMitreAttack.py:354:17: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/FeedMitreAttack/Integrations/FeedMitreAttack/FeedMitreAttack.py:354:17: SIM210 [*] Use `bool(args.get("casesensitive") == "True")` instead of `True if args.get("casesensitive") == "True" else False` + Packs/FeedMitreAttackv2/Integrations/FeedMitreAttackv2/FeedMitreAttackv2.py:237:12: SIM210 [*] Use `bool(...)` instead of `True if ... else False` - Packs/FeedMitreAttackv2/Integrations/FeedMitreAttackv2/FeedMitreAttackv2.py:237:12: SIM210 [*] Use `bool(indicator_json.get("x_mitre_deprecated") or indicator_json.get("revoked"))` instead of `True if indicator_json.get("x_mitre_deprecated") or indicator_json.get("revoked") else False` + Packs/FeedMitreAttackv2/Integrations/FeedMitreAttackv2/FeedMitreAttackv2.py:465:11: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/FeedMitreAttackv2/Integrations/FeedMitreAttackv2/FeedMitreAttackv2.py:465:11: SIM210 [*] Use `bool(args.get("raw") == "True")` instead of `True if args.get("raw") == "True" else False` + Packs/FireEyeHX/Integrations/FireEyeHXv2/FireEyeHXv2.py:2878:30: SIM211 [*] Use `not ...` instead of `False if ... else True` - Packs/FireEyeHX/Integrations/FireEyeHXv2/FireEyeHXv2.py:2878:30: SIM211 [*] Use `not args.get("exhaustive") == "false"` instead of `False if args.get("exhaustive") == "false" else True` + Packs/FireEyeNX/Integrations/FireEyeNX/FireEyeNX_test.py:80:20: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/FireEyeNX/Integrations/FireEyeNX/FireEyeNX_test.py:80:20: SIM210 [*] Use `bool(status < 400)` instead of `True if status < 400 else False` + Packs/Forescout/Integrations/Forescout/Forescout.py:281:22: SIM211 [*] Use `not ...` instead of `False if ... else True` - Packs/Forescout/Integrations/Forescout/Forescout.py:281:22: SIM211 [*] Use `not case_sensitive.casefold() == 'false'` instead of `False if case_sensitive.casefold() == 'false' else True` + Packs/Forescout/Integrations/Forescout/Forescout.py:285:21: SIM211 [*] Use `not ...` instead of `False if ... else True` - Packs/Forescout/Integrations/Forescout/Forescout.py:285:21: SIM211 [*] Use `not match_exactly.casefold() == 'false'` instead of `False if match_exactly.casefold() == 'false' else True` + Packs/GSuiteAdmin/Integrations/GSuiteAdmin/GSuiteAdmin.py:525:12: SIM210 [*] Use `bool(...)` instead of `True if ... else False` - Packs/GSuiteAdmin/Integrations/GSuiteAdmin/GSuiteAdmin.py:525:12: SIM210 [*] Use `bool(re.match(emailRegex, email))` instead of `True if re.match(emailRegex, email) else False` + Packs/GenericSQL/Integrations/GenericSQL/GenericSQL.py:390:27: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/GenericSQL/Integrations/GenericSQL/GenericSQL.py:390:27: SIM210 [*] Use `bool(fetch_parameters == 'ID and timestamp')` instead of `True if fetch_parameters == 'ID and timestamp' else False` + Packs/GenericSQL/Integrations/GenericSQL/GenericSQL.py:421:27: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/GenericSQL/Integrations/GenericSQL/GenericSQL.py:421:27: SIM210 [*] Use `bool(fetch_parameters == 'ID and timestamp')` instead of `True if fetch_parameters == 'ID and timestamp' else False` + Packs/GoogleChronicleBackstory/Integrations/GoogleChronicleBackstory/GoogleChronicleBackstory.py:3594:22: SIM210 [*] Use `bool(...)` instead of `True if ... else False` - Packs/GoogleChronicleBackstory/Integrations/GoogleChronicleBackstory/GoogleChronicleBackstory.py:3594:22: SIM210 [*] Use `bool(not json_data)` instead of `True if not json_data else False` + Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:1372:24: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:1372:24: SIM210 [*] Use `bool(args.get('forceCreate') == 'true')` instead of `True if args.get('forceCreate') == 'true' else False` + Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:1558:30: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:1558:30: SIM210 [*] Use `bool(args.get('autoCreateRoutes') == 'true')` instead of `True if args.get('autoCreateRoutes') == 'true' else False` + Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:1574:13: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:1574:13: SIM210 [*] Use `bool(args.get('networkPeeringExchangeSubnetRoutes') == 'True')` instead of `True if args.get('networkPeeringExchangeSubnetRoutes') == 'True' else False` + Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:1676:13: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:1676:13: SIM210 [*] Use `bool(args.get('autoCreateSubnetworks') == 'true')` instead of `True if args.get('autoCreateSubnetworks') == 'true' else False` + Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:377:26: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:377:26: SIM210 [*] Use `bool(args.get('canIpForward') == 'true')` instead of `True if args.get('canIpForward') == 'true' else False` + Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:3977:29: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:3977:29: SIM210 [*] Use `bool(args.get('logConfigEnable') == 'true')` instead of `True if args.get('logConfigEnable') == 'true' else False` + Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:4066:29: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:4066:29: SIM210 [*] Use `bool(args.get('logConfigEnable') == 'true')` instead of `True if args.get('logConfigEnable') == 'true' else False` + Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:4070:20: SIM210 [*] Remove unnecessary `True if ... else False` - Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:4070:20: SIM210 [*] Use `bool(args.get('disabled') == 'true')` instead of `True if args.get('disabled') == 'true' else False` + Packs/GoogleCloudCompute/Integrations/GoogleCloudCompute/GoogleCloudCompute.py:420:13: SIM210 [*] Remove unnecessary `True if ... else False` - |
[![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://beta.ruff.rs/docs) ([source](https://github.com/astral-sh/ruff), [changelog](https://github.com/astral-sh/ruff/releases)) | `^0.0.287` -> `^0.0.288` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.288?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.288?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.287/0.0.288?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.287/0.0.288?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.288`](https://github.com/astral-sh/ruff/releases/tag/v0.0.288) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.287...v0.0.288) #### What's Changed ##### Breaking Changes - Remove emoji identifier support by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://github.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://github.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://github.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://github.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://github.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://github.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://github.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://github.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://github.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://github.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://github.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://github.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://github.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://github.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://github.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://github.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://github.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://github.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://github.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://github.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://github.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://github.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://github.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://github.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://github.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://github.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://github.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://github.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://github.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://github.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://github.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://github.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://github.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://github.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://github.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://github.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://github.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://github.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://github.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://github.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://github.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://github.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://github.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://github.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://github.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://github.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://github.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://github.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://github.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://github.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://github.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://github.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://github.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://github.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://github.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://github.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://github.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://github.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://github.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://github.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) **Full Changelog**: astral-sh/ruff@v0.0.287...v0.0.288 </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://developer.mend.io/github/ixm-one/pytest-cmake-presets). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![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://beta.ruff.rs/docs) ([source](https://github.com/astral-sh/ruff), [changelog](https://github.com/astral-sh/ruff/releases)) | `==0.0.287` -> `==0.0.289` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.289`](https://github.com/astral-sh/ruff/releases/tag/v0.0.289) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.288...v0.0.289) <!-- Release notes generated using configuration in .github/release.yml at v0.0.289 --> #### What's Changed ##### Bug Fixes - Invert condition for < and <= in outdated version block by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://github.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://github.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://github.com/astral-sh/ruff/pull/6863) ##### Preview This release includes a new preview mode which can be used to opt-in to unstable rules and features. - Update rule selection to respect preview mode by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://github.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://github.com/astral-sh/ruff/pull/7274) See the [documentation](https://beta.ruff.rs/docs/preview/) and [versioning discussion](https://github.com/astral-sh/ruff/discussions/6998) for more details. #### New Contributors - [@​brendonh8](https://github.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224) **Full Changelog**: astral-sh/ruff@v0.0.288...v0.0.289 ### [`v0.0.288`](https://github.com/astral-sh/ruff/releases/tag/v0.0.288) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.287...v0.0.288) #### What's Changed ##### Breaking Changes - Remove emoji identifier support by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://github.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://github.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://github.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://github.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://github.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://github.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://github.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://github.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://github.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://github.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://github.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://github.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://github.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://github.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://github.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://github.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://github.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://github.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://github.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://github.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://github.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://github.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://github.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://github.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://github.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://github.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://github.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://github.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://github.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://github.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://github.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://github.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://github.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://github.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://github.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://github.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://github.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://github.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://github.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://github.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://github.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://github.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://github.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://github.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://github.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://github.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://github.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://github.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://github.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://github.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://github.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://github.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://github.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://github.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://github.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://github.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://github.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://github.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://github.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://github.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) **Full Changelog**: astral-sh/ruff@v0.0.287...v0.0.288 </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://developer.mend.io/github/allenporter/pyrainbird). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![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://beta.ruff.rs/docs) ([source](https://github.com/astral-sh/ruff), [changelog](https://github.com/astral-sh/ruff/releases)) | `==0.0.287` -> `==0.0.289` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.289`](https://github.com/astral-sh/ruff/releases/tag/v0.0.289) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.288...v0.0.289) <!-- Release notes generated using configuration in .github/release.yml at v0.0.289 --> #### What's Changed ##### Bug Fixes - Invert condition for < and <= in outdated version block by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://github.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://github.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://github.com/astral-sh/ruff/pull/6863) ##### Preview This release includes a new preview mode which can be used to opt-in to unstable rules and features. - Update rule selection to respect preview mode by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://github.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://github.com/astral-sh/ruff/pull/7274) See the [documentation](https://beta.ruff.rs/docs/preview/) and [versioning discussion](https://github.com/astral-sh/ruff/discussions/6998) for more details. #### New Contributors - [@​brendonh8](https://github.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224) **Full Changelog**: astral-sh/ruff@v0.0.288...v0.0.289 ### [`v0.0.288`](https://github.com/astral-sh/ruff/releases/tag/v0.0.288) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.287...v0.0.288) #### What's Changed ##### Breaking Changes - Remove emoji identifier support by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://github.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://github.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://github.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://github.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://github.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://github.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://github.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://github.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://github.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://github.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://github.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://github.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://github.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://github.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://github.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://github.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://github.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://github.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://github.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://github.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://github.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://github.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://github.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://github.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://github.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://github.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://github.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://github.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://github.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://github.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://github.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://github.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://github.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://github.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://github.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://github.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://github.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://github.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://github.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://github.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://github.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://github.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://github.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://github.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://github.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://github.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://github.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://github.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://github.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://github.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://github.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://github.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://github.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://github.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://github.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://github.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://github.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://github.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://github.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://github.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) **Full Changelog**: astral-sh/ruff@v0.0.287...v0.0.288 </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://developer.mend.io/github/allenporter/flux-local). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![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://beta.ruff.rs/docs) ([source](https://github.com/astral-sh/ruff), [changelog](https://github.com/astral-sh/ruff/releases)) | `^0.0.286` -> `^0.0.289` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.286/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.286/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.289`](https://github.com/astral-sh/ruff/releases/tag/v0.0.289) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.288...v0.0.289) <!-- Release notes generated using configuration in .github/release.yml at v0.0.289 --> #### What's Changed ##### Bug Fixes - Invert condition for < and <= in outdated version block by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://github.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://github.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://github.com/astral-sh/ruff/pull/6863) ##### Preview This release includes a new preview mode which can be used to opt-in to unstable rules and features. - Update rule selection to respect preview mode by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://github.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://github.com/astral-sh/ruff/pull/7274) See the [documentation](https://beta.ruff.rs/docs/preview/) and [versioning discussion](https://github.com/astral-sh/ruff/discussions/6998) for more details. #### New Contributors - [@​brendonh8](https://github.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224) **Full Changelog**: astral-sh/ruff@v0.0.288...v0.0.289 ### [`v0.0.288`](https://github.com/astral-sh/ruff/releases/tag/v0.0.288) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.287...v0.0.288) #### What's Changed ##### Breaking Changes - Remove emoji identifier support by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://github.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://github.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://github.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://github.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://github.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://github.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://github.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://github.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://github.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://github.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://github.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://github.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://github.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://github.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://github.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://github.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://github.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://github.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://github.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://github.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://github.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://github.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://github.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://github.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://github.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://github.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://github.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://github.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://github.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://github.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://github.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://github.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://github.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://github.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://github.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://github.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://github.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://github.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://github.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://github.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://github.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://github.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://github.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://github.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://github.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://github.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://github.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://github.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://github.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://github.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://github.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://github.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://github.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://github.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://github.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://github.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://github.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://github.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://github.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://github.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) **Full Changelog**: astral-sh/ruff@v0.0.287...v0.0.288 ### [`v0.0.287`](https://github.com/astral-sh/ruff/releases/tag/v0.0.287) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.286...v0.0.287) <!-- Release notes generated using configuration in .github/release.yml at v0.0.287 --> #### What's Changed ##### Rules - \[refurb] Implement preview `repeated-append` rule (`FURB113`) by [@​SavchenkoValeriy](https://github.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6702](https://github.com/astral-sh/ruff/pull/6702) - \[refurb] Implement preview `delete-full-slice` rule (`FURB131`) by [@​SavchenkoValeriy](https://github.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6897](https://github.com/astral-sh/ruff/pull/6897) - \[refurb] Implement preview `check-and-remove-from-set` rule (`FURB132`) by [@​SavchenkoValeriy](https://github.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6904](https://github.com/astral-sh/ruff/pull/6904) ##### Bug Fixes - Expand `PERF401` and `PERF402` with type checks by [@​qdegraaf](https://github.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/6994](https://github.com/astral-sh/ruff/pull/6994) - Insert space to avoid syntax error in RSE fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6886](https://github.com/astral-sh/ruff/pull/6886) - Avoid PEP 604 upgrades that lead to invalid syntax by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6888](https://github.com/astral-sh/ruff/pull/6888) - Fix ranges for global usages by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6917](https://github.com/astral-sh/ruff/pull/6917) - Avoid invalid fix for C417 with separate keys and values by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6954](https://github.com/astral-sh/ruff/pull/6954) - Avoid panic when `typename` is provided as a keyword argument by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6955](https://github.com/astral-sh/ruff/pull/6955) - Improve compatibility between multi-statement PYI rules by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7024](https://github.com/astral-sh/ruff/pull/7024) - Fixed panic in `missing_copyright_notice` by [@​WindowGenerator](https://github.com/WindowGenerator) in [https://github.com/astral-sh/ruff/pull/7029](https://github.com/astral-sh/ruff/pull/7029) - Avoid lexer infinite loop on invalid input by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6937](https://github.com/astral-sh/ruff/pull/6937) - Fix `WithItem` ranges for parenthesized, non-`as` items by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6782](https://github.com/astral-sh/ruff/pull/6782) #### New Contributors - [@​SavchenkoValeriy](https://github.com/SavchenkoValeriy) made their first contribution in [https://github.com/astral-sh/ruff/pull/6702](https://github.com/astral-sh/ruff/pull/6702) - [@​Anselmoo](https://github.com/Anselmoo) made their first contribution in [https://github.com/astral-sh/ruff/pull/6986](https://github.com/astral-sh/ruff/pull/6986) - [@​njgrisafi](https://github.com/njgrisafi) made their first contribution in [https://github.com/astral-sh/ruff/pull/7032](https://github.com/astral-sh/ruff/pull/7032) - [@​WindowGenerator](https://github.com/WindowGenerator) made their first contribution in [https://github.com/astral-sh/ruff/pull/7029](https://github.com/astral-sh/ruff/pull/7029) **Full Changelog**: astral-sh/ruff@v0.0.286...v0.0.287 </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://developer.mend.io/github/fulcrum-so/ziggy-pydust). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![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://beta.ruff.rs/docs) ([source](https://github.com/astral-sh/ruff), [changelog](https://github.com/astral-sh/ruff/releases)) | `^0.0.286` -> `^0.0.290` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.286/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.286/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.290`](https://github.com/astral-sh/ruff/releases/tag/v0.0.290) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.289...v0.0.290) <!-- Release notes generated using configuration in .github/release.yml at v0.0.290 --> #### What's Changed ##### Rules - Update `deprecated-import` lists based on recent `typing-extensions` release by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7356](https://github.com/astral-sh/ruff/pull/7356) - Add support for bounds, constraints, and explicit variance on generic type variables to `UP040` by [@​nathanwhit](https://github.com/nathanwhit) in [https://github.com/astral-sh/ruff/pull/6749](https://github.com/astral-sh/ruff/pull/6749) ##### Settings - Show rule codes in shell tab completion by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7375](https://github.com/astral-sh/ruff/pull/7375) ##### Bug Fixes - Parenthesize single-generator arguments when adding reverse keyword by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7365](https://github.com/astral-sh/ruff/pull/7365) - Invert reverse argument regardless of whether it's a boolean by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7372](https://github.com/astral-sh/ruff/pull/7372) - Extend `C416` to catch tuple unpacking by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7363](https://github.com/astral-sh/ruff/pull/7363) - Allow `NURSERY` rule selctor in JSON Schema by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7374](https://github.com/astral-sh/ruff/pull/7374) - Avoid flagging single-quoted docstrings with continuations for multi-line rules by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7392](https://github.com/astral-sh/ruff/pull/7392) - Treat whitespace-only line as blank for `D411` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7351](https://github.com/astral-sh/ruff/pull/7351) ##### Preview [*What's this section?*](https://beta.ruff.rs/docs/preview/) - \[`flake8-logging`] New rule `undocumented-warn` (`LOG009`) by [@​qdegraaf](https://github.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/7249](https://github.com/astral-sh/ruff/pull/7249) - \[`flake8-logging`] New rule `direct-logger-instantiation` (`LOG001`) by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7397](https://github.com/astral-sh/ruff/pull/7397) - \[`flake8-logging`] New plugin `flake8_logging` (`LOG`) by [@​qdegraaf](https://github.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/7249](https://github.com/astral-sh/ruff/pull/7249) - \[`perflint`] Add `manual-dict-comprehsion` (`PERF403`) by [@​qdegraaf](https://github.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/6132](https://github.com/astral-sh/ruff/pull/6132) - \[`pylint`] New rule `too-many-public-methods` (`PLR0904`) by [@​jelly](https://github.com/jelly) in [https://github.com/astral-sh/ruff/pull/6179](https://github.com/astral-sh/ruff/pull/6179) - \[`refurb`] New rule `no-slice-copy` (`FURB145`) by [@​tjkuson](https://github.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/7007](https://github.com/astral-sh/ruff/pull/7007) - Add warnings for nursery and preview rule selection by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7210](https://github.com/astral-sh/ruff/pull/7210) - Remove the `PREVIEW` rule selector by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7389](https://github.com/astral-sh/ruff/pull/7389) - [`pre-commit` support](https://github.com/astral-sh/ruff-pre-commit#using-ruffs-formatter-unstable) for the [alpha formatter](https://github.com/astral-sh/ruff/discussions/7310) by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff-pre-commit/pull/50](https://github.com/astral-sh/ruff-pre-commit/pull/50) #### New Contributors - [@​nathanwhit](https://github.com/nathanwhit) made their first contribution in [https://github.com/astral-sh/ruff/pull/6749](https://github.com/astral-sh/ruff/pull/6749) **Full Changelog**: astral-sh/ruff@v0.0.289...v0.0.290 ### [`v0.0.289`](https://github.com/astral-sh/ruff/releases/tag/v0.0.289) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.288...v0.0.289) <!-- Release notes generated using configuration in .github/release.yml at v0.0.289 --> #### What's Changed ##### Bug Fixes - Invert condition for < and <= in outdated version block by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://github.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://github.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://github.com/astral-sh/ruff/pull/6863) ##### Preview This release includes a new preview mode which can be used to opt-in to unstable rules and features. - Update rule selection to respect preview mode by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://github.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://github.com/astral-sh/ruff/pull/7274) See the [documentation](https://beta.ruff.rs/docs/preview/) and [versioning discussion](https://github.com/astral-sh/ruff/discussions/6998) for more details. #### New Contributors - [@​brendonh8](https://github.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224) **Full Changelog**: astral-sh/ruff@v0.0.288...v0.0.289 ### [`v0.0.288`](https://github.com/astral-sh/ruff/releases/tag/v0.0.288) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.287...v0.0.288) #### What's Changed ##### Breaking Changes - Remove emoji identifier support by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://github.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://github.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://github.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://github.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://github.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://github.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://github.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://github.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://github.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://github.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://github.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://github.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://github.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://github.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://github.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://github.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://github.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://github.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://github.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://github.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://github.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://github.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://github.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://github.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://github.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://github.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://github.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://github.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://github.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://github.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://github.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://github.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://github.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://github.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://github.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://github.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://github.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://github.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://github.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://github.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://github.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://github.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://github.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://github.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://github.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://github.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://github.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://github.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://github.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://github.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://github.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://github.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://github.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://github.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://github.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://github.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://github.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://github.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://github.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://github.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://github.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://github.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251) **Full Changelog**: astral-sh/ruff@v0.0.287...v0.0.288 ### [`v0.0.287`](https://github.com/astral-sh/ruff/releases/tag/v0.0.287) [Compare Source](https://github.com/astral-sh/ruff/compare/v0.0.286...v0.0.287) <!-- Release notes generated using configuration in .github/release.yml at v0.0.287 --> #### What's Changed ##### Rules - \[refurb] Implement preview `repeated-append` rule (`FURB113`) by [@​SavchenkoValeriy](https://github.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6702](https://github.com/astral-sh/ruff/pull/6702) - \[refurb] Implement preview `delete-full-slice` rule (`FURB131`) by [@​SavchenkoValeriy](https://github.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6897](https://github.com/astral-sh/ruff/pull/6897) - \[refurb] Implement preview `check-and-remove-from-set` rule (`FURB132`) by [@​SavchenkoValeriy](https://github.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6904](https://github.com/astral-sh/ruff/pull/6904) ##### Bug Fixes - Expand `PERF401` and `PERF402` with type checks by [@​qdegraaf](https://github.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/6994](https://github.com/astral-sh/ruff/pull/6994) - Insert space to avoid syntax error in RSE fixes by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6886](https://github.com/astral-sh/ruff/pull/6886) - Avoid PEP 604 upgrades that lead to invalid syntax by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6888](https://github.com/astral-sh/ruff/pull/6888) - Fix ranges for global usages by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6917](https://github.com/astral-sh/ruff/pull/6917) - Avoid invalid fix for C417 with separate keys and values by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6954](https://github.com/astral-sh/ruff/pull/6954) - Avoid panic when `typename` is provided as a keyword argument by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6955](https://github.com/astral-sh/ruff/pull/6955) - Improve compatibility between multi-statement PYI rules by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7024](https://github.com/astral-sh/ruff/pull/7024) - Fixed panic in `missing_copyright_notice` by [@​WindowGenerator](https://github.com/WindowGenerator) in [https://github.com/astral-sh/ruff/pull/7029](https://github.com/astral-sh/ruff/pull/7029) - Avoid lexer infinite loop on invalid input by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6937](https://github.com/astral-sh/ruff/pull/6937) - Fix `WithItem` ranges for parenthesized, non-`as` items by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6782](https://github.com/astral-sh/ruff/pull/6782) #### New Contributors - [@​SavchenkoValeriy](https://github.com/SavchenkoValeriy) made their first contribution in [https://github.com/astral-sh/ruff/pull/6702](https://github.com/astral-sh/ruff/pull/6702) - [@​Anselmoo](https://github.com/Anselmoo) made their first contribution in [https://github.com/astral-sh/ruff/pull/6986](https://github.com/astral-sh/ruff/pull/6986) - [@​njgrisafi](https://github.com/njgrisafi) made their first contribution in [https://github.com/astral-sh/ruff/pull/7032](https://github.com/astral-sh/ruff/pull/7032) - [@​WindowGenerator](https://github.com/WindowGenerator) made their first contribution in [https://github.com/astral-sh/ruff/pull/7029](https://github.com/astral-sh/ruff/pull/7029) **Full Changelog**: astral-sh/ruff@v0.0.286...v0.0.287 </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://developer.mend.io/github/fulcrum-so/ziggy-pydust-template). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Closes #7076.