[tool.black] target-version = ['py310'] line-length = 120 skip-string-normalization = true skip-magic-trailing-comma = true force-exclude = ''' /( | docs | setup.py )/ ''' [tool.isort] py_version = 310 sections = ["FUTURE", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"] default_section = "THIRDPARTY" known_third_party = [] known_first_party = [] known_local_folder = [] # style: black multi_line_output = 3 include_trailing_comma = true force_grid_wrap = 0 use_parentheses = true ensure_newline_before_comments = true line_length = 120 split_on_trailing_comma = true lines_after_imports = 2 force_single_line = true skip_glob = ["docs/*", "setup.py"] filter_files = true [tool.ruff] target-version = "py310" line-length = 120 indent-width = 4 extend-exclude = ["docs", "test", "tests"] [tool.ruff.lint] select = ["F", "E"] extend-select = ["W", "C90", "I", "N", "B", "A", "C4", "PERF", "RUF"] ignore = [] fixable = ["ALL"] unfixable = [] preview = true dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" [tool.ruff.lint.isort] force-single-line = true force-sort-within-sections = false lines-after-imports = 2 known-first-party = [] known-local-folder = [] known-third-party = [] section-order = [ "future", "standard-library", "third-party", "first-party", "local-folder", ] [tool.ruff.lint.mccabe] max-complexity = 24 [tool.ruff.lint.pycodestyle] ignore-overlong-task-comments = true [tool.ruff.lint.pydocstyle] convention = "numpy" [tool.ruff.lint.flake8-annotations] allow-star-arg-any = true ignore-fully-untyped = true [tool.ruff.lint.pylint] max-args = 5 max-branches = 12 max-locals = 15 max-statements = 50 [tool.ruff.format] quote-style = "double" indent-style = "space" skip-magic-trailing-comma = false line-ending = "auto" preview = false docstring-code-format = true [tool.mypy] # Platform configuration python_version = "3.10" # imports related ignore_missing_imports = true follow_imports = "silent" # None and Optional handling no_implicit_optional = false strict_optional = false # Configuring warnings warn_unused_configs = true warn_redundant_casts = true warn_unused_ignores = true warn_no_return = true warn_unreachable = true warn_return_any = false # Untyped definitions and calls check_untyped_defs = false disallow_untyped_calls = false disallow_untyped_defs = false disallow_incomplete_defs = false disallow_untyped_decorators = false # Disallow dynamic typing disallow_subclassing_any = false disallow_any_unimported = false disallow_any_expr = false disallow_any_decorated = false disallow_any_explicit = false disallow_any_generics = false # Miscellaneous strictness flags allow_untyped_globals = true allow_redefinition = true local_partial_types = false implicit_reexport = true strict_equality = true # Configuring error messages show_error_context = false show_column_numbers = false show_error_codes = true exclude = ["docs", "test", "tests"] [tool.pyright] pythonVersion = "3.10" typeCheckingMode = "basic" # enable subset of "strict" reportDuplicateImport = true reportInvalidStubStatement = true reportOverlappingOverload = true reportPropertyTypeMismatch = true reportUntypedClassDecorator = false reportUntypedFunctionDecorator = false reportUntypedNamedTuple = false reportUnusedImport = true # disable subset of "basic" reportGeneralTypeIssues = false reportMissingModuleSource = false reportOptionalCall = false reportOptionalIterable = false reportOptionalMemberAccess = false reportOptionalOperand = false reportOptionalSubscript = false reportPrivateImportUsage = false reportUnboundVariable = false exclude = ["docs", "setup.py"]