Skip to content

Commit 41fa29d

Browse files
committed
MPT-16559 Fix new ruff rules, move setup.cfg to pyproject.toml
1 parent 89d177e commit 41fa29d

11 files changed

Lines changed: 163 additions & 149 deletions

File tree

.pre-commit-config.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/astral-sh/ruff-pre-commit
3-
rev: v0.12.11
3+
rev: v0.14.11
44
hooks:
55
- id: ruff-check
66
- id: ruff-format
@@ -26,3 +26,5 @@ repos:
2626
rev: 7.3.0
2727
hooks:
2828
- id: flake8
29+
additional_dependencies:
30+
[flake8-pyproject==1.2.*, wemake-python-styleguide==1.4.*]
Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +0,0 @@
1-
from importlib.metadata import version
2-
3-
try:
4-
__version__ = version("swo-runtime")
5-
except Exception: # pragma: no cover
6-
__version__ = "0.0.0"
7-
8-
9-
def get_version():
10-
"""Get the current version of the package."""
11-
return __version__
Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
1-
from typing import Any
1+
from mpt_extension_sdk.runtime.djapp.conf.product_utils import extract_product_ids, get_for_product
22

3-
4-
def extract_product_ids(product_ids: str) -> list[str]:
5-
"""Extract product IDs from a comma-separated string."""
6-
return product_ids.split(",")
7-
8-
9-
def get_for_product(settings, variable_name: str, product_id: str) -> Any:
10-
"""A shortcut to return product scoped variable from the extension settings."""
11-
return settings.EXTENSION_CONFIG[variable_name][product_id]
3+
__all__ = [
4+
"extract_product_ids",
5+
"get_for_product",
6+
]
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from typing import Any
2+
3+
4+
def extract_product_ids(product_ids: str) -> list[str]:
5+
"""Extract product IDs from a comma-separated string."""
6+
return product_ids.split(",")
7+
8+
9+
def get_for_product(settings, variable_name: str, product_id: str) -> Any:
10+
"""A shortcut to return product scoped variable from the extension settings."""
11+
return settings.EXTENSION_CONFIG[variable_name][product_id]

mpt_extension_sdk/runtime/events/producers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
from mpt_extension_sdk.core.events.dataclasses import Event
1313
from mpt_extension_sdk.core.utils import setup_client
14-
from mpt_extension_sdk.swo_rql import RQLQuery
14+
from mpt_extension_sdk.swo_rql import R as RQLQuery
1515

1616
logger = logging.getLogger(__name__)
1717

mpt_extension_sdk/runtime/swoext.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import click
22
from django.utils.module_loading import import_string
33

4-
from mpt_extension_sdk.runtime import get_version
54
from mpt_extension_sdk.runtime.utils import show_banner
5+
from mpt_extension_sdk.runtime.version import get_version
66

77

88
def print_version(ctx, param, value):
@@ -27,14 +27,14 @@ def cli(ctx):
2727
show_banner()
2828

2929

30-
for cmd in map(
30+
cmds = map(
3131
import_string,
3232
(
3333
"mpt_extension_sdk.runtime.commands.run.run",
3434
"mpt_extension_sdk.runtime.commands.django.django",
3535
),
36-
):
37-
cli.add_command(cmd)
36+
)
37+
[cli.add_command(cmd) for cmd in cmds]
3838

3939

4040
def make_django_command(name, django_command=None, help_value=None):
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from importlib.metadata import PackageNotFoundError, version
2+
3+
try:
4+
__version__ = version("swo-runtime")
5+
except PackageNotFoundError: # pragma: no cover
6+
__version__ = "0.0.0"
7+
8+
9+
def get_version():
10+
"""Get the current version of the package."""
11+
return __version__
Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
from mpt_extension_sdk.swo_rql.query_builder import RQLQuery
1+
from mpt_extension_sdk.swo_rql.query_builder import RQLQuery as R # noqa: WPS347
22

3-
R = RQLQuery
4-
5-
__all__ = ["R", "RQLQuery"]
3+
__all__ = ["R"]

pyproject.toml

Lines changed: 72 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -44,24 +44,26 @@ app_config = "mpt_extension_sdk.runtime.djapp.apps:ExtensionConfig"
4444

4545
[dependency-groups]
4646
dev = [
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.0.*",
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,60 @@ 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 = ["AAA", "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/swo_rql/__init__.py: WPS412 WPS111 WPS410",
130+
"mpt_extension_sdk/airtable/wrap_http_error.py: WPS110 WPS430 WPS231 WPS505 WPS328",
131+
"mpt_extension_sdk/core/events/dataclasses.py: WPS110",
132+
"mpt_extension_sdk/flows/context.py: WPS214",
133+
"mpt_extension_sdk/key_vault/base.py: WPS615",
134+
"mpt_extension_sdk/runtime/commands/run.py: WPS400 WPS216",
135+
"mpt_extension_sdk/runtime/djapp/conf/default.py: WPS407",
136+
"mpt_extension_sdk/runtime/djapp/management/commands/consume_events.py: WPS403 WPS213 WPS110",
137+
"mpt_extension_sdk/runtime/djapp/middleware.py: WPS420 WPS122 WPS211 WPS121",
138+
"mpt_extension_sdk/runtime/errors.py: WPS453",
139+
"mpt_extension_sdk/runtime/events/dispatcher.py: WPS420 WPS230 WPS529",
140+
"mpt_extension_sdk/runtime/events/producers.py: WPS210",
141+
"mpt_extension_sdk/runtime/events/utils.py: WPS100 WPS430",
142+
"mpt_extension_sdk/runtime/initializer.py: WPS407 WPS210",
143+
"mpt_extension_sdk/runtime/logging.py: WPS115",
144+
"mpt_extension_sdk/runtime/master.py: WPS220 WPS214 WPS230",
145+
"mpt_extension_sdk/runtime/swoext.py: WPS110 WPS430",
146+
"mpt_extension_sdk/runtime/utils.py: WPS100 WPS202 WPS460 WPS210 WPS221 WPS349 WPS110 WPS430 WPS237 WPS202 WPS460",
147+
"mpt_extension_sdk/swo_rql/__init__.py: WPS111 WPS410",
148+
"mpt_extension_sdk/swo_rql/query_builder.py: WPS210 WPS231 WPS110 WPS214 WPS115 WPS111 WPS478 WPS221 WPS211 WPS237",
149+
]
150+
95151
[tool.ruff]
96152
preview = true
97153
target-version = "py312"

setup.cfg

Lines changed: 0 additions & 61 deletions
This file was deleted.

0 commit comments

Comments
 (0)