diff --git a/constraints.in b/constraints.in index 6047551..62ce888 100644 --- a/constraints.in +++ b/constraints.in @@ -1 +1 @@ -pydantic < 2 \ No newline at end of file +pydantic >= 2 diff --git a/dev-requirements.in b/dev-requirements.in index 515660f..80160fc 100644 --- a/dev-requirements.in +++ b/dev-requirements.in @@ -7,3 +7,4 @@ pytest-cov>=3.0.0 pytest-mock>=3.7.0 pytest-asyncio pytest-dotenv + diff --git a/dev-requirements.txt b/dev-requirements.txt index b8d4ffc..6ee58ea 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -12,7 +12,7 @@ aiohappyeyeballs==2.6.1 # via # -c requirements.txt # aiohttp -aiohttp==3.11.18 +aiohttp==3.12.13 # via # -c requirements.txt # -r requirements.in @@ -30,6 +30,10 @@ aniso8601==10.0.1 # via # -c requirements.txt # -r requirements.in +annotated-types==0.7.0 + # via + # -c requirements.txt + # pydantic anyio==3.7.1 # via # -c requirements.txt @@ -58,7 +62,7 @@ attrs==25.3.0 # via # -c requirements.txt # aiohttp -auth0-python==4.9.0 +auth0-python==4.10.0 # via # -c requirements.txt # -r requirements.in @@ -74,7 +78,7 @@ cachetools==5.5.2 # -r requirements.in # asyncache # google-auth -certifi==2025.4.26 +certifi==2025.6.15 # via # -c requirements.txt # -r requirements.in @@ -89,11 +93,11 @@ chardet==5.2.0 # via # -c requirements.txt # -r requirements.in -charset-normalizer==3.4.1 +charset-normalizer==3.4.2 # via # -c requirements.txt # requests -click==8.1.8 +click==8.2.1 # via # -c requirements.txt # black @@ -102,13 +106,13 @@ colorama==0.4.6 # via # -c requirements.txt # -r requirements.in -coverage==7.8.0 +coverage==7.9.1 # via # coverage-badge # pytest-cov coverage-badge==1.1.2 # via -r dev-requirements.in -cryptography==44.0.2 +cryptography==45.0.4 # via # -c requirements.txt # auth0-python @@ -129,21 +133,21 @@ email-validator==2.2.0 # -r requirements.in executing==2.2.0 # via stack-data -fastapi==0.115.12 +fastapi==0.115.14 # via # -c requirements.txt # -r requirements.in -frozenlist==1.6.0 +frozenlist==1.7.0 # via # -c requirements.txt # aiohttp # aiosignal -google-api-core==2.24.2 +google-api-core==2.25.1 # via # -c requirements.txt # google-cloud-core # google-cloud-storage -google-auth==2.39.0 +google-auth==2.40.3 # via # -c requirements.txt # -r requirements.in @@ -154,7 +158,7 @@ google-cloud-core==2.4.3 # via # -c requirements.txt # google-cloud-storage -google-cloud-storage==3.1.0 +google-cloud-storage==3.1.1 # via # -c requirements.txt # -r requirements.in @@ -215,7 +219,7 @@ idna==3.10 # yarl iniconfig==2.1.0 # via pytest -ipython==9.2.0 +ipython==9.4.0 # via black ipython-pygments-lexers==1.1.1 # via ipython @@ -236,7 +240,7 @@ markupsafe==3.0.2 # jinja2 matplotlib-inline==0.1.7 # via ipython -multidict==6.4.3 +multidict==6.6.3 # via # -c requirements.txt # aiohttp @@ -267,17 +271,19 @@ pendulum==3.1.0 # -r requirements.in pexpect==4.9.0 # via ipython -platformdirs==4.3.7 +platformdirs==4.3.8 # via black -pluggy==1.5.0 - # via pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov promise==2.3 # via # -c requirements.txt # -r requirements.in prompt-toolkit==3.0.51 # via ipython -propcache==0.3.1 +propcache==0.3.2 # via # -c requirements.txt # aiohttp @@ -286,7 +292,7 @@ proto-plus==1.26.1 # via # -c requirements.txt # google-api-core -protobuf==6.30.2 +protobuf==6.31.1 # via # -c requirements.txt # google-api-core @@ -296,13 +302,13 @@ ptyprocess==0.7.0 # via pexpect pure-eval==0.2.3 # via stack-data -pyasn1==0.4.8 +pyasn1==0.6.1 # via # -c requirements.txt # pyasn1-modules # python-jose # rsa -pyasn1-modules==0.4.1 +pyasn1-modules==0.4.2 # via # -c requirements.txt # google-auth @@ -310,16 +316,21 @@ pycparser==2.22 # via # -c requirements.txt # cffi -pydantic==1.10.22 +pydantic==2.11.7 # via # -c constraints.in # -c requirements.txt # -r requirements.in # fastapi -pygments==2.19.1 +pydantic-core==2.33.2 + # via + # -c requirements.txt + # pydantic +pygments==2.19.2 # via # ipython # ipython-pygments-lexers + # pytest pyjwt==2.10.1 # via # -c requirements.txt @@ -328,20 +339,20 @@ pymysql==1.1.1 # via # -c requirements.txt # aiomysql -pytest==8.3.5 +pytest==8.4.1 # via # -r dev-requirements.in # pytest-asyncio # pytest-cov # pytest-dotenv # pytest-mock -pytest-asyncio==0.26.0 +pytest-asyncio==1.0.0 # via -r dev-requirements.in -pytest-cov==6.1.1 +pytest-cov==6.2.1 # via -r dev-requirements.in pytest-dotenv==0.5.2 # via -r dev-requirements.in -pytest-mock==3.14.0 +pytest-mock==3.14.1 # via -r dev-requirements.in python-dateutil==2.9.0.post0 # via @@ -349,9 +360,9 @@ python-dateutil==2.9.0.post0 # -r requirements.in # graphene # pendulum -python-dotenv==1.1.0 +python-dotenv==1.1.1 # via pytest-dotenv -python-jose==3.4.0 +python-jose==3.5.0 # via # -c requirements.txt # -r requirements.in @@ -363,7 +374,7 @@ pyyaml==6.0.2 # via # -c requirements.txt # -r requirements.in -requests==2.32.3 +requests==2.32.4 # via # -c requirements.txt # auth0-python @@ -378,7 +389,7 @@ rx==3.2.0 # via # -c requirements.txt # -r requirements.in -setuptools==80.0.1 +setuptools==80.9.0 # via coverage-badge six==1.17.0 # via @@ -399,7 +410,7 @@ starlette==0.46.2 # -r requirements.in # asgi-correlation-id # fastapi -structlog==25.3.0 +structlog==25.4.0 # via # -c requirements.txt # -r requirements.in @@ -407,7 +418,7 @@ timing-asgi==0.3.1 # via # -c requirements.txt # -r requirements.in -tokenize-rt==6.1.0 +tokenize-rt==6.2.0 # via black tomli==2.2.1 # via coverage @@ -415,7 +426,7 @@ traitlets==5.14.3 # via # ipython # matplotlib-inline -typing-extensions==4.13.2 +typing-extensions==4.14.0 # via # -c requirements.txt # -r requirements.in @@ -424,6 +435,12 @@ typing-extensions==4.13.2 # graphene # ipython # pydantic + # pydantic-core + # typing-inspection +typing-inspection==0.4.1 + # via + # -c requirements.txt + # pydantic tzdata==2025.2 # via # -c requirements.txt @@ -432,13 +449,13 @@ ujson==5.10.0 # via # -c requirements.txt # -r requirements.in -urllib3==2.4.0 +urllib3==2.5.0 # via # -c requirements.txt # -r requirements.in # auth0-python # requests -uvicorn==0.34.2 +uvicorn==0.35.0 # via # -c requirements.txt # -r requirements.in @@ -456,7 +473,7 @@ websockets==15.0.1 # via # -c requirements.txt # -r requirements.in -yarl==1.20.0 +yarl==1.20.1 # via # -c requirements.txt # aiohttp diff --git a/flowkit_ui_backend/db/db.py b/flowkit_ui_backend/db/db.py index 82cd62c..1554f07 100644 --- a/flowkit_ui_backend/db/db.py +++ b/flowkit_ui_backend/db/db.py @@ -15,7 +15,7 @@ from xmlrpc.client import boolean from http import HTTPStatus from aiomysql import Pool -from pydantic import BaseModel +from pydantic.v1 import BaseModel from flowkit_ui_backend.models.extra_models import TokenModel from flowkit_ui_backend.util import util diff --git a/flowkit_ui_backend/impl/accounts_api_impl.py b/flowkit_ui_backend/impl/accounts_api_impl.py index ddc5a8d..edbf603 100644 --- a/flowkit_ui_backend/impl/accounts_api_impl.py +++ b/flowkit_ui_backend/impl/accounts_api_impl.py @@ -11,7 +11,7 @@ from cachetools import TTLCache from fastapi import HTTPException from fastapi.params import Depends -from pydantic import SecretStr +from pydantic.v1 import SecretStr from flowkit_ui_backend.models.extra_models import TokenModel from flowkit_ui_backend.models.user_metadata import UserMetadata diff --git a/flowkit_ui_backend/models/bin.py b/flowkit_ui_backend/models/bin.py index a9f0b4e..2c0b023 100644 --- a/flowkit_ui_backend/models/bin.py +++ b/flowkit_ui_backend/models/bin.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/categories.py b/flowkit_ui_backend/models/categories.py index c9ecd17..10cc40f 100644 --- a/flowkit_ui_backend/models/categories.py +++ b/flowkit_ui_backend/models/categories.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/category.py b/flowkit_ui_backend/models/category.py index 0a80e1b..d7be55c 100644 --- a/flowkit_ui_backend/models/category.py +++ b/flowkit_ui_backend/models/category.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/config.py b/flowkit_ui_backend/models/config.py index 4e46318..16ad6d7 100644 --- a/flowkit_ui_backend/models/config.py +++ b/flowkit_ui_backend/models/config.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/data_input.py b/flowkit_ui_backend/models/data_input.py index 7fb0b52..40d0ba5 100644 --- a/flowkit_ui_backend/models/data_input.py +++ b/flowkit_ui_backend/models/data_input.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/data_provider.py b/flowkit_ui_backend/models/data_provider.py index bfc22f4..0bce7a3 100644 --- a/flowkit_ui_backend/models/data_provider.py +++ b/flowkit_ui_backend/models/data_provider.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/data_providers.py b/flowkit_ui_backend/models/data_providers.py index ae2946a..b7ae427 100644 --- a/flowkit_ui_backend/models/data_providers.py +++ b/flowkit_ui_backend/models/data_providers.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/data_type.py b/flowkit_ui_backend/models/data_type.py index fd60682..dcc656d 100644 --- a/flowkit_ui_backend/models/data_type.py +++ b/flowkit_ui_backend/models/data_type.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/dataset.py b/flowkit_ui_backend/models/dataset.py index 518bc34..7335ceb 100644 --- a/flowkit_ui_backend/models/dataset.py +++ b/flowkit_ui_backend/models/dataset.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/extra_models.py b/flowkit_ui_backend/models/extra_models.py index 2eada8d..ea06a5c 100644 --- a/flowkit_ui_backend/models/extra_models.py +++ b/flowkit_ui_backend/models/extra_models.py @@ -1,7 +1,7 @@ # coding: utf-8 from typing import List -from pydantic import BaseModel +from pydantic.v1 import BaseModel class TokenModel(BaseModel): diff --git a/flowkit_ui_backend/models/flow_data.py b/flowkit_ui_backend/models/flow_data.py index e14239f..c092ded 100644 --- a/flowkit_ui_backend/models/flow_data.py +++ b/flowkit_ui_backend/models/flow_data.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/heartbeat.py b/flowkit_ui_backend/models/heartbeat.py index 4a3d478..4170743 100644 --- a/flowkit_ui_backend/models/heartbeat.py +++ b/flowkit_ui_backend/models/heartbeat.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 from flowkit_ui_backend.util.config import Settings diff --git a/flowkit_ui_backend/models/indicator.py b/flowkit_ui_backend/models/indicator.py index 926017c..bc6eab0 100644 --- a/flowkit_ui_backend/models/indicator.py +++ b/flowkit_ui_backend/models/indicator.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/indicators.py b/flowkit_ui_backend/models/indicators.py index c45469e..3ee1c01 100644 --- a/flowkit_ui_backend/models/indicators.py +++ b/flowkit_ui_backend/models/indicators.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/language.py b/flowkit_ui_backend/models/language.py index 1285747..0c69882 100644 --- a/flowkit_ui_backend/models/language.py +++ b/flowkit_ui_backend/models/language.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/latest_date.py b/flowkit_ui_backend/models/latest_date.py index eee4bcf..a799020 100644 --- a/flowkit_ui_backend/models/latest_date.py +++ b/flowkit_ui_backend/models/latest_date.py @@ -1,4 +1,4 @@ -from pydantic import BaseModel +from pydantic.v1 import BaseModel from datetime import date diff --git a/flowkit_ui_backend/models/metadata.py b/flowkit_ui_backend/models/metadata.py index 72c5b08..e02e170 100644 --- a/flowkit_ui_backend/models/metadata.py +++ b/flowkit_ui_backend/models/metadata.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/query_parameters.py b/flowkit_ui_backend/models/query_parameters.py index d33647c..d2da059 100644 --- a/flowkit_ui_backend/models/query_parameters.py +++ b/flowkit_ui_backend/models/query_parameters.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/query_result.py b/flowkit_ui_backend/models/query_result.py index a5e0b8d..65a6dab 100644 --- a/flowkit_ui_backend/models/query_result.py +++ b/flowkit_ui_backend/models/query_result.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/scope_mapping.py b/flowkit_ui_backend/models/scope_mapping.py index bb88b8d..b45708c 100644 --- a/flowkit_ui_backend/models/scope_mapping.py +++ b/flowkit_ui_backend/models/scope_mapping.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/signed_url.py b/flowkit_ui_backend/models/signed_url.py index 93c9d0c..13d2618 100644 --- a/flowkit_ui_backend/models/signed_url.py +++ b/flowkit_ui_backend/models/signed_url.py @@ -1,4 +1,4 @@ -from pydantic import BaseModel +from pydantic.v1 import BaseModel class SignedUrl(BaseModel): diff --git a/flowkit_ui_backend/models/signup_cache.py b/flowkit_ui_backend/models/signup_cache.py index 3aa7c48..8029bde 100644 --- a/flowkit_ui_backend/models/signup_cache.py +++ b/flowkit_ui_backend/models/signup_cache.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/single_location_data.py b/flowkit_ui_backend/models/single_location_data.py index 354cc56..6a8faab 100644 --- a/flowkit_ui_backend/models/single_location_data.py +++ b/flowkit_ui_backend/models/single_location_data.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/spatial_resolution.py b/flowkit_ui_backend/models/spatial_resolution.py index 8e3283b..d09aaf6 100644 --- a/flowkit_ui_backend/models/spatial_resolution.py +++ b/flowkit_ui_backend/models/spatial_resolution.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/spatial_resolutions.py b/flowkit_ui_backend/models/spatial_resolutions.py index fb07087..42ed60a 100644 --- a/flowkit_ui_backend/models/spatial_resolutions.py +++ b/flowkit_ui_backend/models/spatial_resolutions.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/temporal_resolution.py b/flowkit_ui_backend/models/temporal_resolution.py index f626b02..dbdbc8b 100644 --- a/flowkit_ui_backend/models/temporal_resolution.py +++ b/flowkit_ui_backend/models/temporal_resolution.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/temporal_resolutions.py b/flowkit_ui_backend/models/temporal_resolutions.py index 6ea9555..f6f7c5d 100644 --- a/flowkit_ui_backend/models/temporal_resolutions.py +++ b/flowkit_ui_backend/models/temporal_resolutions.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/time_range.py b/flowkit_ui_backend/models/time_range.py index 1490ab1..f7137ab 100644 --- a/flowkit_ui_backend/models/time_range.py +++ b/flowkit_ui_backend/models/time_range.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/models/user_metadata.py b/flowkit_ui_backend/models/user_metadata.py index d858066..5a9767e 100644 --- a/flowkit_ui_backend/models/user_metadata.py +++ b/flowkit_ui_backend/models/user_metadata.py @@ -9,7 +9,7 @@ import re # noqa: F401 from typing import Any, Dict, List, Optional # noqa: F401 -from pydantic import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 +from pydantic.v1 import AnyUrl, BaseModel, EmailStr, validator, BaseConfig # noqa: F401 # required to make arbitrary datatypes work, see https://github.com/tiangolo/fastapi/issues/2382 BaseConfig.arbitrary_types_allowed = True diff --git a/flowkit_ui_backend/util/config.py b/flowkit_ui_backend/util/config.py index 63a078c..c391c67 100644 --- a/flowkit_ui_backend/util/config.py +++ b/flowkit_ui_backend/util/config.py @@ -4,9 +4,9 @@ from typing import Optional, Annotated from fastapi import Depends -from pydantic import BaseSettings, Field -from pydantic.networks import AnyHttpUrl -from pydantic.types import SecretStr +from pydantic.v1 import BaseSettings, Field +from pydantic.v1.networks import AnyHttpUrl +from pydantic.v1.types import SecretStr from flowkit_ui_backend.util.logging import LogLevel diff --git a/flowkit_ui_backend/util/util.py b/flowkit_ui_backend/util/util.py index 28333ba..6759cc0 100644 --- a/flowkit_ui_backend/util/util.py +++ b/flowkit_ui_backend/util/util.py @@ -11,7 +11,7 @@ import aiofiles from aiocsv import AsyncReader from typing import Union -from pydantic import BaseModel +from pydantic.v1 import BaseModel from aiomysql import Pool from flowkit_ui_backend.db import db from flowkit_ui_backend.models.config import Config diff --git a/requirements.in b/requirements.in index 63f4228..b511218 100644 --- a/requirements.in +++ b/requirements.in @@ -50,4 +50,4 @@ websockets asgi-correlation-id timing-asgi google-cloud-storage -google-auth \ No newline at end of file +google-auth diff --git a/requirements.txt b/requirements.txt index 772a870..4d4b208 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ aiofiles==24.1.0 # via -r requirements.in aiohappyeyeballs==2.6.1 # via aiohttp -aiohttp==3.11.18 +aiohttp==3.12.13 # via # -r requirements.in # auth0-python @@ -16,6 +16,8 @@ aiosignal==1.3.2 # via aiohttp aniso8601==10.0.1 # via -r requirements.in +annotated-types==0.7.0 + # via pydantic anyio==3.7.1 # via # httpx @@ -31,7 +33,7 @@ asyncache==0.3.1 # via -r requirements.in attrs==25.3.0 # via aiohttp -auth0-python==4.9.0 +auth0-python==4.10.0 # via -r requirements.in better-exceptions==0.3.3 # via -r requirements.in @@ -40,7 +42,7 @@ cachetools==5.5.2 # -r requirements.in # asyncache # google-auth -certifi==2025.4.26 +certifi==2025.6.15 # via # -r requirements.in # httpcore @@ -50,13 +52,13 @@ cffi==1.17.1 # via cryptography chardet==5.2.0 # via -r requirements.in -charset-normalizer==3.4.1 +charset-normalizer==3.4.2 # via requests -click==8.1.8 +click==8.2.1 # via uvicorn colorama==0.4.6 # via -r requirements.in -cryptography==44.0.2 +cryptography==45.0.4 # via auth0-python dnspython==2.7.0 # via @@ -66,17 +68,17 @@ ecdsa==0.19.1 # via python-jose email-validator==2.2.0 # via -r requirements.in -fastapi==0.115.12 +fastapi==0.115.14 # via -r requirements.in -frozenlist==1.6.0 +frozenlist==1.7.0 # via # aiohttp # aiosignal -google-api-core==2.24.2 +google-api-core==2.25.1 # via # google-cloud-core # google-cloud-storage -google-auth==2.39.0 +google-auth==2.40.3 # via # -r requirements.in # google-api-core @@ -84,7 +86,7 @@ google-auth==2.39.0 # google-cloud-storage google-cloud-core==2.4.3 # via google-cloud-storage -google-cloud-storage==3.1.0 +google-cloud-storage==3.1.1 # via -r requirements.in google-crc32c==1.7.1 # via @@ -132,7 +134,7 @@ markupsafe==3.0.2 # via # -r requirements.in # jinja2 -multidict==6.4.3 +multidict==6.6.3 # via # aiohttp # yarl @@ -146,31 +148,33 @@ pendulum==3.1.0 # via -r requirements.in promise==2.3 # via -r requirements.in -propcache==0.3.1 +propcache==0.3.2 # via # aiohttp # yarl proto-plus==1.26.1 # via google-api-core -protobuf==6.30.2 +protobuf==6.31.1 # via # google-api-core # googleapis-common-protos # proto-plus -pyasn1==0.4.8 +pyasn1==0.6.1 # via # pyasn1-modules # python-jose # rsa -pyasn1-modules==0.4.1 +pyasn1-modules==0.4.2 # via google-auth pycparser==2.22 # via cffi -pydantic==1.10.22 +pydantic==2.11.7 # via # -c constraints.in # -r requirements.in # fastapi +pydantic-core==2.33.2 + # via pydantic pyjwt==2.10.1 # via auth0-python pymysql==1.1.1 @@ -180,13 +184,13 @@ python-dateutil==2.9.0.post0 # -r requirements.in # graphene # pendulum -python-jose==3.4.0 +python-jose==3.5.0 # via -r requirements.in python-multipart==0.0.20 # via -r requirements.in pyyaml==6.0.2 # via -r requirements.in -requests==2.32.3 +requests==2.32.4 # via # auth0-python # google-api-core @@ -210,27 +214,31 @@ starlette==0.46.2 # -r requirements.in # asgi-correlation-id # fastapi -structlog==25.3.0 +structlog==25.4.0 # via -r requirements.in timing-asgi==0.3.1 # via -r requirements.in -typing-extensions==4.13.2 +typing-extensions==4.14.0 # via # -r requirements.in # aiocsv # fastapi # graphene # pydantic + # pydantic-core + # typing-inspection +typing-inspection==0.4.1 + # via pydantic tzdata==2025.2 # via pendulum ujson==5.10.0 # via -r requirements.in -urllib3==2.4.0 +urllib3==2.5.0 # via # -r requirements.in # auth0-python # requests -uvicorn==0.34.2 +uvicorn==0.35.0 # via -r requirements.in uvloop==0.21.0 # via -r requirements.in @@ -238,5 +246,5 @@ watchgod==0.8.2 # via -r requirements.in websockets==15.0.1 # via -r requirements.in -yarl==1.20.0 +yarl==1.20.1 # via aiohttp