Skip to content

Commit 593df29

Browse files
Merge branch 'pydantic_v2_migration_do_not_squash_updates' into is4481/upgrade-api-server-service
2 parents ad0cf2b + 3cf68ba commit 593df29

File tree

53 files changed

+437
-236
lines changed

Some content is hidden

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

53 files changed

+437
-236
lines changed

packages/common-library/src/common_library/serialization.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
from datetime import timedelta
22
from typing import Any
33

4-
from common_library.pydantic_fields_extension import get_type
54
from pydantic import BaseModel, SecretStr
65
from pydantic_core import Url
76

7+
from .pydantic_fields_extension import get_type
8+
89

910
def model_dump_with_secrets(
10-
settings_obj: BaseModel, show_secrets: bool, **pydantic_export_options
11+
settings_obj: BaseModel, *, show_secrets: bool, **pydantic_export_options
1112
) -> dict[str, Any]:
1213
data = settings_obj.model_dump(**pydantic_export_options)
1314

@@ -25,16 +26,16 @@ def model_dump_with_secrets(
2526
data[field_name] = field_data.get_secret_value()
2627
else:
2728
data[field_name] = str(field_data)
28-
29+
2930
elif isinstance(field_data, Url):
3031
data[field_name] = str(field_data)
31-
32+
3233
elif isinstance(field_data, dict):
3334
field_type = get_type(settings_obj.model_fields[field_name])
3435
if issubclass(field_type, BaseModel):
3536
data[field_name] = model_dump_with_secrets(
3637
field_type.model_validate(field_data),
37-
show_secrets,
38+
show_secrets=show_secrets,
3839
**pydantic_export_options,
3940
)
4041

packages/models-library/tests/test_error_codes.py renamed to packages/common-library/tests/test_error_codes.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import logging
77

88
import pytest
9-
from models_library.error_codes import create_error_code, parse_error_code
9+
from common_library.error_codes import create_error_code, parse_error_code
1010

1111
logger = logging.getLogger(__name__)
1212

packages/models-library/src/models_library/error_codes.py

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

packages/service-library/src/servicelib/aiohttp/rest_middlewares.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from aiohttp import web
1313
from aiohttp.web_request import Request
1414
from aiohttp.web_response import StreamResponse
15-
from models_library.error_codes import create_error_code
15+
from common_library.error_codes import create_error_code
1616
from models_library.utils.json_serialization import json_dumps
1717

1818
from ..logging_errors import create_troubleshotting_log_kwargs

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
from pprint import pformat
33
from typing import Any, TypedDict
44

5+
from common_library.error_codes import ErrorCodeStr
56
from common_library.errors_classes import OsparcErrorMixin
6-
from models_library.error_codes import ErrorCodeStr
77

88
from .logging_utils import LogExtra, get_log_record_extra
99

packages/service-library/tests/aiohttp/test_rest_middlewares.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import pytest
1414
from aiohttp import web
1515
from aiohttp.test_utils import TestClient
16-
from models_library.error_codes import parse_error_code
16+
from common_library.error_codes import parse_error_code
1717
from models_library.utils.json_serialization import json_dumps
1818
from servicelib.aiohttp import status
1919
from servicelib.aiohttp.rest_middlewares import (
@@ -99,7 +99,7 @@ async def raise_exception(cls, request: web.Request):
9999
case NotImplementedError.__name__:
100100
raise NotImplementedError
101101
case asyncio.TimeoutError.__name__:
102-
raise asyncio.TimeoutError
102+
raise TimeoutError
103103
case web.HTTPOk.__name__:
104104
raise web.HTTPOk # 2XX
105105
case web.HTTPUnauthorized.__name__:

packages/service-library/tests/test_logging_errors.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import logging
44

55
import pytest
6-
from models_library.error_codes import create_error_code
7-
from models_library.errors_classes import OsparcErrorMixin
6+
from common_library.error_codes import create_error_code
7+
from common_library.errors_classes import OsparcErrorMixin
88
from servicelib.logging_errors import (
99
create_troubleshotting_log_kwargs,
1010
create_troubleshotting_log_message,

packages/settings-library/src/settings_library/utils_cli.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
import rich
99
import typer
1010
from common_library.serialization import model_dump_with_secrets
11+
from models_library.utils.json_serialization import json_dumps
1112
from pydantic import ValidationError
13+
from pydantic_core import to_jsonable_python
1214
from pydantic_settings import BaseSettings
1315

1416
from ._constants import HEADER_STR
@@ -87,7 +89,7 @@ def print_as_json(
8789
def create_settings_command(
8890
settings_cls: type[BaseCustomSettings],
8991
logger: logging.Logger | None = None,
90-
json_serializer=json.dumps,
92+
json_serializer=json_dumps,
9193
) -> Callable:
9294
"""Creates typer command function for settings"""
9395

@@ -112,14 +114,24 @@ def settings(
112114
"""Resolves settings and prints envfile"""
113115

114116
if as_json_schema:
115-
typer.echo(settings_cls.schema_json(indent=0 if compact else 2))
117+
typer.echo(
118+
json.dumps(
119+
settings_cls.model_json_schema(),
120+
default=to_jsonable_python,
121+
indent=0 if compact else 2,
122+
)
123+
)
116124
return
117125

118126
try:
119127
settings_obj = settings_cls.create_from_envs()
120128

121129
except ValidationError as err:
122-
settings_schema = settings_cls.schema_json(indent=2)
130+
settings_schema = json.dumps(
131+
settings_cls.model_json_schema(),
132+
default=to_jsonable_python,
133+
indent=2,
134+
)
123135

124136
assert logger is not None # nosec
125137
logger.error( # noqa: TRY400

services/catalog/src/simcore_service_catalog/exceptions/errors.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from typing import Any
22

3-
from models_library.errors_classes import OsparcErrorMixin
3+
from common_library.errors_classes import OsparcErrorMixin
44

55

66
class CatalogBaseError(OsparcErrorMixin, Exception):

services/dask-sidecar/requirements/_base.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,6 @@ dask[distributed, diagnostics]
2525
dask-gateway # needed for the osparc-dask-gateway to preload the module
2626
fsspec[http, s3] # sub types needed as we acces http and s3 here
2727
lz4 # for compression
28-
pydantic[email,dotenv]
28+
pydantic
2929
prometheus_client
3030
repro-zipfile

0 commit comments

Comments
 (0)