From 0e9bac83cda1cdbe3c00f072809f79b88a24b652 Mon Sep 17 00:00:00 2001 From: AniketBajaj2024 Date: Thu, 17 Sep 2026 01:04:47 +0530 Subject: [PATCH] Import from collections.abc instead of typing/collections (UP035) Abstract base classes moved to collections.abc; the typing aliases are deprecated. Applied by 'ruff check --select UP035 --fix'; all touched files byte-compiled afterwards. --- ods/bin/model_switchboard/adapters.py | 3 ++- ods/bin/remote_provider/egress.py | 3 ++- ods/bin/remote_provider/reconciler.py | 3 ++- ods/bin/remote_provider/transport.py | 3 ++- ods/extensions/services/dashboard-api/config.py | 3 ++- ods/extensions/services/dashboard-api/hermes_bridge.py | 3 ++- ods/extensions/services/dashboard-api/lemonade_client.py | 3 ++- .../services/dashboard-api/routers/remote_provider_status.py | 3 ++- ods/extensions/services/dashboard-api/routers/talk.py | 3 ++- ods/extensions/services/model-router/app/main.py | 3 ++- ods/extensions/services/remote-provider-egress/app/main.py | 3 ++- ods/extensions/services/remote-provider-ssh-tunnel/app/main.py | 3 ++- ods/scripts/check-dependency-pins.py | 2 +- ods/scripts/healthcheck.py | 3 ++- ods/scripts/render-runtime-configs.py | 2 +- ods/scripts/validate-sim-summary.py | 3 ++- ods/tests/contracts/test-remote-provider-ssh-tunnel-service.py | 2 +- 17 files changed, 31 insertions(+), 17 deletions(-) diff --git a/ods/bin/model_switchboard/adapters.py b/ods/bin/model_switchboard/adapters.py index f2cc0af1de..02f38772e9 100644 --- a/ods/bin/model_switchboard/adapters.py +++ b/ods/bin/model_switchboard/adapters.py @@ -18,7 +18,8 @@ from __future__ import annotations -from typing import Any, Callable, Protocol +from typing import Any, Protocol +from collections.abc import Callable def result(ok: bool, detail: str = "", **extras: Any) -> dict[str, Any]: diff --git a/ods/bin/remote_provider/egress.py b/ods/bin/remote_provider/egress.py index 16468ec92a..8ecbbf8805 100644 --- a/ods/bin/remote_provider/egress.py +++ b/ods/bin/remote_provider/egress.py @@ -11,7 +11,8 @@ from dataclasses import dataclass from collections.abc import Callable from pathlib import Path -from typing import Any, Mapping +from typing import Any +from collections.abc import Mapping from urllib.parse import urlsplit, urlunsplit from .policy import ( diff --git a/ods/bin/remote_provider/reconciler.py b/ods/bin/remote_provider/reconciler.py index 6568e8f31e..7df748992c 100644 --- a/ods/bin/remote_provider/reconciler.py +++ b/ods/bin/remote_provider/reconciler.py @@ -8,7 +8,8 @@ from __future__ import annotations -from typing import Any, Callable, Protocol +from typing import Any, Protocol +from collections.abc import Callable PHASES = ("stage", "validate", "commit", "prove") diff --git a/ods/bin/remote_provider/transport.py b/ods/bin/remote_provider/transport.py index 6aa033208d..f755465595 100644 --- a/ods/bin/remote_provider/transport.py +++ b/ods/bin/remote_provider/transport.py @@ -9,7 +9,8 @@ import re from dataclasses import dataclass from pathlib import PurePosixPath -from typing import Any, Mapping +from typing import Any +from collections.abc import Mapping DEFAULT_SSH_IDENTITY_PATH = PurePosixPath("/state/remote-provider/secrets/ssh-identity") diff --git a/ods/extensions/services/dashboard-api/config.py b/ods/extensions/services/dashboard-api/config.py index 3e868dfe89..ca0e593f12 100644 --- a/ods/extensions/services/dashboard-api/config.py +++ b/ods/extensions/services/dashboard-api/config.py @@ -5,7 +5,8 @@ import os import re from pathlib import Path -from typing import Any, Mapping +from typing import Any +from collections.abc import Mapping from urllib.parse import urlparse import yaml diff --git a/ods/extensions/services/dashboard-api/hermes_bridge.py b/ods/extensions/services/dashboard-api/hermes_bridge.py index e6dd6e5f9b..fa8aaa0830 100644 --- a/ods/extensions/services/dashboard-api/hermes_bridge.py +++ b/ods/extensions/services/dashboard-api/hermes_bridge.py @@ -34,7 +34,8 @@ import re import time from dataclasses import dataclass, field -from typing import Any, AsyncIterator +from typing import Any +from collections.abc import AsyncIterator import aiohttp diff --git a/ods/extensions/services/dashboard-api/lemonade_client.py b/ods/extensions/services/dashboard-api/lemonade_client.py index 991f0b23da..5155bf9c30 100644 --- a/ods/extensions/services/dashboard-api/lemonade_client.py +++ b/ods/extensions/services/dashboard-api/lemonade_client.py @@ -4,7 +4,8 @@ import os from dataclasses import dataclass -from typing import Any, Mapping, Optional, Sequence +from typing import Any, Optional +from collections.abc import Mapping, Sequence import httpx diff --git a/ods/extensions/services/dashboard-api/routers/remote_provider_status.py b/ods/extensions/services/dashboard-api/routers/remote_provider_status.py index dede8824e6..5370cb502e 100644 --- a/ods/extensions/services/dashboard-api/routers/remote_provider_status.py +++ b/ods/extensions/services/dashboard-api/routers/remote_provider_status.py @@ -7,7 +7,8 @@ import logging import os from pathlib import Path -from typing import Any, Mapping +from typing import Any +from collections.abc import Mapping from urllib.parse import quote, urlsplit, urlunsplit import httpx diff --git a/ods/extensions/services/dashboard-api/routers/talk.py b/ods/extensions/services/dashboard-api/routers/talk.py index b613a34ca6..7f1d4b3872 100644 --- a/ods/extensions/services/dashboard-api/routers/talk.py +++ b/ods/extensions/services/dashboard-api/routers/talk.py @@ -14,7 +14,8 @@ import json import logging import os -from typing import Any, AsyncIterator +from typing import Any +from collections.abc import AsyncIterator import httpx from fastapi import APIRouter, File, Form, HTTPException, Request, UploadFile diff --git a/ods/extensions/services/model-router/app/main.py b/ods/extensions/services/model-router/app/main.py index b903fa8da9..7ff0037dff 100644 --- a/ods/extensions/services/model-router/app/main.py +++ b/ods/extensions/services/model-router/app/main.py @@ -34,7 +34,8 @@ import uuid from collections import OrderedDict from pathlib import Path -from typing import Any, AsyncIterator +from typing import Any +from collections.abc import AsyncIterator import httpx from fastapi import FastAPI, Request, Response diff --git a/ods/extensions/services/remote-provider-egress/app/main.py b/ods/extensions/services/remote-provider-egress/app/main.py index b4c47e99c1..e6084282e5 100644 --- a/ods/extensions/services/remote-provider-egress/app/main.py +++ b/ods/extensions/services/remote-provider-egress/app/main.py @@ -10,7 +10,8 @@ import os from datetime import datetime, timezone from pathlib import Path -from typing import Any, AsyncIterator, Mapping +from typing import Any +from collections.abc import AsyncIterator, Mapping import httpx from fastapi import FastAPI, Request, Response diff --git a/ods/extensions/services/remote-provider-ssh-tunnel/app/main.py b/ods/extensions/services/remote-provider-ssh-tunnel/app/main.py index 90c958b0cf..49796a239a 100644 --- a/ods/extensions/services/remote-provider-ssh-tunnel/app/main.py +++ b/ods/extensions/services/remote-provider-ssh-tunnel/app/main.py @@ -10,7 +10,8 @@ import time from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer from pathlib import Path -from typing import Any, Callable, Mapping, Sequence +from typing import Any +from collections.abc import Callable, Mapping, Sequence from remote_provider.ssh_supervisor import ( SSH_SUPERVISOR_PLAN_SCHEMA, diff --git a/ods/scripts/check-dependency-pins.py b/ods/scripts/check-dependency-pins.py index 1237c27020..045ab024f1 100644 --- a/ods/scripts/check-dependency-pins.py +++ b/ods/scripts/check-dependency-pins.py @@ -13,7 +13,7 @@ import sys from dataclasses import dataclass from pathlib import Path -from typing import Iterable +from collections.abc import Iterable ROOT = Path(__file__).resolve().parents[1] diff --git a/ods/scripts/healthcheck.py b/ods/scripts/healthcheck.py index b48a25ea65..cd72af31e2 100644 --- a/ods/scripts/healthcheck.py +++ b/ods/scripts/healthcheck.py @@ -54,7 +54,8 @@ import urllib.error import urllib.request from dataclasses import dataclass -from typing import List, Optional, Sequence, Set, Tuple +from typing import List, Optional, Set, Tuple +from collections.abc import Sequence # ----------------------------- diff --git a/ods/scripts/render-runtime-configs.py b/ods/scripts/render-runtime-configs.py index 3e9f1bca1c..dfe2095a48 100644 --- a/ods/scripts/render-runtime-configs.py +++ b/ods/scripts/render-runtime-configs.py @@ -18,7 +18,7 @@ import time from dataclasses import asdict, dataclass from pathlib import Path -from typing import Callable +from collections.abc import Callable ROOT = Path(__file__).resolve().parents[1] diff --git a/ods/scripts/validate-sim-summary.py b/ods/scripts/validate-sim-summary.py index 2d6d9a71b3..d211832ba4 100644 --- a/ods/scripts/validate-sim-summary.py +++ b/ods/scripts/validate-sim-summary.py @@ -32,7 +32,8 @@ import sys from dataclasses import dataclass from pathlib import Path -from typing import Any, Dict, List, Mapping, Optional, Sequence, Union +from typing import Any, Dict, List, Optional, Union +from collections.abc import Mapping, Sequence Json = Union[None, bool, int, float, str, List["Json"], Dict[str, "Json"]] diff --git a/ods/tests/contracts/test-remote-provider-ssh-tunnel-service.py b/ods/tests/contracts/test-remote-provider-ssh-tunnel-service.py index a9d1805564..0e24cef84b 100644 --- a/ods/tests/contracts/test-remote-provider-ssh-tunnel-service.py +++ b/ods/tests/contracts/test-remote-provider-ssh-tunnel-service.py @@ -9,7 +9,7 @@ import sys import tempfile from pathlib import Path -from typing import Iterator +from collections.abc import Iterator ROOT = Path(__file__).resolve().parents[2]