Skip to content

Conversation

Pierre-Sassoulas
Copy link
Member

@Pierre-Sassoulas Pierre-Sassoulas commented Sep 14, 2025

Type of Changes

Type
✨ New feature
🔨 Refactoring

Description

Draft following #9667. Seems like a lot of optimization can be done by having the code directly in pylint. typing, and removing inheritance, and edge's name handling in particular. Because we're using a tool that permits to draw graph and we don't want to draw anything, we just want to get the damn mccabe metric.

@Pierre-Sassoulas Pierre-Sassoulas added this to the 4.0.0 milestone Sep 14, 2025
@Pierre-Sassoulas Pierre-Sassoulas added Maintenance Discussion or action around maintaining pylint or the dev workflow Needs decision 🔒 Needs a decision before implemention or rejection labels Sep 14, 2025
Copy link

codecov bot commented Sep 14, 2025

Codecov Report

❌ Patch coverage is 98.66667% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 95.90%. Comparing base (f0547a2) to head (1863240).

Files with missing lines Patch % Lines
pylint/extensions/mccabe.py 98.66% 1 Missing ⚠️

❌ Your patch check has failed because the patch coverage (98.66%) 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   #10551   +/-   ##
=======================================
  Coverage   95.89%   95.90%           
=======================================
  Files         176      176           
  Lines       19416    19429   +13     
