Skip to content

Ignore unnecessary dunder calls within dunder definitions#9496

Merged
charliermarsh merged 1 commit intomainfrom
charlie/dunder
Jan 12, 2024
Merged

Ignore unnecessary dunder calls within dunder definitions#9496
charliermarsh merged 1 commit intomainfrom
charlie/dunder

Conversation

@charliermarsh
Copy link
Copy Markdown
Member

Closes #9486.

@charliermarsh charliermarsh added the bug Something isn't working label Jan 12, 2024
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq bot commented Jan 12, 2024

CodSpeed Performance Report

Merging #9496 will degrade performances by 4.33%

Comparing charlie/dunder (8aafed0) with main (7504bf3)

Summary

❌ 1 regressions
✅ 29 untouched benchmarks

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Benchmarks breakdown

Benchmark main charlie/dunder Change
parser[numpy/ctypeslib.py] 12.2 ms 12.8 ms -4.33%

@github-actions
Copy link
Copy Markdown
Contributor

ruff-ecosystem results

Linter (stable)

✅ ecosystem check detected no linter changes.

Linter (preview)

ℹ️ ecosystem check detected linter changes. (+0 -229 violations, +0 -0 fixes in 12 projects; 31 projects unchanged)

DisnakeDev/disnake (+0 -17 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --preview

- disnake/activity.py:479:20: PLC2801 [*] Unnecessary dunder call to `__eq__`. Use `==` operator.
- disnake/activity.py:591:20: PLC2801 [*] Unnecessary dunder call to `__eq__`. Use `==` operator.
- disnake/activity.py:695:20: PLC2801 [*] Unnecessary dunder call to `__eq__`. Use `==` operator.
- disnake/activity.py:870:20: PLC2801 [*] Unnecessary dunder call to `__eq__`. Use `==` operator.
- disnake/colour.py:68:20: PLC2801 [*] Unnecessary dunder call to `__eq__`. Use `==` operator.
- disnake/context_managers.py:60:16: PLC2801 Unnecessary dunder call to `__enter__`
- disnake/emoji.py:128:20: PLC2801 [*] Unnecessary dunder call to `__eq__`. Use `==` operator.
- disnake/ext/commands/params.py:1348:20: PLC2801 Unnecessary dunder call to `__get__`. Use `get` method.
- disnake/flags.py:154:20: PLC2801 [*] Unnecessary dunder call to `__eq__`. Use `==` operator.
- disnake/member.py:359:20: PLC2801 [*] Unnecessary dunder call to `__eq__`. Use `==` operator.
... 7 additional changes omitted for project

aiven/aiven-client (+0 -3 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --preview

- aiven/client/argx.py:189:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- aiven/client/cli.py:141:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- aiven/client/client.py:34:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.

apache/airflow (+0 -24 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --preview --select ALL

- airflow/configuration.py:1887:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- airflow/models/baseoperator.py:192:16: PLC2801 Unnecessary dunder call to `__get__`. Use `get` method.
- airflow/models/taskmixin.py:109:9: PLC2801 [*] Unnecessary dunder call to `__lshift__`. Use `<<` operator.
- airflow/models/taskmixin.py:114:9: PLC2801 [*] Unnecessary dunder call to `__rshift__`. Use `>>` operator.
- airflow/providers/elasticsearch/log/es_response.py:57:20: PLC2801 Unnecessary dunder call to `__getitem__`. Access item via subscript.
- airflow/providers/microsoft/psrp/hooks/psrp.py:105:9: PLC2801 Unnecessary dunder call to `__enter__`
- airflow/providers/microsoft/psrp/hooks/psrp.py:106:9: PLC2801 Unnecessary dunder call to `__enter__`
- airflow/providers_manager.py:107:9: PLC2801 Unnecessary dunder call to `__setitem__`. Use subscript assignment.
- airflow/providers_manager.py:110:17: PLC2801 Unnecessary dunder call to `__getitem__`. Access item via subscript.
- airflow/providers_manager.py:116:13: PLC2801 Unnecessary dunder call to `__setitem__`. Use subscript assignment.
... 14 additional changes omitted for project

aws/aws-sam-cli (+0 -15 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --preview

- samcli/commands/exceptions.py:28:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- samcli/commands/exceptions.py:47:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- samcli/commands/local/lib/debug_context.py:31:16: PLC2801 [*] Unnecessary dunder call to `__bool__`. Use `bool()` builtin.
- samcli/hook_packages/terraform/hooks/prepare/exceptions.py:19:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- samcli/hook_packages/terraform/hooks/prepare/exceptions.py:34:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- samcli/hook_packages/terraform/hooks/prepare/exceptions.py:392:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- samcli/hook_packages/terraform/hooks/prepare/exceptions.py:51:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- samcli/hook_packages/terraform/hooks/prepare/exceptions.py:74:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- samcli/lib/cookiecutter/exceptions.py:9:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- samcli/lib/docker/log_streamer.py:20:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
... 5 additional changes omitted for project

bokeh/bokeh (+0 -2 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --preview --select ALL

- src/bokeh/embed/util.py:276:16: PLC2801 Unnecessary dunder call to `__getitem__`. Access item via subscript.
- src/bokeh/models/plots.py:909:20: PLC2801 Unnecessary dunder call to `__getattribute__`. Access attribute directly or use getattr built-in function.

freedomofpress/securedrop (+0 -13 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --preview

- journalist_gui/journalist_gui/SecureDropUpdater.py:125:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- journalist_gui/journalist_gui/SecureDropUpdater.py:49:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- journalist_gui/journalist_gui/SecureDropUpdater.py:89:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- securedrop/journalist_app/sessions.py:31:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- securedrop/pretty_bad_protocol/_parsers.py:1774:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- securedrop/tests/migrations/migration_a9fe328b053a.py:50:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- securedrop/tests/migrations/migration_a9fe328b053a.py:72:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- securedrop/tests/migrations/migration_b58139cfdc8c.py:121:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- securedrop/tests/migrations/migration_b58139cfdc8c.py:165:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- securedrop/tests/migrations/migration_c5a02eb52f2d.py:19:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
... 3 additional changes omitted for project

fronzbot/blinkpy (+0 -1 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --preview

- blinkpy/sync_module.py:767:16: PLC2801 [*] Unnecessary dunder call to `__repr__`. Use `repr()` builtin.

ibis-project/ibis (+0 -21 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --preview

- ibis/common/bases.py:198:13: PLC2801 Unnecessary dunder call to `__setattr__`. Mutate attribute directly or use setattr built-in function.
- ibis/common/bases.py:212:13: PLC2801 Unnecessary dunder call to `__setattr__`. Mutate attribute directly or use setattr built-in function.
- ibis/common/bases.py:239:13: PLC2801 Unnecessary dunder call to `__setattr__`. Mutate attribute directly or use setattr built-in function.
- ibis/common/bases.py:241:9: PLC2801 Unnecessary dunder call to `__setattr__`. Mutate attribute directly or use setattr built-in function.
- ibis/common/bases.py:245:13: PLC2801 Unnecessary dunder call to `__setattr__`. Mutate attribute directly or use setattr built-in function.
- ibis/common/bases.py:247:9: PLC2801 Unnecessary dunder call to `__setattr__`. Mutate attribute directly or use setattr built-in function.
- ibis/common/caching.py:39:9: PLC2801 Unnecessary dunder call to `__setattr__`. Mutate attribute directly or use setattr built-in function.
- ibis/common/collections.py:229:43: PLC2801 [*] Unnecessary dunder call to `__ge__`. Use `>=` operator.
- ibis/common/collections.py:240:43: PLC2801 [*] Unnecessary dunder call to `__le__`. Use `<=` operator.
- ibis/common/collections.py:295:9: PLC2801 Unnecessary dunder call to `__setattr__`. Mutate attribute directly or use setattr built-in function.
... 11 additional changes omitted for project

milvus-io/pymilvus (+0 -11 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --preview

- pymilvus/client/abstract.py:179:16: PLC2801 [*] Unnecessary dunder call to `__str__`. Use `str()` builtin.
- pymilvus/client/abstract.py:282:16: PLC2801 [*] Unnecessary dunder call to `__str__`. Use `str()` builtin.
- pymilvus/client/abstract.py:360:16: PLC2801 [*] Unnecessary dunder call to `__str__`. Use `str()` builtin.
- pymilvus/client/abstract.py:627:35: PLC2801 [*] Unnecessary dunder call to `__len__`. Use `len()` builtin.
- pymilvus/client/abstract.py:627:69: PLC2801 [*] Unnecessary dunder call to `__len__`. Use `len()` builtin.
- pymilvus/client/abstract.py:632:20: PLC2801 [*] Unnecessary dunder call to `__len__`. Use `len()` builtin.
- pymilvus/client/abstract.py:639:30: PLC2801 [*] Unnecessary dunder call to `__len__`. Use `len()` builtin.
- pymilvus/client/abstract.py:641:20: PLC2801 Unnecessary dunder call to `__getitem__`. Access item via subscript.
- pymilvus/client/abstract.py:648:34: PLC2801 Unnecessary dunder call to `__getitem__`. Access item via subscript.
- pymilvus/client/ts_utils.py:22:16: PLC2801 [*] Unnecessary dunder call to `__repr__`. Use `repr()` builtin.
... 1 additional changes omitted for project

pandas-dev/pandas (+0 -52 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --preview

- pandas/_config/config.py:227:9: PLC2801 Unnecessary dunder call to `__setattr__`. Mutate attribute directly or use setattr built-in function.
- pandas/_config/config.py:228:9: PLC2801 Unnecessary dunder call to `__setattr__`. Mutate attribute directly or use setattr built-in function.
- pandas/_config/config.py:231:18: PLC2801 Unnecessary dunder call to `__getattribute__`. Access attribute directly or use getattr built-in function.
- pandas/_config/config.py:243:18: PLC2801 Unnecessary dunder call to `__getattribute__`. Access attribute directly or use getattr built-in function.
- pandas/_config/config.py:248:17: PLC2801 Unnecessary dunder call to `__getattribute__`. Access attribute directly or use getattr built-in function.
- pandas/conftest.py:598:20: PLC2801 Unnecessary dunder call to `__getitem__`. Access item via subscript.
- pandas/core/_numba/extensions.py:188:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- pandas/core/_numba/extensions.py:199:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- pandas/core/_numba/extensions.py:563:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
- pandas/core/accessor.py:229:9: PLC2801 Unnecessary dunder call to `__setattr__`. Mutate attribute directly or use setattr built-in function.
- pandas/core/arrays/arrow/extension_types.py:26:9: PLC2801 Unnecessary dunder call to `__init__`. Instantiate class directly.
... 41 additional changes omitted for project

... Truncated remaining completed project reports due to GitHub comment length restrictions

Changes by rule (1 rules affected)

code total + violation - violation + fix - fix
PLC2801 229 0 229 0 0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

(🐞) bad unnecessary-dunder-call report for object.__getattribute__(self within a __getattribute__ implementation

1 participant