From 026905c4f8b10f132094768fcdc212f500801a21 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 21 Sep 2026 18:29:03 +0000 Subject: [PATCH 1/2] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/Lucas-C/pre-commit-hooks: v1.5.5 → v1.5.6](https://github.com/Lucas-C/pre-commit-hooks/compare/v1.5.5...v1.5.6) - [github.com/astral-sh/ruff-pre-commit: v0.14.11 → v0.16.8](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.11...v0.16.8) - [github.com/pre-commit/mirrors-mypy: v1.19.1 → v2.3.1](https://github.com/pre-commit/mirrors-mypy/compare/v1.19.1...v2.3.1) --- .pre-commit-config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2e06d06..9459518 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -16,13 +16,13 @@ repos: - id: detect-private-key - repo: https://github.com/Lucas-C/pre-commit-hooks - rev: v1.5.5 + rev: v1.5.6 hooks: - id: remove-tabs exclude: ^.*(\.(tsv)|Makefile)$ - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.14.11 + rev: v0.16.8 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix, --config=pyproject.toml] @@ -38,7 +38,7 @@ repos: then /bin/mkdir .mypy_cache; fi; exit 0' - repo: https://github.com/pre-commit/mirrors-mypy - rev: "v1.19.1" + rev: "v2.3.1" hooks: - id: mypy verbose: true From b9eb77471f4456398b3089a59302ae331a3a9464 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 21 Sep 2026 18:31:23 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/physrisk_api/app/container.py | 4 +-- src/physrisk_api/app/logging_config.py | 1 - src/physrisk_api/app/main.py | 8 +++--- src/physrisk_api/app/routers/asset.py | 8 +++--- src/physrisk_api/app/routers/container.py | 1 + src/physrisk_api/app/routers/hazard.py | 8 +++--- src/physrisk_api/app/routers/visualisation.py | 27 ++++++++++--------- src/tests/api_test.py | 1 + 8 files changed, 31 insertions(+), 27 deletions(-) diff --git a/src/physrisk_api/app/container.py b/src/physrisk_api/app/container.py index a1756ee..f1bb3f9 100644 --- a/src/physrisk_api/app/container.py +++ b/src/physrisk_api/app/container.py @@ -1,10 +1,10 @@ import os -from pathlib import PurePosixPath import pathlib +from pathlib import PurePosixPath +import s3fs from dependency_injector import providers from dotenv import load_dotenv -import s3fs from physrisk.container import Container from physrisk.hazard_models.hazard_cache import GeometryH3BasedCache, LMDBStore diff --git a/src/physrisk_api/app/logging_config.py b/src/physrisk_api/app/logging_config.py index 2310cb2..c49ee49 100644 --- a/src/physrisk_api/app/logging_config.py +++ b/src/physrisk_api/app/logging_config.py @@ -1,6 +1,5 @@ import os - ROOT_LEVEL = os.environ.get("PROD", "INFO") LOGGING_CONFIG = { diff --git a/src/physrisk_api/app/main.py b/src/physrisk_api/app/main.py index e9c1dae..b9c1dbf 100644 --- a/src/physrisk_api/app/main.py +++ b/src/physrisk_api/app/main.py @@ -3,15 +3,13 @@ import logging import logging.config from importlib.metadata import version -from fastapi import FastAPI -from fastapi.middleware.cors import CORSMiddleware import uvicorn +from fastapi import FastAPI +from fastapi.middleware.cors import CORSMiddleware from physrisk_api.app.logging_config import LOGGING_CONFIG - -from physrisk_api.app.routers import auth, container, asset, hazard, visualisation - +from physrisk_api.app.routers import asset, auth, container, hazard, visualisation logging.config.dictConfig(LOGGING_CONFIG) logger = logging.getLogger(__name__) diff --git a/src/physrisk_api/app/routers/asset.py b/src/physrisk_api/app/routers/asset.py index 8a80676..8f15d68 100644 --- a/src/physrisk_api/app/routers/asset.py +++ b/src/physrisk_api/app/routers/asset.py @@ -2,16 +2,18 @@ import logging import logging.config -from physrisk_api.app.logging_config import LOGGING_CONFIG from typing import Annotated -from fastapi import Depends, APIRouter, HTTPException -from physrisk.requests import Requester + +from fastapi import APIRouter, Depends, HTTPException from physrisk.api.v1.exposure_req_resp import ( AssetExposureRequest, AssetExposureResponse, ) from physrisk.api.v1.impact_req_resp import AssetImpactRequest, AssetImpactResponse +from physrisk.requests import Requester + from physrisk_api.app.auth import get_current_user, provider_limits +from physrisk_api.app.logging_config import LOGGING_CONFIG from physrisk_api.app.routers.container import requester logging.config.dictConfig(LOGGING_CONFIG) diff --git a/src/physrisk_api/app/routers/container.py b/src/physrisk_api/app/routers/container.py index 33b0820..8697d9c 100644 --- a/src/physrisk_api/app/routers/container.py +++ b/src/physrisk_api/app/routers/container.py @@ -1,6 +1,7 @@ """Endpoints and DI helpers for managing the dependency-injector container.""" from fastapi import APIRouter + from physrisk_api.app.container import create_container router = APIRouter(tags=["container"]) diff --git a/src/physrisk_api/app/routers/hazard.py b/src/physrisk_api/app/routers/hazard.py index 0b4ffcd..31d722e 100644 --- a/src/physrisk_api/app/routers/hazard.py +++ b/src/physrisk_api/app/routers/hazard.py @@ -2,10 +2,9 @@ import logging import logging.config -from physrisk_api.app.logging_config import LOGGING_CONFIG from typing import Annotated -from fastapi import Depends, APIRouter, HTTPException -from physrisk.requests import Requester + +from fastapi import APIRouter, Depends, HTTPException from physrisk.api.v1.hazard_data import ( HazardAvailabilityRequest, HazardAvailabilityResponse, @@ -13,7 +12,10 @@ HazardDataResponse, StaticInformationResponse, ) +from physrisk.requests import Requester + from physrisk_api.app.auth import get_current_user, provider_limits +from physrisk_api.app.logging_config import LOGGING_CONFIG from physrisk_api.app.routers.container import requester logging.config.dictConfig(LOGGING_CONFIG) diff --git a/src/physrisk_api/app/routers/visualisation.py b/src/physrisk_api/app/routers/visualisation.py index 2740363..17434f8 100644 --- a/src/physrisk_api/app/routers/visualisation.py +++ b/src/physrisk_api/app/routers/visualisation.py @@ -2,19 +2,20 @@ import logging import logging.config -from physrisk_api.app.logging_config import LOGGING_CONFIG -from typing import Annotated, Optional, Any -from fastapi import APIRouter, Depends, Path, Query, Response, HTTPException -from physrisk.requests import Requester +from typing import Annotated, Any + +from fastapi import APIRouter, Depends, HTTPException, Path, Query, Response from physrisk.api.v1.hazard_image import ( + HazardImageInfoRequest, + HazardImageInfoResponse, HazardImageRequest, Tile, TileNotAvailableError, - HazardImageInfoRequest, - HazardImageInfoResponse, ) +from physrisk.requests import Requester from physrisk_api.app.auth import get_current_user +from physrisk_api.app.logging_config import LOGGING_CONFIG from physrisk_api.app.routers.container import requester _SCOPE_GROUPS: dict[str, str] = { @@ -35,13 +36,13 @@ def get_image( requester: Annotated[Requester, Depends(requester)], user: Annotated[dict, Depends(get_current_user)], minValue: Annotated[ # noqa: N803 - Optional[float], Query(description="Minimum value", examples=[0]) + float | None, Query(description="Minimum value", examples=[0]) ] = None, maxValue: Annotated[ # noqa: N803 - Optional[float], Query(description="Maximum value", examples=[3]) + float | None, Query(description="Maximum value", examples=[3]) ] = None, colormap: Annotated[ - Optional[str], Query(description="Maximum value", examples=["flare"]) + str | None, Query(description="Maximum value", examples=["flare"]) ] = None, ): """Request that physrisk converts an array to image. @@ -93,16 +94,16 @@ def get_tile( scenarioId: str, # noqa: N803 year: int, minValue: Annotated[ # noqa: N803 - Optional[float], Query(description="Minimum value", examples=[0]) + float | None, Query(description="Minimum value", examples=[0]) ] = None, maxValue: Annotated[ # noqa: N803 - Optional[float], Query(description="Maximum value", examples=[3]) + float | None, Query(description="Maximum value", examples=[3]) ] = None, colormap: Annotated[ - Optional[str], Query(description="Maximum value", examples=["flare"]) + str | None, Query(description="Maximum value", examples=["flare"]) ] = None, indexValue: Annotated[ # noqa: N803 - Optional[Any], + Any | None, Query(description="Index (non-spatial dimension) value", examples=[0]), ] = None, ): diff --git a/src/tests/api_test.py b/src/tests/api_test.py index 6ff5d81..585e455 100644 --- a/src/tests/api_test.py +++ b/src/tests/api_test.py @@ -1,4 +1,5 @@ from unittest import mock + from fastapi.testclient import TestClient from physrisk.api.v1.hazard_data import ( # HazardAvailabilityRequest,