=======================================
+ Hits        18619    18633   +14     
+ Misses        797      796    -1     
Files with missing lines Coverage Δ
pylint/extensions/mccabe.py 98.48% <98.66%> (+1.00%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

This comment has been minimized.

@Pierre-Sassoulas Pierre-Sassoulas changed the title [mccabe] Vendor mccabe to reduce supply chain risks and optimize analysis [mccabe] Vendor 'mccabe' to reduce supply chain risks and optimize analysis later Sep 14, 2025
@Pierre-Sassoulas Pierre-Sassoulas changed the title [mccabe] Vendor 'mccabe' to reduce supply chain risks and optimize analysis later Vendor 'mccabe' to reduce supply chain risks and optimize analysis later Sep 14, 2025

This comment has been minimized.

Pierre-Sassoulas added a commit that referenced this pull request Sep 21, 2025
## Type of Changes

<!-- Leave the corresponding lines for the applicable type of change:
-->

|     | Type                   |
| --- | ---------------------- |
| ✓   | 📜 Docs          |

## Description

Refs #10551
Copy link
Contributor

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

Effect on astroid:
The following messages are no longer emitted:

  1. too-complex:
    'get_children' is too complex. The McCabe rating is 12
    https://github.com/pylint-dev/astroid/blob/9a877ca2f2bc5bf9a74d3a570a477fcf93f1560d/astroid/nodes/node_classes.py#L992
  2. too-complex:
    'block_range' is too complex. The McCabe rating is 12
    https://github.com/pylint-dev/astroid/blob/9a877ca2f2bc5bf9a74d3a570a477fcf93f1560d/astroid/nodes/node_classes.py#L3872
  3. too-complex:
    'block_range' is too complex. The McCabe rating is 12
    https://github.com/pylint-dev/astroid/blob/9a877ca2f2bc5bf9a74d3a570a477fcf93f1560d/astroid/nodes/node_classes.py#L3973
  4. too-complex:
    'infer_call_result' is too complex. The McCabe rating is 15
    https://github.com/pylint-dev/astroid/blob/9a877ca2f2bc5bf9a74d3a570a477fcf93f1560d/astroid/nodes/scoped_nodes/scoped_nodes.py#L1549
  5. too-complex:
    'find_module' is too complex. The McCabe rating is 12
    https://github.com/pylint-dev/astroid/blob/9a877ca2f2bc5bf9a74d3a570a477fcf93f1560d/astroid/interpreter/_import/spec.py#L128

Effect on home-assistant:
The following messages are no longer emitted:

  1. too-complex:
    'async_unload' is too complex. The McCabe rating is 19
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/config_entries.py#L919
  2. too-complex:
    'async_finish_flow' is too complex. The McCabe rating is 13
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/config_entries.py#L1546
  3. too-complex:
    'async_run' is too complex. The McCabe rating is 11
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/helpers/script.py#L444
  4. too-complex:
    'async_load' is too complex. The McCabe rating is 13
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/helpers/entity_registry.py#L1492
  5. too-complex:
    'init' is too complex. The McCabe rating is 15
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/airtouch5/climate.py#L132
  6. too-complex:
    'get' is too complex. The McCabe rating is 11
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/unifiprotect/views.py#L183
  7. too-complex:
    'get' is too complex. The McCabe rating is 15
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/unifiprotect/views.py#L225
  8. too-complex:
    'get' is too complex. The McCabe rating is 14
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/unifiprotect/views.py#L278
  9. too-complex:
    'setup' is too complex. The McCabe rating is 21
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/zabbix/__init__.py#L79
  10. too-complex:
    'execute' is too complex. The McCabe rating is 14
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/google_assistant/trait.py#L1307
  11. too-complex:
    'query_attributes' is too complex. The McCabe rating is 12
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/google_assistant/trait.py#L1965
  12. too-complex:
    'get_property' is too complex. The McCabe rating is 13
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/alexa/capabilities.py#L1155
  13. too-complex:
    'get_property' is too complex. The McCabe rating is 16
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/alexa/capabilities.py#L1427
  14. too-complex:
    'capability_resources' is too complex. The McCabe rating is 19
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/alexa/capabilities.py#L1505
  15. too-complex:
    'get_property' is too complex. The McCabe rating is 13
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/alexa/capabilities.py#L1766
  16. too-complex:
    'capability_resources' is too complex. The McCabe rating is 12
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/alexa/capabilities.py#L1826
  17. too-complex:
    'get' is too complex. The McCabe rating is 11
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/api/__init__.py#L135
  18. too-complex:
    'post' is too complex. The McCabe rating is 12
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/api/__init__.py#L383
  19. too-complex:
    'async_turn_on' is too complex. The McCabe rating is 13
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/shelly/light.py#L249
  20. too-complex:
    'async_turn_on' is too complex. The McCabe rating is 14
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/xiaomi_miio/light.py#L875
  21. too-complex:
    'parse_data' is too complex. The McCabe rating is 11
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/xiaomi_aqara/binary_sensor.py#L573
  22. too-complex:
    'async_step_user' is too complex. The McCabe rating is 11
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/playstation_network/config_flow.py#L52
  23. too-complex:
    'async_step_user' is too complex. The McCabe rating is 11
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/hive/config_flow.py#L43
  24. too-complex:
    'init' is too complex. The McCabe rating is 17
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/homekit/accessories.py#L312
  25. too-complex:
    'init' is too complex. The McCabe rating is 18
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/homekit/type_thermostats.py#L193
  26. too-complex:
    'async_update_state' is too complex. The McCabe rating is 21
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/homekit/type_thermostats.py#L615
  27. too-complex:
    '_async_update_data' is too complex. The McCabe rating is 11
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/tesla_fleet/coordinator.py#L89
  28. too-complex:
    'init' is too complex. The McCabe rating is 13
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/deconz/light.py#L199
  29. too-complex:
    '_schedule_next' is too complex. The McCabe rating is 11
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/backup/config.py#L323
  30. too-complex:
    'update' is too complex. The McCabe rating is 22
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/bitcoin/sensor.py#L178
  31. too-complex:
    '_async_update_data' is too complex. The McCabe rating is 11
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/bring/coordinator.py#L86
  32. too-complex:
    'async_step_reconfigure' is too complex. The McCabe rating is 12
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/ntfy/config_flow.py#L304
  33. too-complex:
    'process' is too complex. The McCabe rating is 11
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/assist_pipeline/vad.py#L133
  34. too-complex:
    'handle' is too complex. The McCabe rating is 12
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/stream/hls.py#L257
  35. too-complex:
    'resolve_data' is too complex. The McCabe rating is 17
    https://github.com/home-assistant/core/blob/5177f9e8c208b43925d9c69e4f2470895c8e9196/homeassistant/components/zwave_js/discovery_data_template.py#L338

Effect on poetry-core:
The following messages are no longer emitted:

  1. too-complex:
    'init' is too complex. The McCabe rating is 14
    https://github.com/python-poetry/poetry-core/blob/548f5c215b535cae4b9dfc1ef7c828602471c181/src/poetry/core/version/markers.py#L360
  2. too-complex:
    'invert' is too complex. The McCabe rating is 12
    https://github.com/python-poetry/poetry-core/blob/548f5c215b535cae4b9dfc1ef7c828602471c181/src/poetry/core/version/markers.py#L479
  3. too-complex:
    'of' is too complex. The McCabe rating is 16
    https://github.com/python-poetry/poetry-core/blob/548f5c215b535cae4b9dfc1ef7c828602471c181/src/poetry/core/version/markers.py#L645

Effect on black:
The following messages are no longer emitted:

  1. too-complex:
    'do_match' is too complex. The McCabe rating is 11
    https://github.com/psf/black/blob/4a8e6b789bbd18c0455d74bbec8d957e824eb3bf/src/black/trans.py#L421
  2. too-complex:
    'do_match' is too complex. The McCabe rating is 13
    https://github.com/psf/black/blob/4a8e6b789bbd18c0455d74bbec8d957e824eb3bf/src/black/trans.py#L876
  3. too-complex:
    'do_transform' is too complex. The McCabe rating is 18
    https://github.com/psf/black/blob/4a8e6b789bbd18c0455d74bbec8d957e824eb3bf/src/black/trans.py#L1478
  4. too-complex:
    'generate_matches' is too complex. The McCabe rating is 12
    https://github.com/psf/black/blob/4a8e6b789bbd18c0455d74bbec8d957e824eb3bf/src/blib2to3/pytree.py#L804

Effect on music21:
The following messages are no longer emitted:

  1. too-complex:
    'segment' is too complex. The McCabe rating is 12
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/sieve.py#L584
  2. too-complex:
    'realize' is too complex. The McCabe rating is 13
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/expressions.py#L915
  3. too-complex:
    'realize' is too complex. The McCabe rating is 21
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/expressions.py#L1586
  4. too-complex:
    'realize' is too complex. The McCabe rating is 24
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/expressions.py#L2243
  5. too-complex:
    '_parseFigure' is too complex. The McCabe rating is 31
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/harmony.py#L1949
  6. too-complex:
    'getitem' is too complex. The McCabe rating is 14
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/environment.py#L187
  7. too-complex:
    'setitem' is too complex. The McCabe rating is 17
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/environment.py#L238
  8. too-complex:
    'fix' is too complex. The McCabe rating is 21
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/alpha/analysis/fixer.py#L239
  9. too-complex:
    'recognize' is too complex. The McCabe rating is 20
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/alpha/analysis/ornamentRecognizer.py#L80
  10. too-complex:
    'parse' is too complex. The McCabe rating is 12
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/humdrum/spineParser.py#L1303
  11. too-complex:
    'parse' is too complex. The McCabe rating is 13
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/humdrum/spineParser.py#L1442
  12. too-complex:
    'init' is too complex. The McCabe rating is 11
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/metadata/primitives.py#L1082
  13. too-complex:
    'process' is too complex. The McCabe rating is 12
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/features/native.py#L109
  14. too-complex:
    'process' is too complex. The McCabe rating is 11
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/features/native.py#L895
  15. too-complex:
    'process' is too complex. The McCabe rating is 13
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/features/jSymbolic.py#L667
  16. too-complex:
    'process' is too complex. The McCabe rating is 14
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/features/jSymbolic.py#L761
  17. too-complex:
    'str' is too complex. The McCabe rating is 11
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/braille/segment.py#L244
  18. too-complex:
    'stringOutput' is too complex. The McCabe rating is 13
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/lily/lilyObjects.py#L1307
  19. too-complex:
    'stringOutput' is too complex. The McCabe rating is 13
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/lily/lilyObjects.py#L1585
  20. too-complex:
    'parseData' is too complex. The McCabe rating is 15
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/converter/__init__.py#L663
  21. too-complex:
    'parseURL' is too complex. The McCabe rating is 11
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/converter/__init__.py#L724
  22. too-complex:
    'solutionLegend' is too complex. The McCabe rating is 17
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/analysis/discrete.py#L447
  23. too-complex:
    'process' is too complex. The McCabe rating is 13
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/analysis/windowed.py#L241
  24. too-complex:
    'renderSubplot' is too complex. The McCabe rating is 13
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/graph/primitives.py#L983
  25. too-complex:
    'renderSubplot' is too complex. The McCabe rating is 11
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/graph/primitives.py#L1350
  26. too-complex:
    '_reprInternal' is too complex. The McCabe rating is 11
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/midi/base.py#L626
  27. too-complex:
    'getBytes' is too complex. The McCabe rating is 18
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/midi/base.py#L1047
  28. too-complex:
    'replace' is too complex. The McCabe rating is 16
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/stream/base.py#L2926
  29. too-complex:
    'makeAccidentals' is too complex. The McCabe rating is 23
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/stream/base.py#L6681
  30. too-complex:
    'makeNotation' is too complex. The McCabe rating is 12
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/stream/base.py#L6917
  31. too-complex:
    'buildNetwork' is too complex. The McCabe rating is 15
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/scale/__init__.py#L699
  32. too-complex:
    'parseHeader' is too complex. The McCabe rating is 11
    https://github.com/cuthbertLab/music21/blob/9e8af3d756fe7c875eb31ae2b3d1e68d88139f98/music21/noteworthy/binaryTranslate.py#L461

Effect on pytest:
The following messages are no longer emitted:

  1. too-complex:
    'init' is too complex. The McCabe rating is 13
    https://github.com/pytest-dev/pytest/blob/4abfdc52cb327dfb91480997efe05cc49f73a62a/src/_pytest/nodes.py#L563
  2. too-complex:
    'collect' is too complex. The McCabe rating is 14
    https://github.com/pytest-dev/pytest/blob/4abfdc52cb327dfb91480997efe05cc49f73a62a/src/_pytest/python.py#L390

Effect on django:
The following messages are no longer emitted:

  1. too-complex:
    '_construct_form' is too complex. The McCabe rating is 11
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/forms/models.py#L735
  2. too-complex:
    'init' is too complex. The McCabe rating is 15
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/forms/fields.py#L1194
  3. too-complex:
    'add_item_elements' is too complex. The McCabe rating is 13
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/utils/feedgenerator.py#L362
  4. too-complex:
    'init' is too complex. The McCabe rating is 11
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/template/base.py#L738
  5. too-complex:
    'resolve' is too complex. The McCabe rating is 13
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/template/base.py#L784
  6. too-complex:
    'init' is too complex. The McCabe rating is 12
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/template/base.py#L869
  7. too-complex:
    'render' is too complex. The McCabe rating is 13
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/template/defaulttags.py#L191
  8. too-complex:
    'init' is too complex. The McCabe rating is 12
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/db/backends/oracle/base.py#L415
  9. too-complex:
    'serialize' is too complex. The McCabe rating is 16
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/db/migrations/writer.py#L24
  10. too-complex:
    'reduce' is too complex. The McCabe rating is 29
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/db/migrations/operations/models.py#L151
  11. too-complex:
    '_resolve_output_field' is too complex. The McCabe rating is 12
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/db/models/expressions.py#L1195
  12. too-complex:
    'deconstruct' is too complex. The McCabe rating is 13
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/db/models/fields/__init__.py#L570
  13. too-complex:
    'to_python' is too complex. The McCabe rating is 13
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/db/models/fields/__init__.py#L1595
  14. too-complex:
    'get' is too complex. The McCabe rating is 11
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/db/models/fields/related_descriptors.py#L224
  15. too-complex:
    'set' is too complex. The McCabe rating is 11
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/db/models/fields/related_descriptors.py#L273
  16. too-complex:
    'as_sql' is too complex. The McCabe rating is 16
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/db/models/sql/where.py#L116
  17. too-complex:
    'as_sql' is too complex. The McCabe rating is 40
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/db/models/sql/compiler.py#L756
  18. too-complex:
    'execute_sql' is too complex. The McCabe rating is 16
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/db/models/sql/compiler.py#L1594
  19. too-complex:
    'as_sql' is too complex. The McCabe rating is 13
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/db/models/sql/compiler.py#L1792
  20. too-complex:
    'as_sql' is too complex. The McCabe rating is 16
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/db/models/sql/compiler.py#L2026
  21. too-complex:
    'init' is too complex. The McCabe rating is 11
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/core/handlers/asgi.py#L48
  22. too-complex:
    'init' is too complex. The McCabe rating is 13
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/core/mail/message.py#L250
  23. too-complex:
    'get_context_data' is too complex. The McCabe rating is 18
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/contrib/admindocs/views.py#L234
  24. too-complex:
    'init' is too complex. The McCabe rating is 14
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/contrib/gis/gdal/srs.py#L54
  25. too-complex:
    'render' is too complex. The McCabe rating is 12
    https://github.com/django/django/blob/336e713e2a1ac143eeec021d66a6f3168f983183/django/templatetags/i18n.py#L148

Effect on pandas:
The following messages are no longer emitted:

  1. too-complex:
    '_convert_to_indexer' is too complex. The McCabe rating is 21
    https://github.com/pandas-dev/pandas/blob/08d21d756927497cb34cff2eee9e6a9a8823cb77/pandas/core/indexing.py#L1484
  2. too-complex:
    'apply' is too complex. The McCabe rating is 12
    https://github.com/pandas-dev/pandas/blob/08d21d756927497cb34cff2eee9e6a9a8823cb77/pandas/core/apply.py#L956
  3. too-complex:
    'compute' is too complex. The McCabe rating is 15
    https://github.com/pandas-dev/pandas/blob/08d21d756927497cb34cff2eee9e6a9a8823cb77/pandas/core/methods/selectn.py#L106
  4. too-complex:
    'setitem' is too complex. The McCabe rating is 11
    https://github.com/pandas-dev/pandas/blob/08d21d756927497cb34cff2eee9e6a9a8823cb77/pandas/core/internals/blocks.py#L1082
  5. too-complex:
    'where' is too complex. The McCabe rating is 13
    https://github.com/pandas-dev/pandas/blob/08d21d756927497cb34cff2eee9e6a9a8823cb77/pandas/core/internals/blocks.py#L1212
  6. too-complex:
    '_validate_left_right_on' is too complex. The McCabe rating is 21
    https://github.com/pandas-dev/pandas/blob/08d21d756927497cb34cff2eee9e6a9a8823cb77/pandas/core/reshape/merge.py#L1859
  7. too-complex:
    'prune' is too complex. The McCabe rating is 16
    https://github.com/pandas-dev/pandas/blob/08d21d756927497cb34cff2eee9e6a9a8823cb77/pandas/core/computation/pytables.py#L123
  8. too-complex:
    '_validate' is too complex. The McCabe rating is 14
    https://github.com/pandas-dev/pandas/blob/08d21d756927497cb34cff2eee9e6a9a8823cb77/pandas/core/window/rolling.py#L178
  9. too-complex:
    'get_window_bounds' is too complex. The McCabe rating is 13
    https://github.com/pandas-dev/pandas/blob/08d21d756927497cb34cff2eee9e6a9a8823cb77/pandas/core/indexers/objects.py#L244
  10. too-complex:
    'init' is too complex. The McCabe rating is 14
    https://github.com/pandas-dev/pandas/blob/08d21d756927497cb34cff2eee9e6a9a8823cb77/pandas/core/dtypes/dtypes.py#L1276
  11. too-complex:
    'init' is too complex. The McCabe rating is 20
    https://github.com/pandas-dev/pandas/blob/08d21d756927497cb34cff2eee9e6a9a8823cb77/pandas/core/arrays/categorical.py#L384
  12. too-complex:
    '_generate_range' is too complex. The McCabe rating is 26
    https://github.com/pandas-dev/pandas/blob/08d21d756927497cb34cff2eee9e6a9a8823cb77/pandas/core/arrays/datetimes.py#L404
  13. too-complex:
    'value_counts' is too complex. The McCabe rating is 20
    https://github.com/pandas-dev/pandas/blob/08d21d756927497cb34cff2eee9e6a9a8823cb77/pandas/core/groupby/generic.py#L881

Effect on sentry:
The following messages are no longer emitted:

  1. too-complex:
    'iter' is too complex. The McCabe rating is 11
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/utils/query.py#L148
  2. too-complex:
    'get' is too complex. The McCabe rating is 20
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/incidents/endpoints/organization_alert_rule_index.py#L235
  3. too-complex:
    'get_attrs' is too complex. The McCabe rating is 24
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/incidents/endpoints/serializers/alert_rule.py#L108
  4. too-complex:
    'validate' is too complex. The McCabe rating is 15
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/discover/endpoints/serializers.py#L198
  5. too-complex:
    'determine_access' is too complex. The McCabe rating is 14
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/api/permissions.py#L148
  6. too-complex:
    'authenticate_token' is too complex. The McCabe rating is 14
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/api/authentication.py#L399
  7. too-complex:
    'get_result' is too complex. The McCabe rating is 12
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/api/paginator.py#L136
  8. too-complex:
    'validate' is too complex. The McCabe rating is 16
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/api/serializers/rest_framework/dashboard.py#L198
  9. too-complex:
    'validate' is too complex. The McCabe rating is 36
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/api/serializers/rest_framework/dashboard.py#L396
  10. too-complex:
    'get_attrs' is too complex. The McCabe rating is 14
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/api/serializers/models/project.py#L350
  11. too-complex:
    'get_attrs' is too complex. The McCabe rating is 12
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/api/serializers/models/team.py#L189
  12. too-complex:
    'serialize' is too complex. The McCabe rating is 11
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/api/serializers/models/organization.py#L577
  13. too-complex:
    'serialize' is too complex. The McCabe rating is 12
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/api/serializers/models/plugin.py#L37
  14. too-complex:
    'get_attrs' is too complex. The McCabe rating is 15
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/api/serializers/models/release.py#L538
  15. too-complex:
    'get_attrs' is too complex. The McCabe rating is 21
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/api/serializers/models/rule.py#L108
  16. too-complex:
    'serialize' is too complex. The McCabe rating is 12
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/api/serializers/models/rule.py#L273
  17. too-complex:
    'serialize' is too complex. The McCabe rating is 14
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/api/endpoints/organization_events_trace.py#L984
  18. too-complex:
    'serialize' is too complex. The McCabe rating is 31
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/api/endpoints/organization_events_trace.py#L1154
  19. too-complex:
    'get' is too complex. The McCabe rating is 17
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/api/endpoints/debug_files.py#L236
  20. too-complex:
    'run_query' is too complex. The McCabe rating is 29
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/search/events/builder/metrics.py#L1187
  21. too-complex:
    'run_query' is too complex. The McCabe rating is 12
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/search/events/builder/metrics.py#L1785
  22. too-complex:
    'validate' is too complex. The McCabe rating is 23
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/monitors/validators.py#L200
  23. too-complex:
    'update' is too complex. The McCabe rating is 25
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/monitors/validators.py#L383
  24. too-complex:
    'convert_args' is too complex. The McCabe rating is 11
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/monitors/endpoints/base.py#L29
  25. too-complex:
    '_handle' is too complex. The McCabe rating is 35
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/integrations/github/webhook.py#L323
  26. too-complex:
    'execute' is too complex. The McCabe rating is 12
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/integrations/messaging/linkage.py#L392
  27. too-complex:
    'description' is too complex. The McCabe rating is 12
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/integrations/models/integration_feature.py#L81
  28. too-complex:
    'init' is too complex. The McCabe rating is 12
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/shared_integrations/exceptions/__init__.py#L37
  29. too-complex:
    'save' is too complex. The McCabe rating is 27
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/core/endpoints/organization_details.py#L575
  30. too-complex:
    'get' is too complex. The McCabe rating is 21
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/core/endpoints/organization_projects.py#L69
  31. too-complex:
    '_visit_formula' is too complex. The McCabe rating is 13
    https://github.com/getsentry/sentry/blob/adc0d75dbe22167274f63c022eeae530d54c9278/src/sentry/sentry_metrics/querying/visitors/query_expression.py#L325

Effect on psycopg:
The following messages are no longer emitted:

  1. too-complex:
    'load' is too complex. The McCabe rating is 12
    https://github.com/psycopg/psycopg/blob/c9e013d4441d9c9ae5bed61ce8fa561dcb0b9dae/psycopg/psycopg/types/datetime.py#L427

This comment was generated for commit 035e9e5

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 Needs decision 🔒 Needs a decision before implemention or rejection
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant