[flake8]
max-line-length = 100
enable-extensions = FT
select =
    C901,  # flake8-mccabe
    E,  # flake8-pycodestyle
    F,  # flake8-pyflakes
    W,  # flake8-pycodestyle
    FT,  # flake8-tergeo
ignore=
    # conflict with black formatter
    W503,E203,E704,
    # ignore !r recommendation
    FTB907,
    # false positive caused by sqlalchemy tests
    FTT009,
    # sqlalchemy has attributes shadowing
    FTU003,
    # TODO fix and remove the ignore
    FTU005,
    # some things don't need a docstring
    FTP305,FTP306
per-file-ignores =
    test/*:FTP300,FTP301,FTP302,FTP303,FTP304
    sqlalchemy_hana/dialect.py:FTP301,FTP302,FTP303
    sqlalchemy_hana/functions.py:FTP144

ftp-python-version = 3.10.0
ftp-auto-manage-options = true
ftp-pytest-parametrize-names-type = csv
ftp-distribution-name = sqlalchemy-hana
ftp-requirements-packages = test,sqlalchemy_hana
ftp-requirements-ignore-type-checking-block = true
ftp-requirements-module-extra-mapping =
    test | *,
    sqlalchemy_hana.alembic | alembic,
ftp-pyproject-toml-file = pyproject.toml
