# SPDX-License-Identifier: GPL-2.0-or-later [tool.autopep8] # Configuration for `autopep8`, allowing the command: autopep8 . # to reformat all source files. # # NOTE: the settings defined here map directly to command line arguments # which will override these settings when passed in to autopep8. max_line_length = 120 ignore = [ # Info: Use `isinstance()` instead of comparing types directly. # Why disable? Changes code logic, in rare cases we want to compare exact types. "E721", # Info: Fix bare except. # Why disable? Disruptive, leave our exceptions alone. "E722", # Info: Fix module level import not at top of file. # Why disable? Re-ordering imports is disruptive and breaks some scripts # that need to check if a module has already been loaded in the case of reloading. "E402", # Info: Fix various deprecated code (via lib2to3) # Why disable? Does nothing besides incorrectly adding a duplicate import, # could be reported as a bug except this is likely to be removed soon, see: # https://github.com/python/cpython/issues/84540. "W690", ] # Use aggressive as many useful edits are disabled unless it's enabled. # Any edits which are overly disruptive or risky can be removed in the `ignore` list. aggressive = 2 # Exclude: # - `./extern/` because it's maintained separately. # - `./release/scripts/addons*` & `./source/tools/` because they are external repositories # which can contain their own configuration and be handled separately. # - `./release/scripts/modules/rna_manual_reference.py` because it's a generated data-file. exclude = """ ./extern/*, ./release/scripts/addons/*, ./release/scripts/addons_contrib/*, ./release/scripts/modules/rna_manual_reference.py, ./source/tools/*, """ # Omit settings such as `jobs`, `in_place` & `recursive` as they can cause editor utilities that auto-format on save # to fail if the STDIN/STDOUT is used for formatting (which isn't compatible with these options).