[flake8]
ignore =
    # E203 whitespace before ':'
    E203,
    # E221: multiple spaces before operator
    E221,
    # E241: multiple spaces after ':'
    E241,
    # E402: module level import not at top of file
    E402,
    # E501: line too long
    E501,
    # E741 ambiguous variable name
    E741,
    # W503: line break before binary operator
    W503,
    # flake8-requirements import checks
    I
per-file-ignores =
    core/mocks/generated/*:F4

[isort]
multi_line_output = 3
include_trailing_comma = True
force_grid_wrap = 0
combine_as_imports = True
line_length = 88
not_skip=__init__.py
known_standard_library = micropython,ubinascii,ustruct,uctypes,utime,utimeq,trezorio,trezorui,trezorutils,trezorconfig,trezorcrypto
known_third_party = curve25519,ecdsa,hypothesis,pytest,mnemonic,shamir-mnemonic,trezor,storage,protobuf
known_first_party = trezorlib,apps

[tool:pytest]
addopts = -rfE --strict-markers --random-order
testpaths = tests crypto storage python/tests
xfail_strict = true
junit_family = xunit2

[mypy]
mypy_path = src,mocks,mocks/generated
check_untyped_defs = True
disallow_subclassing_any = True
disallow_untyped_calls = True
disallow_untyped_decorators = True
disallow_untyped_defs = True
disallow_incomplete_defs = True
namespace_packages = True
no_implicit_optional = True
warn_redundant_casts = True
warn_return_any = True
warn_unused_configs = True
warn_unused_ignores = True
show_error_codes = True
# type union operator support, should be removed after 3.10 is the default
python_version = 3.10