| # Copyright 2022 Canonical Ltd. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); you may |
| # not use this file except in compliance with the License. You may obtain |
| # a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| # License for the specific language governing permissions and limitations |
| # under the License. |
| |
| # Testing tools configuration |
| [tool.coverage.run] |
| branch = true |
| |
| [tool.coverage.report] |
| show_missing = true |
| |
| [tool.pytest.ini_options] |
| minversion = "6.0" |
| log_cli_level = "INFO" |
| |
| # Formatting tools configuration |
| [tool.black] |
| line-length = 99 |
| target-version = ["py38"] |
| |
| [tool.isort] |
| profile = "black" |
| |
| # Linting tools configuration |
| [tool.flake8] |
| max-line-length = 99 |
| max-doc-length = 99 |
| max-complexity = 10 |
| exclude = [".git", "__pycache__", ".tox", "build", "dist", "*.egg_info", "venv"] |
| select = ["E", "W", "F", "C", "N", "R", "D", "H"] |
| # Ignore W503, E501 because using black creates errors with this |
| # Ignore D107 Missing docstring in __init__ |
| ignore = ["W503", "E501", "D107"] |
| # D100, D101, D102, D103: Ignore missing docstrings in tests |
| per-file-ignores = ["tests/*:D100,D101,D102,D103,D104"] |
| docstring-convention = "google" |
| # Check for properly formatted copyright header in each file |
| copyright-check = "True" |
| copyright-author = "Canonical Ltd." |
| copyright-regexp = "Copyright\\s\\d{4}([-,]\\d{4})*\\s+%(author)s" |
| |
| [tool.bandit] |
| tests = ["B201", "B301"] |