Enable linting for __all__ ordering (RUF022) #299

Closed
opened 2026-04-05 16:25:03 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @jeremystretch on 2/20/2026

Proposed Changes

Enable Ruff rule RUF022 to enforce proper ordering of items listed in a module's __all__ attribute, and apply all the suggested fixes (currently around 88).

Example:

RUF022 [*] `__all__` is not sorted
  --> netbox/wireless/graphql/types.py:16:11
   |
14 |       from tenancy.graphql.types import TenantType
15 |
16 |   __all__ = (
   |  ___________^
17 | |     'WirelessLANType',
18 | |     'WirelessLANGroupType',
19 | |     'WirelessLinkType',
20 | | )
   | |_^
   |
help: Apply an isort-style sorting to `__all__`
14 |     from tenancy.graphql.types import TenantType
15 | 
16 | __all__ = (
17 +     'WirelessLANGroupType',
18 |     'WirelessLANType',
   -     'WirelessLANGroupType',
19 |     'WirelessLinkType',
20 | )

Justification

This will enforce predictable ordering of each module's declared contents.

*Originally created by @jeremystretch on 2/20/2026* ### Proposed Changes Enable Ruff rule [RUF022](https://docs.astral.sh/ruff/rules/unsorted-dunder-all/) to enforce proper ordering of items listed in a module's `__all__` attribute, and apply all the suggested fixes (currently around 88). Example: ``` RUF022 [*] `__all__` is not sorted --> netbox/wireless/graphql/types.py:16:11 | 14 | from tenancy.graphql.types import TenantType 15 | 16 | __all__ = ( | ___________^ 17 | | 'WirelessLANType', 18 | | 'WirelessLANGroupType', 19 | | 'WirelessLinkType', 20 | | ) | |_^ | help: Apply an isort-style sorting to `__all__` 14 | from tenancy.graphql.types import TenantType 15 | 16 | __all__ = ( 17 + 'WirelessLANGroupType', 18 | 'WirelessLANType', - 'WirelessLANGroupType', 19 | 'WirelessLinkType', 20 | ) ``` ### Justification This will enforce predictable ordering of each module's declared contents.
MrUnknownDE added the type: housekeepingstatus: acceptedtype: housekeepingtype: housekeepingnetboxtype: housekeepingtype: housekeepingtype: housekeepingtype: housekeepingtype: housekeepingtype: housekeepingtype: housekeepingtype: housekeepingstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptednetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetbox labels 2026-04-05 16:25:06 +02:00
Sign in to join this conversation.
No Label netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted type: housekeeping type: housekeeping type: housekeeping type: housekeeping type: housekeeping type: housekeeping type: housekeeping type: housekeeping type: housekeeping type: housekeeping type: housekeeping
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/netbox#299