From 121ff2e1c080e75d2b042823b72c758f7c395ec1 Mon Sep 17 00:00:00 2001 From: Min RK Date: Thu, 5 Sep 2024 05:50:00 -0700 Subject: [PATCH] update for pydantic 2 (#68) - small changes to avoid deprecation messages - remove a couple of apparently unused autogenerated files --- kbatch-proxy/kbatch_proxy/__init__.py | 13 ------------- kbatch-proxy/kbatch_proxy/main.py | 14 ++++++++------ kbatch-proxy/requirements.txt | 5 +++-- kbatch-proxy/setup.cfg | 5 +++-- kbatch/kbatch_proxy/__init__.py | 13 ------------- 5 files changed, 14 insertions(+), 36 deletions(-) delete mode 100644 kbatch/kbatch_proxy/__init__.py diff --git a/kbatch-proxy/kbatch_proxy/__init__.py b/kbatch-proxy/kbatch_proxy/__init__.py index 28560f3..e69de29 100644 --- a/kbatch-proxy/kbatch_proxy/__init__.py +++ b/kbatch-proxy/kbatch_proxy/__init__.py @@ -1,13 +0,0 @@ -# generated by datamodel-codegen: -# filename: http://127.0.0.1:8080/openapi/v2 -# timestamp: 2021-10-31T19:19:45+00:00 - -from __future__ import annotations - -from typing import Any - -from pydantic import BaseModel - - -class Model(BaseModel): - __root__: Any diff --git a/kbatch-proxy/kbatch_proxy/main.py b/kbatch-proxy/kbatch_proxy/main.py index c723286..64f3ef0 100644 --- a/kbatch-proxy/kbatch_proxy/main.py +++ b/kbatch-proxy/kbatch_proxy/main.py @@ -3,7 +3,8 @@ from typing import List, Optional, Tuple, Dict, Union import yaml -from pydantic import BaseModel, BaseSettings +from pydantic import BaseModel +from pydantic_settings import BaseSettings, SettingsConfigDict import jupyterhub.services.auth from fastapi import Depends, FastAPI, HTTPException, Request, status, APIRouter import kubernetes.client @@ -49,15 +50,16 @@ class Settings(BaseSettings): # Whether to automatically create new namespaces for a users kbatch_create_user_namespace: bool = True - class Config: - env_file = os.environ.get("KBATCH_SETTINGS_PATH", ".env") - env_file_encoding = "utf-8" + model_config = SettingsConfigDict( + env_file=os.environ.get("KBATCH_SETTINGS_PATH", ".env"), + env_file_encoding="utf-8", + ) class User(BaseModel): name: str groups: List[str] - api_token: Optional[str] + api_token: Optional[str] = None @property def namespace(self) -> str: @@ -254,7 +256,7 @@ def get_root(): @router.get("/authorized") def authorized(user: User = Depends(get_current_user)) -> UserOut: - return UserOut(**user.dict()) + return UserOut(**user.model_dump()) app.include_router(router) diff --git a/kbatch-proxy/requirements.txt b/kbatch-proxy/requirements.txt index 249a85e..7fab32b 100644 --- a/kbatch-proxy/requirements.txt +++ b/kbatch-proxy/requirements.txt @@ -2,8 +2,9 @@ fastapi httpx kubernetes uvicorn[standard] -gunicorn==20.1.0 +gunicorn==23.0.0 jupyterhub escapism rich -pydantic[dotenv]<2.0.0 \ No newline at end of file +pydantic>=2,<3 +pydantic-settings diff --git a/kbatch-proxy/setup.cfg b/kbatch-proxy/setup.cfg index 936a2ec..65a48af 100644 --- a/kbatch-proxy/setup.cfg +++ b/kbatch-proxy/setup.cfg @@ -20,7 +20,8 @@ install_requires = httpx jupyterhub kubernetes - pydantic[dotenv]<2.0.0 + pydantic>=2,<3 + pydantic-settings [options.extras_require] all = @@ -37,4 +38,4 @@ dev = [options.entry_points] console_scripts = - kbatch = kbatch.cli:cli \ No newline at end of file + kbatch = kbatch.cli:cli diff --git a/kbatch/kbatch_proxy/__init__.py b/kbatch/kbatch_proxy/__init__.py deleted file mode 100644 index 8c80ab6..0000000 --- a/kbatch/kbatch_proxy/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -# generated by datamodel-codegen: -# filename: http://127.0.0.1:8080/openapi/v2 -# timestamp: 2021-11-01T16:10:27+00:00 - -from __future__ import annotations - -from typing import Any - -from pydantic import BaseModel - - -class Model(BaseModel): - __root__: Any