blob: 3fae17416d6b671d16d03c3b9c2a9feb4d7be097 [file] [log] [blame]
Mark Beierl6db47d42023-03-23 13:51:15 -04001# Copyright 2022 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# Testing tools configuration
16[tool.coverage.run]
17branch = true
18
19[tool.coverage.report]
20show_missing = true
21
22[tool.pytest.ini_options]
23minversion = "6.0"
24log_cli_level = "INFO"
25
26# Formatting tools configuration
27[tool.black]
28line-length = 99
29target-version = ["py38"]
30
31[tool.isort]
32profile = "black"
33
34# Linting tools configuration
35[tool.flake8]
36max-line-length = 99
37max-doc-length = 99
38max-complexity = 10
39exclude = [".git", "__pycache__", ".tox", "build", "dist", "*.egg_info", "venv"]
40select = ["E", "W", "F", "C", "N", "R", "D", "H"]
41# Ignore W503, E501 because using black creates errors with this
42# Ignore D107 Missing docstring in __init__
43ignore = ["W503", "E501", "D107"]
44# D100, D101, D102, D103: Ignore missing docstrings in tests
45per-file-ignores = ["tests/*:D100,D101,D102,D103,D104"]
46docstring-convention = "google"
47# Check for properly formatted copyright header in each file
48copyright-check = "True"
49copyright-author = "Canonical Ltd."
50copyright-regexp = "Copyright\\s\\d{4}([-,]\\d{4})*\\s+%(author)s"
51
52[tool.bandit]
53tests = ["B201", "B301"]