Skip to content

Commit cdf445c

Browse files
committed
basic types
1 parent 33c76ca commit cdf445c

File tree

7 files changed

+16
-13
lines changed

7 files changed

+16
-13
lines changed

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
from enum import StrEnum
22

3+
from pydantic_core import PydanticUndefined
4+
5+
# SEE https://github.com/fastapi/fastapi/blob/master/fastapi/_compat.py#L75-L78
6+
#
7+
# Use as default when default_factory
8+
Undefined = PydanticUndefined
9+
310

411
class LogLevel(StrEnum):
512
DEBUG = "DEBUG"

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

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

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
from typing import Annotated, Any
22

3+
from common_library.basic_types import Undefined
34
from pydantic import AnyUrl, BaseModel, Field
45

5-
from ._compat import Undefined
6-
76
_Unset: Any = Undefined
87

98

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
from typing import Annotated, Any, Final, TypeAlias
88
from uuid import UUID
99

10+
from common_library.basic_types import Undefined
1011
from models_library.basic_types import ConstrainedStr
1112
from models_library.folders import FolderID
1213
from models_library.workspaces import WorkspaceID
1314
from pydantic import BaseModel, ConfigDict, Field, HttpUrl, field_validator
1415

15-
from ._compat import Undefined
1616
from .basic_regex import DATE_RE, UUID_RE_BASE
1717
from .emails import LowerCaseEmailStr
1818
from .projects_access import AccessRights, GroupIDStr

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from copy import deepcopy
66
from typing import Annotated, Any, TypeAlias, Union
77

8+
from common_library.basic_types import Undefined
89
from pydantic import (
910
BaseModel,
1011
ConfigDict,
@@ -18,7 +19,6 @@
1819
field_validator,
1920
)
2021

21-
from ._compat import Undefined
2222
from .basic_types import EnvVarKey, KeyIDStr
2323
from .projects_access import AccessEnum
2424
from .projects_nodes_io import (

packages/service-integration/src/service_integration/osparc_config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from pathlib import Path
1717
from typing import Annotated, Any, Final, Literal
1818

19-
from models_library._compat import Undefined
19+
from common_library.basic_types import Undefined
2020
from models_library.basic_types import SHA256Str
2121
from models_library.callbacks_mapping import CallbacksMapping
2222
from models_library.service_settings_labels import (

packages/settings-library/tests/test_base.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from collections.abc import Callable
99
from typing import Any
1010

11+
import pydantic
1112
import pytest
1213
import settings_library.base
1314
from pydantic import BaseModel, ValidationError
@@ -23,6 +24,8 @@
2324
)
2425
from settings_library.email import SMTPSettings
2526

27+
pydantic_version = ".".join(pydantic.__version__.split(".")[:2])
28+
2629
S2 = json.dumps({"S_VALUE": 2})
2730
S3 = json.dumps({"S_VALUE": 3})
2831

@@ -180,7 +183,7 @@ def test_create_settings_class_without_environ_fails(
180183
"loc": ("S_VALUE",),
181184
"msg": "Field required",
182185
"type": "missing",
183-
"url": "https://errors.pydantic.dev/2.9/v/missing",
186+
"url": f"https://errors.pydantic.dev/{pydantic_version}/v/missing",
184187
}
185188

186189

@@ -310,7 +313,7 @@ class SettingsClassExt(SettingsClass):
310313
"loc": ("INT_VALUE_TO_NOTHING",),
311314
"msg": "Input should be a valid integer, unable to parse string as an integer",
312315
"type": "int_parsing",
313-
"url": "https://errors.pydantic.dev/2.9/v/int_parsing",
316+
"url": f"https://errors.pydantic.dev/{pydantic_version}/v/int_parsing",
314317
}
315318

316319

0 commit comments

Comments
 (0)