Skip to content

Commit b25d613

Browse files
authored
♻️🔨 Unexpected mypy upgrade revealed configuration and code failures (#6527)
1 parent da15add commit b25d613

File tree

86 files changed

+195
-122
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+195
-122
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ help: ## help on rule's targets
128128

129129

130130
test_python_version: ## Check Python version, throw error if compilation would fail with the installed version
131-
python ./scripts/test_python_version.py
131+
@uv run ./scripts/test_python_version.py
132132

133133

134134
## DOCKER BUILD -------------------------------

packages/aws-library/requirements/_tools.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ isort==5.13.2
2828
# pylint
2929
mccabe==0.7.0
3030
# via pylint
31-
mypy==1.11.2
31+
mypy==1.12.0
3232
# via -r requirements/../../../requirements/devenv.txt
3333
mypy-extensions==1.0.0
3434
# via

packages/aws-library/requirements/ci.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
# installs base + tests requirements
1010
--requirement _base.txt
1111
--requirement _test.txt
12+
--requirement _tools.txt
1213

1314
# installs this repo's packages
1415
pytest-simcore @ ../pytest-simcore

packages/dask-task-models-library/requirements/_tools.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ isort==5.13.2
2727
# pylint
2828
mccabe==0.7.0
2929
# via pylint
30-
mypy==1.11.2
30+
mypy==1.12.0
3131
# via -r requirements/../../../requirements/devenv.txt
3232
mypy-extensions==1.0.0
3333
# via

packages/dask-task-models-library/requirements/ci.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
# installs base + tests requirements
1010
--requirement _base.txt
1111
--requirement _test.txt
12+
--requirement _tools.txt
1213

1314
# installs this repo's packages
1415
pytest-simcore @ ../pytest-simcore

packages/models-library/requirements/_tools.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ mccabe==0.7.0
3131
# via pylint
3232
mdurl==0.1.2
3333
# via markdown-it-py
34-
mypy==1.11.2
34+
mypy==1.12.0
3535
# via -r requirements/../../../requirements/devenv.txt
3636
mypy-extensions==1.0.0
3737
# via

packages/models-library/requirements/ci.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
# installs base + tests requirements
1010
--requirement _base.txt
1111
--requirement _test.txt
12+
--requirement _tools.txt
1213

1314
# installs this repo's packages
1415
simcore-postgres-database[migration] @ ../postgres-database/

packages/models-library/src/models_library/utils/_original_fastapi_encoders.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# pylint: disable-all
2+
23
#
34
# wget https://raw.githubusercontent.com/tiangolo/fastapi/master/fastapi/encoders.py --output-document=_original_fastapi_encoders
45
#
@@ -75,7 +76,7 @@ def jsonable_encoder(
7576
sqlalchemy_safe=sqlalchemy_safe,
7677
)
7778
if dataclasses.is_dataclass(obj):
78-
obj_dict = dataclasses.asdict(obj) # type: ignore[call-overload]
79+
obj_dict = dataclasses.asdict(obj) # type: ignore[arg-type]
7980
return jsonable_encoder(
8081
obj_dict,
8182
include=include,

packages/notifications-library/requirements/_test.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ idna==3.10
2424
# requests
2525
iniconfig==2.0.0
2626
# via pytest
27-
mypy==1.11.2
27+
mypy==1.12.0
2828
# via sqlalchemy
2929
mypy-extensions==1.0.0
3030
# via mypy

packages/notifications-library/requirements/_tools.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ isort==5.13.2
2727
# pylint
2828
mccabe==0.7.0
2929
# via pylint
30-
mypy==1.11.2
30+
mypy==1.12.0
3131
# via
3232
# -c requirements/_test.txt
3333
# -r requirements/../../../requirements/devenv.txt

packages/notifications-library/requirements/ci.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
# installs base + tests requirements
1010
--requirement _base.txt
1111
--requirement _test.txt
12+
--requirement _tools.txt
1213

1314
# installs this repo's packages
1415
simcore-models-library @ ../models-library/

packages/postgres-database/requirements/_test.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ greenlet==3.1.1
1919
# sqlalchemy
2020
iniconfig==2.0.0
2121
# via pytest
22-
mypy==1.11.2
22+
mypy==1.12.0
2323
# via sqlalchemy
2424
mypy-extensions==1.0.0
2525
# via mypy

packages/postgres-database/requirements/_tools.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ isort==5.13.2
2626
# pylint
2727
mccabe==0.7.0
2828
# via pylint
29-
mypy==1.11.2
29+
mypy==1.12.0
3030
# via
3131
# -c requirements/_test.txt
3232
# -r requirements/../../../requirements/devenv.txt

packages/postgres-database/requirements/ci.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
--requirement _base.txt
1111
--requirement _migration.txt
1212
--requirement _test.txt
13+
--requirement _tools.txt
1314

1415
# installs this repo's packages
1516
pytest-simcore @ ../../packages/pytest-simcore/

packages/service-integration/requirements/_tools.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ isort==5.13.2
2727
# pylint
2828
mccabe==0.7.0
2929
# via pylint
30-
mypy==1.11.2
30+
mypy==1.12.0
3131
# via -r requirements/../../../requirements/devenv.txt
3232
mypy-extensions==1.0.0
3333
# via

packages/service-integration/requirements/ci.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
# installs base + tests requirements
1010
--requirement _base.txt
1111
--requirement _test.txt
12+
--requirement _tools.txt
1213

1314
simcore-models-library @ ../models-library
1415
pytest-simcore @ ../pytest-simcore

packages/service-library/requirements/_test.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ multidict==6.1.0
117117
# -c requirements/_base.txt
118118
# aiohttp
119119
# yarl
120-
mypy==1.11.2
120+
mypy==1.12.0
121121
# via sqlalchemy
122122
mypy-extensions==1.0.0
123123
# via mypy

packages/service-library/requirements/_tools.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ isort==5.13.2
2727
# pylint
2828
mccabe==0.7.0
2929
# via pylint
30-
mypy==1.11.2
30+
mypy==1.12.0
3131
# via
3232
# -c requirements/_test.txt
3333
# -r requirements/../../../requirements/devenv.txt

packages/service-library/requirements/ci.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
# installs base + tests requirements
1010
--requirement _base.txt
1111
--requirement _test.txt
12+
--requirement _tools.txt
1213

1314
# installs this repo's packages
1415
simcore-models-library @ ../models-library

packages/service-library/src/servicelib/logging_utils.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@
1414
from datetime import datetime
1515
from inspect import getframeinfo, stack
1616
from pathlib import Path
17+
from pprint import pformat
1718
from typing import Any, TypeAlias, TypedDict, TypeVar
1819

19-
from models_library.utils.json_serialization import json_dumps
20-
2120
from .error_codes import ErrorCodeStr
2221
from .utils_secrets import mask_sensitive_data
2322

@@ -348,7 +347,7 @@ def get_log_record_extra(
348347

349348
def create_troubleshotting_log_message(
350349
message_to_user: str,
351-
error: BaseException,
350+
error: BaseException | None,
352351
error_code: ErrorCodeStr,
353352
error_context: dict[str, Any] | None = None,
354353
tip: str | None = None,
@@ -362,11 +361,11 @@ def create_troubleshotting_log_message(
362361
error_context -- Additional context surrounding the exception, such as environment variables or function-specific data. This can be derived from exc.error_context() (relevant when using the OsparcErrorMixin)
363362
tip -- Helpful suggestions or possible solutions explaining why the error may have occurred and how it could potentially be resolved
364363
"""
365-
debug_data = json_dumps(
364+
debug_data = pformat(
366365
{
367366
"exception_details": f"{error}",
368367
"error_code": error_code,
369-
"context": error_context,
368+
"context": pformat(error_context, indent=1),
370369
"tip": tip,
371370
},
372371
indent=1,

packages/service-library/src/servicelib/utils.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ async def limited_as_completed(
197197
*,
198198
limit: int = _DEFAULT_LIMITED_CONCURRENCY,
199199
tasks_group_prefix: str | None = None,
200-
) -> AsyncGenerator[asyncio.Future[T], None]:
200+
) -> AsyncGenerator[asyncio.Task[T], None]:
201201
"""Runs awaitables using limited concurrent tasks and returns
202202
result futures unordered.
203203
@@ -214,7 +214,7 @@ async def limited_as_completed(
214214
nothing
215215
216216
Yields:
217-
Future[T]: the future of the awaitables as they appear.
217+
task[T]: the future of the awaitables as they appear.
218218
219219
220220
"""
@@ -227,7 +227,7 @@ async def limited_as_completed(
227227
is_async = False
228228

229229
completed_all_awaitables = False
230-
pending_futures: set[asyncio.Future] = set()
230+
pending_futures: set[asyncio.Task] = set()
231231

232232
try:
233233
while pending_futures or not completed_all_awaitables:
@@ -240,10 +240,11 @@ async def limited_as_completed(
240240
if is_async
241241
else next(awaitable_iterator) # type: ignore[call-overload]
242242
)
243-
future = asyncio.ensure_future(aw)
243+
future: asyncio.Task = asyncio.ensure_future(aw)
244244
if tasks_group_prefix:
245245
future.set_name(f"{tasks_group_prefix}-{future.get_name()}")
246246
pending_futures.add(future)
247+
247248
except (StopIteration, StopAsyncIteration): # noqa: PERF203
248249
completed_all_awaitables = True
249250
if not pending_futures:
@@ -254,6 +255,7 @@ async def limited_as_completed(
254255

255256
for future in done:
256257
yield future
258+
257259
except asyncio.CancelledError:
258260
for future in pending_futures:
259261
future.cancel()

packages/service-library/src/servicelib/utils_secrets.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import secrets
22
import string
3-
from typing import Final
3+
from typing import Any, Final
44

55
from pydantic import StrictInt, validate_arguments
66

@@ -68,7 +68,7 @@ def _is_possibly_sensitive(name: str, sensitive_keywords: set[str]) -> bool:
6868

6969

7070
def mask_sensitive_data(
71-
data: dict, *, extra_sensitive_keywords: set[str] | None = None
71+
data: dict[str, Any], *, extra_sensitive_keywords: set[str] | None = None
7272
) -> dict:
7373
"""Replaces the sensitive values in the dict with a placeholder before logging
7474
@@ -79,7 +79,7 @@ def mask_sensitive_data(
7979
sensitive_keywords = _DEFAULT_SENSITIVE_KEYWORDS | (
8080
extra_sensitive_keywords or set()
8181
)
82-
masked_data = {}
82+
masked_data: dict[str, Any] = {}
8383
for key, value in data.items():
8484
if isinstance(value, dict):
8585
masked_data[key] = mask_sensitive_data(

packages/settings-library/requirements/_tools.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ isort==5.13.2
2727
# pylint
2828
mccabe==0.7.0
2929
# via pylint
30-
mypy==1.11.2
30+
mypy==1.12.0
3131
# via -r requirements/../../../requirements/devenv.txt
3232
mypy-extensions==1.0.0
3333
# via

packages/settings-library/requirements/ci.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
# installs base + tests requirements
1010
--requirement _base.txt
1111
--requirement _test.txt
12+
--requirement _tools.txt
1213

1314
# installs this repo's packages
1415
pytest-simcore @ ../pytest-simcore

packages/simcore-sdk/requirements/_test.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ multidict==6.1.0
175175
# -c requirements/_base.txt
176176
# aiohttp
177177
# yarl
178-
mypy==1.11.2
178+
mypy==1.12.0
179179
# via sqlalchemy
180180
mypy-extensions==1.0.0
181181
# via mypy

packages/simcore-sdk/requirements/_tools.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ isort==5.13.2
2828
# pylint
2929
mccabe==0.7.0
3030
# via pylint
31-
mypy==1.11.2
31+
mypy==1.12.0
3232
# via
3333
# -c requirements/_test.txt
3434
# -r requirements/../../../requirements/devenv.txt

packages/simcore-sdk/requirements/ci.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
# installs base + tests requirements
1010
--requirement _base.txt
1111
--requirement _test.txt
12+
--requirement _tools.txt
13+
--requirement _tools.txt
14+
--requirement _tools.txt
1215

1316
# installs this repo's packages
1417
simcore-postgres-database @ ../postgres-database

services/agent/requirements/_base.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,8 @@ referencing==0.29.3
258258
# -c requirements/../../../packages/service-library/requirements/./constraints.txt
259259
# jsonschema
260260
# jsonschema-specifications
261+
repro-zipfile==0.3.1
262+
# via -r requirements/../../../packages/service-library/requirements/_base.in
261263
requests==2.32.3
262264
# via opentelemetry-exporter-otlp-proto-http
263265
rich==13.8.1

services/agent/requirements/_tools.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ isort==5.13.2
2828
# pylint
2929
mccabe==0.7.0
3030
# via pylint
31-
mypy==1.11.2
31+
mypy==1.12.0
3232
# via -r requirements/../../../requirements/devenv.txt
3333
mypy-extensions==1.0.0
3434
# via

services/agent/requirements/ci.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
# installs base + tests requirements
1010
--requirement _base.txt
1111
--requirement _test.txt
12+
--requirement _tools.txt
1213

1314
# installs this repo's packages
1415
simcore-models-library @ ../../packages/models-library

services/api-server/requirements/_test.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ multidict==6.0.5
187187
# -c requirements/_base.txt
188188
# aiohttp
189189
# yarl
190-
mypy==1.11.2
190+
mypy==1.12.0
191191
# via sqlalchemy
192192
mypy-extensions==1.0.0
193193
# via mypy

services/api-server/requirements/_tools.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ markupsafe==2.1.5
4141
# jinja2
4242
mccabe==0.7.0
4343
# via pylint
44-
mypy==1.11.2
44+
mypy==1.12.0
4545
# via
4646
# -c requirements/_test.txt
4747
# -r requirements/../../../requirements/devenv.txt

services/api-server/requirements/ci.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
# installs base + tests requirements
1010
--requirement _base.txt
1111
--requirement _test.txt
12+
--requirement _tools.txt
1213

1314
# installs this repo's packages
1415
simcore-models-library @ ../../packages/models-library

services/autoscaling/requirements/_tools.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ isort==5.13.2
2828
# pylint
2929
mccabe==0.7.0
3030
# via pylint
31-
mypy==1.11.2
31+
mypy==1.12.0
3232
# via -r requirements/../../../requirements/devenv.txt
3333
mypy-extensions==1.0.0
3434
# via

services/autoscaling/requirements/ci.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
# installs base + tests requirements
1010
--requirement _base.txt
1111
--requirement _test.txt
12+
--requirement _tools.txt
1213

1314
# installs this repo's packages
1415
simcore-aws-library @ ../../packages/aws-library

0 commit comments

Comments
 (0)