# Copyright (c) 2022-2023, NVIDIA CORPORATION. [flake8] filename = *.py, *.pyx, *.pxd, *.pxi exclude = __init__.py, *.egg, build, docs, .git force-check = True ignore = # line break before binary operator W503, # whitespace before : E203 per-file-ignores = # Rules ignored only in Cython: # E211: whitespace before '(' (used in multi-line imports) # E225: Missing whitespace around operators (breaks cython casting syntax like ) # E226: Missing whitespace around arithmetic operators (breaks cython pointer syntax like int*) # E227: Missing whitespace around bitwise or shift operator (Can also break casting syntax) # E275: Missing whitespace after keyword (Doesn't work with Cython except?) # E402: invalid syntax (works for Python, not Cython) # E999: invalid syntax (works for Python, not Cython) # W504: line break after binary operator (breaks lines that end with a pointer) *.pyx: E211, E225, E226, E227, E275, E402, E999, W504 *.pxd: E211, E225, E226, E227, E275, E402, E999, W504 *.pxi: E211, E225, E226, E227, E275, E402, E999, W504 [pydocstyle] # Due to https://github.com/PyCQA/pydocstyle/issues/363, we must exclude rather # than include using match-dir. Note that as discussed in # https://stackoverflow.com/questions/65478393/how-to-filter-directories-using-the-match-dir-flag-for-pydocstyle, # unlike the match option above this match-dir will have no effect when # pydocstyle is invoked from pre-commit. Therefore this exclusion list must # also be maintained in the pre-commit config file. match-dir = ^(?!(ci|cpp|conda|docs|java|notebooks)).*$ # Allow missing docstrings for docutils ignore-decorators = .*(docutils|doc_apply|copy_docstring).* select = D201, D204, D206, D207, D208, D209, D210, D211, D214, D215, D300, D301, D302, D403, D405, D406, D407, D408, D409, D410, D411, D412, D414, D418 # Would like to enable the following rules in the future: # D200, D202, D205, D400 [mypy] ignore_missing_imports = True # If we don't specify this, then mypy will check excluded files if # they are imported by a checked file. follow_imports = skip [codespell] # note: pre-commit passes explicit lists of files here, which this skip file list doesn't override - # this is only to allow you to run codespell interactively skip = ./.git,./.github,./cpp/build,.*egg-info.*,./.mypy_cache,.*_skbuild # ignore short words, and typename parameters like OffsetT ignore-regex = \b(.{1,4}|[A-Z]\w*T)\b ignore-words-list = inout,unparseable,numer builtin = clear quiet-level = 3