[flake8]
extend-ignore = E203, E266, W503, F403, F821
max-line-length = 120
enable-extensions = E123,E133,E241,E242,E704,W505
exclude =
    .git
    .tox
    .eggs
    __pycache__
    tests/fixtures/*
    docs/*
    venv,.pytest_cache
    build
    src/promptflow/promptflow/azure/_restclient
    src/promptflow/tests/test_configs/*
import-order-style = google

[mypy]
ignore_missing_imports = True
disallow_untyped_defs = True

[mypy-pytest,pytest_mock]
ignore_missing_imports = True

[tool:pycln]
quiet = True

[black]
line_length = 120

[pycln]
silence = True

[isort]
# we use check for make fmt*
profile = "black"
# no need to fmt ignored
skip_gitignore = true
# needs to be the same as in black
line_length = 120
use_parentheses = true
include_trailing_comma = true
honor_noqa = true
ensure_newline_before_comments = true
skip_glob = [
        docs/**,
        pipelines/**,
        pytest/**,
        samples/**,
    ]
known_third_party = azure,mock,numpy,pandas,pydash,pytest,pytest_mock,requests,setuptools,six,sklearn,tqdm,urllib3,utilities,utils,yaml,jsonschema,strictyaml,jwt,pathspec,isodate,docker
known_first_party = promptflow,promptflow_test
