Skip to content

Conversation

cdce8p
Copy link
Member

@cdce8p cdce8p commented Aug 29, 2025

To review I'd suggest to use Hide whitespace.

@cdce8p cdce8p added Maintenance Discussion or action around maintaining pylint or the dev workflow Skip news 🔇 This change does not require a changelog entry labels Aug 29, 2025
Copy link

codecov bot commented Aug 29, 2025

Codecov Report

❌ Patch coverage is 98.84170% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 95.88%. Comparing base (df3aa2a) to head (b1f867e).

Files with missing lines Patch % Lines
pylint/checkers/format.py 97.61% 1 Missing ⚠️
pylint/checkers/imports.py 97.05% 1 Missing ⚠️
pylint/checkers/strings.py 97.22% 1 Missing ⚠️
pylint/checkers/typecheck.py 99.20% 1 Missing ⚠️
pylint/checkers/utils.py 98.96% 1 Missing ⚠️
pylint/checkers/variables.py 98.98% 1 Missing ⚠️

❌ Your patch check has failed because the patch coverage (98.84%) is below the target coverage (100.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main   #10528      +/-   ##
==========================================
+ Coverage   95.84%   95.88%   +0.03%     
==========================================
  Files         177      177              
  Lines       19289    19346      +57     
==========================================
+ Hits        18488    18549      +61     
+ Misses        801      797       -4     
Files with missing lines Coverage Δ
pylint/checkers/async_checker.py 100.00% <100.00%> (+2.27%) ⬆️
pylint/checkers/exceptions.py 98.30% <100.00%> (+0.01%) ⬆️
pylint/checkers/lambda_expressions.py 100.00% <100.00%> (ø)
pylint/checkers/logging.py 94.66% <100.00%> (ø)
pylint/checkers/modified_iterating_checker.py 97.72% <100.00%> (ø)
pylint/checkers/non_ascii_names.py 100.00% <100.00%> (ø)
pylint/checkers/stdlib.py 96.33% <100.00%> (+0.06%) ⬆️
pylint/checkers/format.py 97.00% <97.61%> (+0.38%) ⬆️
pylint/checkers/imports.py 94.87% <97.05%> (+0.01%) ⬆️
pylint/checkers/strings.py 94.29% <97.22%> (+0.02%) ⬆️
... and 3 more

... and 1 file with indirect coverage changes

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

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

Copy link
Member

@Pierre-Sassoulas Pierre-Sassoulas left a comment

Choose a reason for hiding this comment

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

Look pretty good overall, this is long to review and make me a little afraid of having to deal with other things than new defaults annoying some peoples for the 4.0 release.

continue
else:
match inferred := checker_utils.safe_infer(ctx_mgr):
case _ if not inferred:
Copy link
Member

Choose a reason for hiding this comment

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

We're missing the case where isinstance(inferred, util.UninferableBase) that was previously handled ?

Copy link
Member Author

Choose a reason for hiding this comment

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

While reviewing the checker code base I've seen the not inferred check in two different ways.

if inferred is None or isinstance(inferred, util.UninferableBase): ...

if not inferred: ...

Those could be translated to

match inferred:
    case None | util.UninferableBase():
        ...
    case _ if not inferred:
        ...

The later works since bool(util.UninferableBase()) also evaluates to False.
https://github.com/pylint-dev/astroid/blob/v4.0.0b2/astroid/util.py#L42-L43

--
I decided it might be better to just use one of the styles going forward. My slight preference would be towards case _ if not inferred.

@@ -268,7 +268,7 @@ def new_line(self, tokens: TokenWrapper, line_end: int, line_start: int) -> None
def process_module(self, node: nodes.Module) -> None:
pass

# pylint: disable-next = too-many-return-statements, too-many-branches
# pylint: disable-next = too-many-return-statements
Copy link
Member

Choose a reason for hiding this comment

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

🔥

Copy link
Member Author

@cdce8p cdce8p Sep 6, 2025

Choose a reason for hiding this comment

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

This might actually be a bug. I'd bet the checker doesn't account for match-case.

Update

Comment on lines +43 to +44
case nodes.Assign(
targets=[nodes.AssignName(), *_], value=nodes.Lambda() as value
Copy link
Member

Choose a reason for hiding this comment

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

node is always going to be a nodes.Assign, shouldn't we match node.targets[0] ?

Copy link
Member Author

Choose a reason for hiding this comment

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

We also need to match node.value. Technically this introduces one redundant isinstance check however I think the readability improvement makes up for that.

I've also read somewhere that they wanted to cache the isinstance check results but haven't checked if the CPython type actually implemented it.

--
In theory we could also replace nodes.Assign(...) with just object(...). That would work two though I don't think it would be particularly better.

Comment on lines -76 to +83
msg = "non-ascii-name"

# Some node types have customized messages
if node_type == "file":
msg = "non-ascii-file-name"
elif node_type == "module":
msg = "non-ascii-module-import"
match node_type:
case "file":
msg = "non-ascii-file-name"
case "module":
msg = "non-ascii-module-import"
case _:
msg = "non-ascii-name"
Copy link
Member

Choose a reason for hiding this comment

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

👍

Comment on lines -421 to +423
if (
isinstance(func, astroid.BoundMethod)
and isinstance(func.bound, astroid.Instance)
and func.bound.name in {"str", "unicode", "bytes"}
):
if func.name in {"strip", "lstrip", "rstrip"} and node.args:
arg = utils.safe_infer(node.args[0])
if not isinstance(arg, nodes.Const) or not isinstance(arg.value, str):
return
if len(arg.value) != len(set(arg.value)):
self.add_message(
"bad-str-strip-call",
node=node,
args=(func.bound.name, func.name),
)
elif func.name == "format":
self._check_new_format(node, func)
match func := utils.safe_infer(node.func):
case astroid.BoundMethod(
bound=astroid.Instance(name="str" | "unicode" | "bytes" as bound_name),
):
Copy link
Member

Choose a reason for hiding this comment

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

The match case really shine in those cases.

Copy link
Member Author

Choose a reason for hiding this comment

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

I completely agree. There will be more, many more 😉 (#10531)

Comment on lines -1436 to +1440
if isinstance(default1, nodes.Const) and isinstance(default2, nodes.Const):
if default1.value != default2.value:
return True
elif isinstance(default1, nodes.Name) and isinstance(default2, nodes.Name):
if default1.name != default2.name:
match (default1, default2):
case [nodes.Const(), nodes.Const()]:
return default1.value != default2.value # type: ignore[no-any-return]
case [nodes.Name(), nodes.Name()]:
return default1.name != default2.name # type: ignore[no-any-return]
case _:
Copy link
Member

Choose a reason for hiding this comment

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

A lot better here too !

Copy link
Member Author

Choose a reason for hiding this comment

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

I like this one too!

Comment on lines -1622 to +1631
if (
(
isinstance(parent_node, nodes.AnnAssign)
and parent_node.annotation == current_node
)
or (
isinstance(parent_node, nodes.Arguments)
and current_node
in (
*parent_node.annotations,
*parent_node.posonlyargs_annotations,
*parent_node.kwonlyargs_annotations,
parent_node.varargannotation,
parent_node.kwargannotation,
)
)
or (
isinstance(parent_node, nodes.FunctionDef)
and parent_node.returns == current_node
)
):
return True
match parent_node:
case nodes.AnnAssign(annotation=ann) if ann == current_node:
return True
case nodes.Arguments() if current_node in (
*parent_node.annotations,
*parent_node.posonlyargs_annotations,
*parent_node.kwonlyargs_annotations,
parent_node.varargannotation,
parent_node.kwargannotation,
):
return True
case nodes.FunctionDef(returns=ret) if ret == current_node:
return True
Copy link
Member

Choose a reason for hiding this comment

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

Great !

Copy link
Member Author

Choose a reason for hiding this comment

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

At some point we need a competition to find the best match uses 😄



def has_starred_node_recursive(
node: nodes.For | nodes.Comprehension | nodes.Set,
node: nodes.For | nodes.Comprehension | nodes.Set | nodes.Starred,
Copy link
Member

Choose a reason for hiding this comment

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

👍

@cdce8p
Copy link
Member Author

cdce8p commented Sep 6, 2025

Think I've address all your comments. Let me know if I missed anything.

Look pretty good overall, this is long to review and make me a little afraid of having to deal with other things than new defaults annoying some peoples for the 4.0 release.

I've I did my job right, and I'm pretty confident in these, there shouldn't be any behavior changes. At most one or two minor regressions which could be fixed easily. Especially with the improved readability of the match statements.

--
Just from my experience so far, it's quite easy to way overcomplicate the match statement. During my second and third pass, I had to force myself to keep them simple. Though there are more match statements to come, so not sure about all just yet.

This comment has been minimized.

Copy link
Contributor

github-actions bot commented Sep 6, 2025

🤖 Effect of this PR on checked open source code: 🤖

Effect on home-assistant:
The following messages are now emitted:

  1. use-set-for-membership:
    Consider using set for membership test
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/ecowitt/sensor.py#L258
  2. invalid-overridden-method:
    Method 'native_value' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/ecowitt/sensor.py#L290
  3. unused-argument:
    Unused argument 'now'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L106
  4. unused-argument:
    Unused argument 'now'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L111
  5. logging-fstring-interpolation:
    Use lazy % formatting in logging functions
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L132
  6. abstract-method:
    Method '_async_update' is abstract in class 'BasePlatform' but is not overridden in child class 'BaseStructPlatform'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L157
  7. too-many-instance-attributes:
    Too many instance attributes (10/7)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L157
  8. comparison-with-itself:
    Redundant comparison - entry != entry
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L215
  9. use-implicit-booleaness-not-comparison-to-zero:
    "self._precision == 0" can be simplified to "not self._precision", if it is strictly an int, as 0 is falsey
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L225
  10. magic-value-comparison:
    Consider using a named constant or an enum instead of 'b'nan\x00''.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L239
  11. bad-builtin:
    Used builtin function 'map'. Using a list comprehension can be clearer.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L258
  12. abstract-method:
    Method 'turn_off' is abstract in class 'ToggleEntity' but is not overridden in child class 'BaseSwitch'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L264
  13. abstract-method:
    Method 'turn_on' is abstract in class 'ToggleEntity' but is not overridden in child class 'BaseSwitch'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L264
  14. too-many-instance-attributes:
    Too many instance attributes (12/7)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L264
  15. import-error:
    Unable to import 'asyncssh.sftp'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/backup.py#L8
  16. unused-argument:
    Unused argument 'kwargs'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/backup.py#L33
  17. too-many-try-statements:
    try clause contains 2 statements, expected at most 1
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/backup.py#L74
  18. too-many-try-statements:
    try clause contains 3 statements, expected at most 1
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/backup.py#L112
  19. line-too-long:
    Line too long (103/100)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/config_flow.py#L67
  20. too-complex:
    'async_step_user' is too complex. The McCabe rating is 11
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/config_flow.py#L107
  21. import-error:
    Unable to import 'asyncssh'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/config_flow.py#L10
  22. import-error:
    Unable to import 'asyncssh.misc'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/config_flow.py#L11
  23. import-error:
    Unable to import 'asyncssh.sftp'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/config_flow.py#L12
  24. import-error:
    Unable to import 'voluptuous'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/config_flow.py#L13
  25. abstract-method:
    Method 'is_matching' is abstract in class 'ConfigFlow' but is not overridden in child class 'SFTPFlowHandler'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/config_flow.py#L70
  26. broad-exception-caught:
    Catching too general exception Exception
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/config_flow.py#L184
  27. too-many-try-statements:
    try clause contains 7 statements, expected at most 1
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/config_flow.py#L127
  28. line-too-long:
    Line too long (108/100)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/__init__.py#L108
  29. line-too-long:
    Line too long (102/100)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/__init__.py#L122
  30. too-many-try-statements:
    try clause contains 2 statements, expected at most 1
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/__init__.py#L60
  31. logging-too-many-args:
    Too many arguments for logging format string
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/__init__.py#L130
  32. unused-argument:
    Unused argument 'hass'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/__init__.py#L147
  33. line-too-long:
    Line too long (114/100)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/client.py#L35
  34. line-too-long:
    Line too long (103/100)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/client.py#L250
  35. line-too-long:
    Line too long (143/100)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/client.py#L299
  36. import-error:
    Unable to import 'asyncssh'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/client.py#L11
  37. import-error:
    Unable to import 'asyncssh.misc'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/client.py#L18
  38. import-error:
    Unable to import 'asyncssh.sftp'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/client.py#L19
  39. consider-using-assignment-expr:
    Use 'if not (chunk := await self._fileobj.read(self.buffer_size)):' instead
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/client.py#L92
  40. too-many-try-statements:
    try clause contains 2 statements, expected at most 1
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/client.py#L93
  41. too-many-try-statements:
    try clause contains 3 statements, expected at most 1
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/client.py#L203
  42. too-many-try-statements:
    try clause contains 2 statements, expected at most 1
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/sftp_storage/client.py#L303
  43. abstract-method:
    Method 'set_fan_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L72
  44. abstract-method:
    Method 'set_humidity' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L72
  45. abstract-method:
    Method 'set_hvac_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L72
  46. abstract-method:
    Method 'set_preset_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L72
  47. abstract-method:
    Method 'set_swing_horizontal_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L72
  48. abstract-method:
    Method 'set_swing_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L72
  49. abstract-method:
    Method 'set_temperature' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L72
  50. abstract-method:
    Method 'toggle' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L72
  51. abstract-method:
    Method 'turn_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L72
  52. abstract-method:
    Method 'turn_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L72
  53. invalid-overridden-method:
    Method 'hvac_mode' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L98
  54. invalid-overridden-method:
    Method 'hvac_action' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L114
  55. invalid-overridden-method:
    Method 'preset_mode' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L122
  56. invalid-overridden-method:
    Method 'target_temperature' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L152
  57. invalid-overridden-method:
    Method 'current_temperature' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L159
  58. too-complex:
    'send_analytics' is too complex. The McCabe rating is 26
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/analytics/analytics.py#L186
  59. too-complex:
    'async_devices_payload' is too complex. The McCabe rating is 12
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/analytics/analytics.py#L396
  60. consider-using-assignment-expr:
    Use 'if (stored := await self._store.async_load()):' instead
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/analytics/analytics.py#L155
  61. too-many-locals:
    Too many local variables (22/15)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/analytics/analytics.py#L186
  62. too-many-try-statements:
    try clause contains 4 statements, expected at most 1
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/analytics/analytics.py#L330
  63. magic-value-comparison:
    Consider using a named constant or an enum instead of '200'.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/analytics/analytics.py#L333
  64. too-many-branches:
    Too many branches (24/12)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/analytics/analytics.py#L186
  65. too-many-statements:
    Too many statements (78/50)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/analytics/analytics.py#L186
  66. too-many-locals:
    Too many local variables (20/15)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/analytics/analytics.py#L396
  67. magic-value-comparison:
    Consider using a named constant or an enum instead of '2'.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/knx/storage/config_store.py#L61
  68. magic-value-comparison:
    Consider using a named constant or an enum instead of '2'.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/knx/storage/config_store.py#L61
  69. import-error:
    Unable to import 'pyvlx'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L7
  70. abstract-method:
    Method 'close_cover' is abstract in class 'CoverEntity' but is not overridden in child class 'VeluxCover'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L48
  71. abstract-method:
    Method 'open_cover' is abstract in class 'CoverEntity' but is not overridden in child class 'VeluxCover'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L48
  72. redefined-variable-type:
    Redefinition of self._attr_device_class type from homeassistant.components.cover.CoverDeviceClass.WINDOW to homeassistant.components.cover.CoverDeviceClass.AWNING
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L63
  73. invalid-overridden-method:
    Method 'current_cover_position' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L93
  74. invalid-overridden-method:
    Method 'current_cover_tilt_position' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L98
  75. invalid-overridden-method:
    Method 'is_closed' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L105
  76. use-implicit-booleaness-not-comparison-to-zero:
    "self.current_cover_position == 0" can be simplified to "not self.current_cover_position", if it is strictly an int, as 0 is falsey
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L110
  77. invalid-overridden-method:
    Method 'is_opening' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L113
  78. invalid-overridden-method:
    Method 'is_closing' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L118
  79. too-complex:
    '_async_setup_themes' is too complex. The McCabe rating is 14
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L492
  80. redefined-loop-name:
    Redefining 'theme_name' from loop (line 115)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L116
  81. consider-using-augmented-assign:
    Use '-=' to do an augmented assign directly
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L250
  82. too-many-arguments:
    Too many arguments (8/5)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L278
  83. too-many-positional-arguments:
    Too many positional arguments (8/5)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L278
  84. too-few-public-methods:
    Too few public methods (1/2)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L254
  85. too-many-arguments:
    Too many arguments (9/5)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L313
  86. too-many-positional-arguments:
    Too many positional arguments (7/5)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L313
  87. consider-using-assignment-expr:
    Use 'if (panel := hass.data.get(DATA_PANELS, {}).pop(frontend_url_path, None)) is None:' instead
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L354
  88. import-outside-toplevel:
    Import outside toplevel (hass_frontend)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L390
  89. import-error:
    Unable to import 'hass_frontend'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L390
  90. magic-value-comparison:
    Consider using a named constant or an enum instead of ''light''.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L545
  91. no-self-use:
    Method could be a function
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L620
  92. unused-argument:
    Unused argument 'kwargs'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L629
  93. no-self-use:
    Method could be a function
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L629
  94. magic-value-comparison:
    Consider using a named constant or an enum instead of ''/''.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L641
  95. unused-argument:
    Unused argument 'path'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L664
  96. no-self-use:
    Method could be a function
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L664
  97. unused-argument:
    Unused argument 'request'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L731
  98. no-self-use:
    Method could be a function
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L731
  99. unused-argument:
    Unused argument 'hass'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L765
  100. invalid-overridden-method:
    Method 'native_value' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/sensor.py#L277
  101. invalid-overridden-method:
    Method 'extra_state_attributes' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/sensor.py#L282
  102. invalid-overridden-method:
    Method 'native_value' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/sensor.py#L296
  103. import-error:
    Unable to import 'hdate'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/entity.py#L8
  104. import-error:
    Unable to import 'hdate.translator'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/entity.py#L9
  105. invalid-name:
    Variable name "CONFIG_SCHEMA" doesn't conform to snake_case naming style
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/__init__.py#L37
  106. unused-argument:
    Unused argument 'config'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/__init__.py#L40
  107. magic-value-comparison:
    Consider using a named constant or an enum instead of '2'.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/__init__.py#L127
  108. magic-value-comparison:
    Consider using a named constant or an enum instead of '2'.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/__init__.py#L135
  109. dict-init-mutate:
    Declare all known key/values when initializing the dictionary.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/__init__.py#L136

The following messages are no longer emitted:

  1. use-set-for-membership:
    Consider using set for membership test
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/ecowitt/sensor.py#L252
  2. invalid-overridden-method:
    Method 'native_value' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/ecowitt/sensor.py#L284
  3. unused-argument:
    Unused argument 'now'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L114
  4. unused-argument:
    Unused argument 'now'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L119
  5. logging-fstring-interpolation:
    Use lazy % formatting in logging functions
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L140
  6. abstract-method:
    Method '_async_update' is abstract in class 'BasePlatform' but is not overridden in child class 'BaseStructPlatform'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L165
  7. too-many-instance-attributes:
    Too many instance attributes (10/7)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L165
  8. comparison-with-itself:
    Redundant comparison - entry != entry
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L223
  9. use-implicit-booleaness-not-comparison-to-zero:
    "self._precision == 0" can be simplified to "not self._precision", if it is strictly an int, as 0 is falsey
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L233
  10. magic-value-comparison:
    Consider using a named constant or an enum instead of 'b'nan\x00''.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L247
  11. bad-builtin:
    Used builtin function 'map'. Using a list comprehension can be clearer.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L266
  12. abstract-method:
    Method 'turn_off' is abstract in class 'ToggleEntity' but is not overridden in child class 'BaseSwitch'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L272
  13. abstract-method:
    Method 'turn_on' is abstract in class 'ToggleEntity' but is not overridden in child class 'BaseSwitch'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L272
  14. too-many-instance-attributes:
    Too many instance attributes (12/7)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/modbus/entity.py#L272
  15. abstract-method:
    Method 'set_fan_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L71
  16. abstract-method:
    Method 'set_humidity' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L71
  17. abstract-method:
    Method 'set_hvac_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L71
  18. abstract-method:
    Method 'set_preset_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L71
  19. abstract-method:
    Method 'set_swing_horizontal_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L71
  20. abstract-method:
    Method 'set_swing_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L71
  21. abstract-method:
    Method 'set_temperature' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L71
  22. abstract-method:
    Method 'toggle' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L71
  23. abstract-method:
    Method 'turn_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L71
  24. abstract-method:
    Method 'turn_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L71
  25. invalid-overridden-method:
    Method 'hvac_mode' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L97
  26. invalid-overridden-method:
    Method 'hvac_action' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L113
  27. invalid-overridden-method:
    Method 'preset_mode' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L121
  28. invalid-overridden-method:
    Method 'target_temperature' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L151
  29. invalid-overridden-method:
    Method 'current_temperature' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py#L158
  30. too-complex:
    'send_analytics' is too complex. The McCabe rating is 26
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/analytics/analytics.py#L181
  31. consider-using-assignment-expr:
    Use 'if (stored := await self._store.async_load()):' instead
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/analytics/analytics.py#L150
  32. too-many-locals:
    Too many local variables (22/15)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/analytics/analytics.py#L181
  33. too-many-try-statements:
    try clause contains 4 statements, expected at most 1
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/analytics/analytics.py#L325
  34. magic-value-comparison:
    Consider using a named constant or an enum instead of '200'.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/analytics/analytics.py#L328
  35. too-many-branches:
    Too many branches (24/12)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/analytics/analytics.py#L181
  36. too-many-statements:
    Too many statements (78/50)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/analytics/analytics.py#L181
  37. import-error:
    Unable to import 'pyvlx'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L7
  38. import-error:
    Unable to import 'pyvlx.opening_device'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L8
  39. abstract-method:
    Method 'close_cover' is abstract in class 'CoverEntity' but is not overridden in child class 'VeluxCover'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L41
  40. abstract-method:
    Method 'open_cover' is abstract in class 'CoverEntity' but is not overridden in child class 'VeluxCover'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L41
  41. redefined-variable-type:
    Redefinition of self._attr_device_class type from homeassistant.components.cover.CoverDeviceClass.WINDOW to homeassistant.components.cover.CoverDeviceClass.AWNING
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L56
  42. invalid-overridden-method:
    Method 'current_cover_position' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L86
  43. invalid-overridden-method:
    Method 'current_cover_tilt_position' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L91
  44. invalid-overridden-method:
    Method 'is_closed' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L98
  45. invalid-overridden-method:
    Method 'is_opening' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L103
  46. invalid-overridden-method:
    Method 'is_closing' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/velux/cover.py#L108
  47. too-complex:
    '_async_setup_themes' is too complex. The McCabe rating is 14
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L470
  48. consider-using-augmented-assign:
    Use '-=' to do an augmented assign directly
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L228
  49. too-many-arguments:
    Too many arguments (8/5)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L256
  50. too-many-positional-arguments:
    Too many positional arguments (8/5)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L256
  51. too-few-public-methods:
    Too few public methods (1/2)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L232
  52. too-many-arguments:
    Too many arguments (9/5)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L291
  53. too-many-positional-arguments:
    Too many positional arguments (7/5)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L291
  54. consider-using-assignment-expr:
    Use 'if (panel := hass.data.get(DATA_PANELS, {}).pop(frontend_url_path, None)) is None:' instead
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L332
  55. import-outside-toplevel:
    Import outside toplevel (hass_frontend)
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L368
  56. import-error:
    Unable to import 'hass_frontend'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L368
  57. magic-value-comparison:
    Consider using a named constant or an enum instead of ''light''.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L523
  58. no-self-use:
    Method could be a function
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L598
  59. unused-argument:
    Unused argument 'kwargs'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L607
  60. no-self-use:
    Method could be a function
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L607
  61. magic-value-comparison:
    Consider using a named constant or an enum instead of ''/''.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L619
  62. unused-argument:
    Unused argument 'path'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L642
  63. no-self-use:
    Method could be a function
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L642
  64. unused-argument:
    Unused argument 'request'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L709
  65. no-self-use:
    Method could be a function
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L709
  66. unused-argument:
    Unused argument 'hass'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/frontend/__init__.py#L743
  67. invalid-overridden-method:
    Method 'native_value' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/sensor.py#L272
  68. invalid-overridden-method:
    Method 'extra_state_attributes' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/sensor.py#L277
  69. invalid-overridden-method:
    Method 'native_value' was expected to be 'method', found it instead as 'property'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/sensor.py#L291
  70. import-error:
    Unable to import 'hdate'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/entity.py#L6
  71. unused-argument:
    Unused argument 'now'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/entity.py#L72
  72. invalid-name:
    Variable name "CONFIG_SCHEMA" doesn't conform to snake_case naming style
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/__init__.py#L38
  73. unused-argument:
    Unused argument 'config'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/__init__.py#L41
  74. magic-value-comparison:
    Consider using a named constant or an enum instead of '2'.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/__init__.py#L137
  75. magic-value-comparison:
    Consider using a named constant or an enum instead of '2'.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/__init__.py#L145
  76. dict-init-mutate:
    Declare all known key/values when initializing the dictionary.
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/__init__.py#L146
  77. import-error:
    Unable to import 'hdate'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/coordinator.py#L7
  78. import-error:
    Unable to import 'hdate.translator'
    https://github.com/home-assistant/core/blob/6c6ec7534f6e0f4396b692cc23041012ca51d7ab/homeassistant/components/jewish_calendar/coordinator.py#L8

Effect on django:
The following messages are now emitted:

  1. missing-function-docstring:
    Missing function or method docstring
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/backends/postgresql/features.py#L138
  2. missing-function-docstring:
    Missing function or method docstring
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/backends/postgresql/features.py#L143
  3. no-else-return:
    Unnecessary "else" after "return", remove the "else" and de-indent the code inside it
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/backends/postgresql/features.py#L144
  4. no-self-use:
    Method could be a function
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/backends/postgresql/features.py#L143
  5. missing-function-docstring:
    Missing function or method docstring
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/backends/postgresql/features.py#L150
  6. missing-function-docstring:
    Missing function or method docstring
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/backends/postgresql/features.py#L159
  7. magic-value-comparison:
    Consider using a named constant or an enum instead of '150000'.
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/backends/postgresql/features.py#L160
  8. missing-function-docstring:
    Missing function or method docstring
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/backends/postgresql/features.py#L163
  9. magic-value-comparison:
    Consider using a named constant or an enum instead of '160000'.
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/backends/postgresql/features.py#L164
  10. missing-function-docstring:
    Missing function or method docstring
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/backends/postgresql/features.py#L167
  11. magic-value-comparison:
    Consider using a named constant or an enum instead of '170000'.
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/backends/postgresql/features.py#L168
  12. too-many-lines:
    Too many lines in module (2436/1000)
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1
  13. too-complex:
    '_check_composite_pk' is too complex. The McCabe rating is 13
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1711
  14. too-complex:
    '_check_field_name_clashes' is too complex. The McCabe rating is 12
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1908
  15. too-complex:
    '_check_ordering' is too complex. The McCabe rating is 14
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2169
  16. too-complex:
    '_check_long_column_names' is too complex. The McCabe rating is 14
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2278
  17. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1713
  18. unused-variable:
    Unused variable 'column'
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1753
  19. redefined-outer-name:
    Redefining name 'connection' from outer scope (line 23)
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1777
  20. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1771
  21. magic-value-comparison:
    Consider using a named constant or an enum instead of ''supports_comments''.
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1780
  22. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1780
  23. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1796
  24. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1798
  25. consider-using-f-string:
    Formatting a regular string which could be an f-string
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1802
  26. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1803
  27. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1808
  28. consider-using-f-string:
    Formatting a regular string which could be an f-string
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1811
  29. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1813
  30. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1822
  31. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1823
  32. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1823
  33. consider-using-f-string:
    Formatting a regular string which could be an f-string
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1826
  34. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1836
  35. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1844
  36. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1846
  37. docstring-first-line-empty:
    First line empty in method docstring
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1851
  38. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1859
  39. consider-using-f-string:
    Formatting a regular string which could be an f-string
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1877
  40. protected-access:
    Access to a protected member _meta of a client class
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1879
  41. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1892
  42. magic-value-comparison:
    Consider using a named constant or an enum instead of ''id''.
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1892
  43. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1892
  44. no-else-return:
    Unnecessary "else" after "return", remove the "else" and de-indent the code inside it
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1895
  45. magic-value-comparison:
    Consider using a named constant or an enum instead of ''id''.
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1895
  46. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1895
  47. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1914
  48. protected-access:
    Access to a protected member _meta of a client class
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1915
  49. consider-using-assignment-expr:
    Use 'if (clash := used_fields.get(f.name) or used_fields.get(f.attname) or None):' instead
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1917
  50. consider-using-f-string:
    Formatting a regular string which could be an f-string
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1920
  51. protected-access:
    Access to a protected member _meta of a client class
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1923
  52. protected-access:
    Access to a protected member _meta of a client class
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1923
  53. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1934
  54. protected-access:
    Access to a protected member _meta of a client class
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1935
  55. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1940
  56. consider-using-assignment-expr:
    Use 'if (clash := used_fields.get(parent_link.name) or None):' instead
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1944
  57. protected-access:
    Access to a protected member _meta of a client class
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1948
  58. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1954
  59. magic-value-comparison:
    Consider using a named constant or an enum instead of ''id''.
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1961
  60. magic-value-comparison:
    Consider using a named constant or an enum instead of ''id''.
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1961
  61. consider-using-f-string:
    Formatting a regular string which could be an f-string
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1966
  62. protected-access:
    Access to a protected member _meta of a client class
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1967
  63. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1984
  64. consider-using-f-string:
    Formatting a regular string which could be an f-string
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L1991
  65. consider-using-f-string:
    Formatting a regular string which could be an f-string
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2010
  66. consider-using-f-string:
    Formatting a regular string which could be an f-string
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2019
  67. protected-access:
    Access to a protected member _property_names of a client class
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2030
  68. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2030
  69. protected-access:
    Access to a protected member _get_fields of a client class
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2033
  70. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2033
  71. consider-using-f-string:
    Formatting a regular string which could be an f-string
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2040
  72. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2051
  73. no-else-return:
    Unnecessary "elif" after "return", remove the leading "el" from "elif"
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2065
  74. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2065
  75. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2076
  76. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2088
  77. redefined-outer-name:
    Redefining name 'connection' from outer scope (line 23)
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2098
  78. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2099
  79. import-outside-toplevel:
    Import outside toplevel (django.db.models)
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2105
  80. protected-access:
    Access to a protected member _get_fields of a client class
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2110
  81. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2110
  82. consider-using-f-string:
    Formatting a regular string which could be an f-string
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2122
  83. consider-using-f-string:
    Formatting a regular string which could be an f-string
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2135
  84. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2156
  85. consider-using-f-string:
    Formatting a regular string which could be an f-string
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2159
  86. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2160
  87. docstring-first-line-empty:
    First line empty in method docstring
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2169
  88. protected-access:
    Access to a protected member _ordering_clash of a client class
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2174
  89. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2174
  90. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2183
  91. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2183
  92. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2186
  93. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2197
  94. magic-value-comparison:
    Consider using a named constant or an enum instead of ''?''.
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2200
  95. too-many-try-statements:
    try clause contains 4 statements, expected at most 1
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2220
  96. consider-ternary-expression:
    Consider rewriting as a ternary expression
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2222
  97. magic-value-comparison:
    Consider using a named constant or an enum instead of ''pk''.
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2222
  98. protected-access:
    Access to a protected member _meta of a client class
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2223
  99. protected-access:
    Access to a protected member _meta of a client class
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2225
  100. consider-ternary-expression:
    Consider rewriting as a ternary expression
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2226
  101. consider-using-f-string:
    Formatting a regular string which could be an f-string
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2236
  102. magic-value-comparison:
    Consider using a named constant or an enum instead of ''pk''.
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2245
  103. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2252
  104. consider-using-f-string:
    Formatting a regular string which could be an f-string
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2269
  105. too-many-branches:
    Too many branches (15/12)
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2169
  106. redefined-outer-name:
    Redefining name 'connection' from outer scope (line 23)
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2294
  107. docstring-first-line-empty:
    First line empty in method docstring
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2278
  108. no-else-continue:
    Unnecessary "else" after "continue", remove the "else" and de-indent the code inside it
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2296
  109. else-if-used:
    Consider using "elif" instead of "else" then "if" to remove one indentation level
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2299
  110. no-member:
    Class 'Model' has no '_meta' member
    https://github.com/django/django/blob/0231f71d31b3afa92b9b5b64ddad7efb9fab9a40/django/db/models/base.py#L2309
  111. consi...

This comment was truncated because GitHub allows only 65536 characters in a comment.

This comment was generated for commit b1f867e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Maintenance Discussion or action around maintaining pylint or the dev workflow Skip news 🔇 This change does not require a changelog entry
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants