# Copyright Materialize, Inc. and contributors. All rights reserved. # # Use of this software is governed by the Business Source License # included in the LICENSE file at the root of this repository. # # As of the Change Date specified in that file, in accordance with # the Business Source License, use of this software will be governed # by the Apache License, Version 2.0. [tool.black] target_version = ["py310"] # DEFAULT_EXCLUDES from https://github.com/psf/black/blob/main/src/black/const.py but without "build" directory since we use it in our source code. Instead exclude target and target-xcompile exclude = "(\\.direnv|\\.eggs|\\.git|\\.hg|\\.ipynb_checkpoints|\\.mypy_cache|\\.nox|\\.pytest_cache|\\.ruff_cache|\\.tox|\\.svn|\\.venv|\\.vscode|__pypackages__|_build|buck-out|dist|venv|target|target-xcompile|\\.terraform|misc/fivetran-sdk)" [tool.ruff] target-version = "py310" select = [ "F", "I", "UP", # e.g. PEP585 (Python 3.10+) type annotations "E711", # comparisons to none ] extend-exclude = [ "venv", "target", # This dbt adapter may be published elsewhere, so doesn't follow the same compatibility rules as our internal code. "misc/dbt-materialize", # The fivetran-sdk is a submodule that we don't control. "misc/fivetran-sdk", ] [tool.ruff.isort] known-first-party = ["materialize"] [tool.pyright] # Allow pyright to find imports for python files # in random folders, e.g. mzcompose.py files extraPaths = ["misc/python"] venvPath = "./misc/python" venv = "venv" exclude = ["**/venv", "**/.terraform"] stubPath = "./misc/python/stubs" reportMissingImports = "warning" reportMissingModuleSource = "warning" reportMissingTypeStubs = "warning" reportOptionalMemberAccess = "warning" reportUnboundVariable = "warning" reportPrivateImportUsage = "warning" reportTypedDictNotRequiredAccess = "none" reportOptionalSubscript = "warning" typeCheckingMode = "basic" ignore = [ # Rust build artifacts are not subject to our static analysis. "target/", ] [tool.pytest.ini_options] log_cli = true log_cli_level = "INFO" # do not include the timestamp which is already provided by Buildkite log_cli_format = "[%(levelname)8s] %(message)s (%(filename)s:%(lineno)s)"