blob: af62f24a293834f70c79c1b8205daddf87714475 [file] [log] [blame]
Patricia Reinosod5b463c2023-05-31 08:37:18 +00001# Copyright 2021 Canonical Ltd.
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may
4# not use this file except in compliance with the License. You may obtain
5# a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations
13# under the License.
14#
15
16# Testing tools configuration
17[tool.coverage.run]
18branch = true
19
20[tool.coverage.report]
21show_missing = true
22
23[tool.pytest.ini_options]
24minversion = "6.0"
25log_cli_level = "INFO"
26
27# Formatting tools configuration
28[tool.black]
29line-length = 99
30target-version = ["py38"]
31
32[tool.isort]
33profile = "black"
34
35# Linting tools configuration
36[tool.flake8]
37max-line-length = 99
38max-doc-length = 99
39max-complexity = 10
40exclude = [".git", "__pycache__", ".tox", "build", "dist", "*.egg_info", "venv"]
41select = ["E", "W", "F", "C", "N", "R", "D", "H"]
42# Ignore W503, E501 because using black creates errors with this
43# Ignore D107 Missing docstring in __init__
44ignore = ["W503", "E501", "D107"]
45# D100, D101, D102, D103: Ignore missing docstrings in tests
46per-file-ignores = ["tests/*:D100,D101,D102,D103,D104"]
47docstring-convention = "google"
48# Check for properly formatted copyright header in each file
49copyright-check = "True"
50copyright-author = "Canonical Ltd."
51copyright-regexp = "Copyright\\s\\d{4}([-,]\\d{4})*\\s+%(author)s"
52
53[tool.bandit]
54tests = ["B201", "B301"]