|
- [metadata]
- license_file = "LICENSE"
- description-file = "README.md"
-
-
- [tool.pytest.ini_options]
- addopts = '-m "not conda"'
- markers = [
- "conda: test related to conda forge distribution"
- ]
-
- [tool.black]
- # https://github.com/psf/black
- line-length = 120
- exclude = "(.eggs|.git|.hg|.mypy_cache|.venv|_build|buck-out|build|dist)"
-
-
- [tool.ruff]
- line-length = 120
- # Enable Pyflakes `E` and `F` codes by default.
- select = [
- "E", "W", # see: https://pypi.org/project/pycodestyle
- "F", # see: https://pypi.org/project/pyflakes
- # "D", # see: https://pypi.org/project/pydocstyle
- # "N", # see: https://pypi.org/project/pep8-naming
- # "S", # see: https://pypi.org/project/flake8-bandit
- ]
- ignore = [
- "E501",
- "F401",
- "F403",
- "C901",
- ]
- # Exclude a variety of commonly ignored directories.
- exclude = [
- ".eggs",
- ".git",
- ".mypy_cache",
- ".ruff_cache",
- "__pypackages__",
- "_build",
- "build",
- "dist",
- "docs",
- # This file needs to be either upgraded or removed and therefore should be
- # ignore from type checking for now
- "math_utils\\.py$",
- ]
- ignore-init-module-imports = true
- unfixable = ["F401"]
-
- [tool.ruff.mccabe]
- # Unlike Flake8, default to a complexity level of 10.
- max-complexity = 10
-
- [tool.mypy]
-
- strict = true
- python_version = "3.8"
- ignore_missing_imports = true
- install_types = true
- non_interactive = true
- plugins = [
- "pydantic.mypy"
- ]
-
- # remove after all files in the repo are fixed
- follow_imports = "silent"
-
- # from https://blog.wolt.com/engineering/2021/09/30/professional-grade-mypy-configuration/
- disallow_untyped_defs = true
- no_implicit_optional = true
- check_untyped_defs = true
- warn_return_any = true
- show_error_codes = true
- warn_unused_ignores = true
-
- disallow_incomplete_defs = true
- disallow_untyped_decorators = true
- disallow_any_unimported = true
|