[flake8]
exclude = .git,__pycache__,docs/conf.py,build,dist
ignore = C812,C813,C814,C815,C816,D100,D104,D200,D204,D205,D301,D400,D401,D402,D412,D413,DAR003,DAR103,DAR203,E203,E731,E800,E1101,N812,P101,RST201,RST203,RST210,RST213,RST301,RST304,S,W0221,W503,W504,W605,WPS0,WPS100,WPS101,WPS110,WPS111,WPS112,WPS125,WPS2,WPS300,WPS301,WPS305,WPS306,WPS309,WPS317,WPS323,WPS326,WPS331,WPS333,WPS335,WPS336,WPS337,WPS338,WPS342,WPS347,WPS348,WPS349,WPS350,WPS352,WPS402,WPS404,WPS405,WPS408,WPS410,WPS412,WPS414,WPS420,WPS421,WPS425,WPS426,WPS429,WPS430,WPS431,WPS432,WPS433,WPS434,WPS435,WPS440,WPS441,WPS5,WPS6
max-line-length = 79
max-doc-length = 79
inline-quotes = double
multiline-quotes = double
docstring-quotes = double
convention = google
class_attributes_order =
    field,
    meta_class,
    nested_class,
    magic_method,
    property_method,
    static_method,
    private_method
    method,
    class_method,

[isort]
force_to_top = typing
skip_glob = **/__init__.py
line_length = 79
multi_line_output = 3
force_grid_wrap = 0
default_section = THIRDPARTY
no_lines_before = STDLIB,LOCALFOLDER
order_by_type = false
lines_between_types = 0
combine_as_imports = true
include_trailing_comma = true
use_parentheses = true
# TODO: check if works fine
filter_files = **/__init__.py
force_sort_within_sections = true
# TODO: check if compatable with black
reverse_relative = true

# catalyst imports order:
#  - typing
#  - core python libs
#  - python libs (known_third_party)
#  - dl libs (known_dl)
#  - catalyst imports
known_dl = albumentations,gym,gym_minigrid,kornia,neptune,tensorboard,tensorboardX,tensorflow,torch,torchvision,transformers,wandb
known_first_party = catalyst
sections = STDLIB,THIRDPARTY,DL,FIRSTPARTY,LOCALFOLDER

[darglint]
docstring_style = google
strictness = short
ignore_regex = ^_(.*)
