@@ -44,24 +44,26 @@ app_config = "mpt_extension_sdk.runtime.djapp.apps:ExtensionConfig"
4444
4545[dependency-groups ]
4646dev = [
47- " flake8==7.3.0" , # force flake version to have same formatting everywhere, bump in pre-commit also
48- " freezegun>=1.4,<1.6" ,
47+ " flake8==7.3.*" , # force flake8 version to have same formatting everywhere, also update in pre-commit config
48+ # "flake8-aaa==0.17.*", # also update pre-commit config TODO: add it on next iteration
49+ " flake8-pyproject==1.2.*" , # also update pre-commit config
50+ " freezegun==1.5.*" ,
4951 " ipdb==0.13.*" ,
50- " ipython>=8,<10 " ,
51- " mypy>=1.8,<1.20 " ,
52- " pre-commit>=3.6,<4.6 " ,
53- " pytest>=7.4,<9.1 " ,
54- " pytest-cov>=4.1,<7.1 " ,
55- " pytest-deadfixtures>=2.2,<3.2 " ,
56- " pytest-django>=4.7,<4.12 " ,
57- " pytest-mock>=3.12,<3.16 " ,
58- " pytest-randomly>=3.15,<4.1 " ,
59- " pytest-xdist>=3.5,<3.9 " ,
60- " responses>=0.24,<0.26 " ,
61- " ruff==0.14.13 " , # force ruff version to have same formatting everywhere, bump in pre-commit also
52+ " ipython==9.* " ,
53+ " mypy==1.19.* " ,
54+ " pre-commit==4.5.* " ,
55+ " pytest==9.0.* " ,
56+ " pytest-cov==7.0.* " ,
57+ " pytest-deadfixtures==3.1.* " ,
58+ " pytest-django==4.11.* " ,
59+ " pytest-mock==3.15.* " ,
60+ " pytest-randomly==4.0.* " ,
61+ " pytest-xdist==3.8.* " ,
62+ " responses==0.25.* " ,
63+ " ruff==0.14.11 " , # force ruff version to have same formatting everywhere, also update in pre-commit config
6264 " types-openpyxl==3.1.*" ,
63- " types-requests>=2.31,<2.33 " ,
64- " wemake-python-styleguide>=1.3,<1.6 " ,
65+ " types-requests==2.32.* " ,
66+ " wemake-python-styleguide==1.5.* " , # also update pre-commit config
6567]
6668
6769[build-system ]
@@ -92,6 +94,59 @@ omit = [
9294 " __init__.py" ,
9395]
9496
97+ [tool .flake8 ]
98+ allowed-domain-names = [" result" ]
99+ allowed-module-metadata = [" __all__" ]
100+ aaa_act_block_style = " large"
101+ doctests = true
102+ extend-ignore = [" WPS226" ]
103+ extend-exclude = [
104+ " .coverage" ,
105+ " .github" ,
106+ " .idea" ,
107+ " .mypy_cache" ,
108+ " .pytest_cache" ,
109+ " .ruff_cache" ,
110+ " uv.lock" ,
111+ " .venv"
112+ ]
113+ format = " wemake"
114+ max-imports = 17
115+ max-line-length = 100
116+ select = [" E999" , " WPS" ]
117+ show-source = true
118+ statistics = false
119+ # To be fixed and removed
120+ per-file-ignores = [
121+ " tests/**/*.py: WPS" ,
122+ " tests/*.py: WPS" ,
123+ " mpt_extension_sdk/core/utils.py: WPS100 WPS453" ,
124+ " mpt_extension_sdk/mpt_http/mpt.py: WPS202 WPS118 WPS211" ,
125+ " mpt_extension_sdk/mpt_http/utils.py: WPS100" ,
126+ " mpt_extension_sdk/mpt_http/wrap_http_error.py: WPS110 WPS430 WPS505" ,
127+ " mpt_extension_sdk/runtime/__init__.py: WPS412" ,
128+ " mpt_extension_sdk/runtime/djapp/conf/__init__.py: WPS412" ,
129+ " mpt_extension_sdk/airtable/wrap_http_error.py: WPS110 WPS430 WPS231 WPS505 WPS328" ,
130+ " mpt_extension_sdk/core/events/dataclasses.py: WPS110" ,
131+ " mpt_extension_sdk/flows/context.py: WPS214" ,
132+ " mpt_extension_sdk/key_vault/base.py: WPS615" ,
133+ " mpt_extension_sdk/runtime/commands/run.py: WPS400 WPS216" ,
134+ " mpt_extension_sdk/runtime/djapp/conf/default.py: WPS407" ,
135+ " mpt_extension_sdk/runtime/djapp/management/commands/consume_events.py: WPS403 WPS213 WPS110" ,
136+ " mpt_extension_sdk/runtime/djapp/middleware.py: WPS420 WPS122 WPS211 WPS121" ,
137+ " mpt_extension_sdk/runtime/errors.py: WPS453" ,
138+ " mpt_extension_sdk/runtime/events/dispatcher.py: WPS420 WPS230 WPS529" ,
139+ " mpt_extension_sdk/runtime/events/producers.py: WPS210" ,
140+ " mpt_extension_sdk/runtime/events/utils.py: WPS100 WPS430" ,
141+ " mpt_extension_sdk/runtime/initializer.py: WPS407 WPS210" ,
142+ " mpt_extension_sdk/runtime/logging.py: WPS115" ,
143+ " mpt_extension_sdk/runtime/master.py: WPS220 WPS214 WPS230" ,
144+ " mpt_extension_sdk/runtime/swoext.py: WPS110 WPS430" ,
145+ " mpt_extension_sdk/runtime/utils.py: WPS100 WPS202 WPS460 WPS210 WPS221 WPS349 WPS110 WPS430 WPS237 WPS202 WPS460" ,
146+ " mpt_extension_sdk/swo_rql/__init__.py: WPS111 WPS410 WPS412" ,
147+ " mpt_extension_sdk/swo_rql/query_builder.py: WPS210 WPS231 WPS110 WPS214 WPS115 WPS111 WPS478 WPS221 WPS211 WPS237" ,
148+ ]
149+
95150[tool .ruff ]
96151preview = true
97152target-version = " py312"
0 commit comments