[flake8]
## https://flake8.pycqa.org/en/latest/user/configuration.html
## keep in sync with isort config - in `isort.cfg` file

exclude =
    build,dist,__pycache__,.eggs,*.egg-info*,
    *_cache,*.cache,
    .git,.tox,.venv,venv,.venv*,venv*,
    _OLD,_TEST,
    docs

max-line-length = 120

max-complexity = 10

ignore =
    # ignore `self`, `cls` markers of flake8-annotations>=2.0
    ANN101,ANN102
    # ignore ANN401 for dynamically typed *args and **kwargs
    ANN401
    # See https://www.flake8rules.com/rules/W503.html
    # > Despite being in the best practice section, this will soon be considered an anti-pattern.
    # So lets ignore this "suggestion" that is actually an anti-pattern already!
    W503

## https://pypi.org/project/flake8-copyright-validator/
copyright-text =
    '# This file is part of CycloneDX Python Library'
    '#'
    '# 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.'
    '#'
    '# SPDX-License-Identifier: Apache-2.0'
    '# Copyright (c) OWASP Foundation. All Rights Reserved.'
lines-to-exclude =
    ## shebang
    '#!'
