diff --git a/homeassistant/components/androidtv/media_player.py b/homeassistant/components/androidtv/media_player.py index e51e8eefb1b..d77c755110f 100644 --- a/homeassistant/components/androidtv/media_player.py +++ b/homeassistant/components/androidtv/media_player.py @@ -5,7 +5,7 @@ from collections.abc import Awaitable, Callable, Coroutine from datetime import datetime import functools import logging -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar from adb_shell.exceptions import ( AdbTimeoutError, @@ -16,7 +16,6 @@ from adb_shell.exceptions import ( ) from androidtv.constants import APPS, KEYS from androidtv.exceptions import LockNotAcquiredException -from typing_extensions import Concatenate, ParamSpec import voluptuous as vol from homeassistant.components import persistent_notification diff --git a/homeassistant/components/braviatv/coordinator.py b/homeassistant/components/braviatv/coordinator.py index 6e95ac83358..6bdc1eb2fa8 100644 --- a/homeassistant/components/braviatv/coordinator.py +++ b/homeassistant/components/braviatv/coordinator.py @@ -6,7 +6,7 @@ from datetime import timedelta from functools import wraps import logging from types import MappingProxyType -from typing import Any, Final, TypeVar +from typing import Any, Concatenate, Final, ParamSpec, TypeVar from pybravia import ( BraviaAuthError, @@ -17,7 +17,6 @@ from pybravia import ( BraviaNotFound, BraviaTurnedOff, ) -from typing_extensions import Concatenate, ParamSpec from homeassistant.components.media_player import MediaType from homeassistant.const import CONF_PIN diff --git a/homeassistant/components/cover/__init__.py b/homeassistant/components/cover/__init__.py index 98bb2f4909f..a3965552b16 100644 --- a/homeassistant/components/cover/__init__.py +++ b/homeassistant/components/cover/__init__.py @@ -7,9 +7,8 @@ from datetime import timedelta from enum import IntFlag import functools as ft import logging -from typing import Any, TypeVar, final +from typing import Any, ParamSpec, TypeVar, final -from typing_extensions import ParamSpec import voluptuous as vol from homeassistant.backports.enum import StrEnum diff --git a/homeassistant/components/decora/light.py b/homeassistant/components/decora/light.py index 0e9aac0e8d8..b46732178b8 100644 --- a/homeassistant/components/decora/light.py +++ b/homeassistant/components/decora/light.py @@ -6,11 +6,10 @@ import copy from functools import wraps import logging import time -from typing import TYPE_CHECKING, Any, TypeVar +from typing import TYPE_CHECKING, Any, Concatenate, ParamSpec, TypeVar from bluepy.btle import BTLEException # pylint: disable=import-error import decora # pylint: disable=import-error -from typing_extensions import Concatenate, ParamSpec import voluptuous as vol from homeassistant import util diff --git a/homeassistant/components/denonavr/media_player.py b/homeassistant/components/denonavr/media_player.py index e1bd0f41808..c1c5a90dbac 100644 --- a/homeassistant/components/denonavr/media_player.py +++ b/homeassistant/components/denonavr/media_player.py @@ -5,7 +5,7 @@ from collections.abc import Awaitable, Callable, Coroutine from datetime import timedelta from functools import wraps import logging -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar from denonavr import DenonAVR from denonavr.const import POWER_ON, STATE_OFF, STATE_ON, STATE_PAUSED, STATE_PLAYING @@ -16,7 +16,6 @@ from denonavr.exceptions import ( AvrTimoutError, DenonAvrError, ) -from typing_extensions import Concatenate, ParamSpec import voluptuous as vol from homeassistant.components.media_player import ( diff --git a/homeassistant/components/dlna_dmr/media_player.py b/homeassistant/components/dlna_dmr/media_player.py index 658adc58ba6..63bdb8fa603 100644 --- a/homeassistant/components/dlna_dmr/media_player.py +++ b/homeassistant/components/dlna_dmr/media_player.py @@ -6,7 +6,7 @@ from collections.abc import Awaitable, Callable, Coroutine, Sequence import contextlib from datetime import datetime, timedelta import functools -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar from async_upnp_client.client import UpnpService, UpnpStateVariable from async_upnp_client.const import NotificationSubType @@ -14,7 +14,6 @@ from async_upnp_client.exceptions import UpnpError, UpnpResponseError from async_upnp_client.profiles.dlna import DmrDevice, PlayMode, TransportState from async_upnp_client.utils import async_get_local_ip from didl_lite import didl_lite -from typing_extensions import Concatenate, ParamSpec from homeassistant import config_entries from homeassistant.components import media_source, ssdp diff --git a/homeassistant/components/evil_genius_labs/util.py b/homeassistant/components/evil_genius_labs/util.py index 1071b953027..b0e01c1f329 100644 --- a/homeassistant/components/evil_genius_labs/util.py +++ b/homeassistant/components/evil_genius_labs/util.py @@ -3,9 +3,7 @@ from __future__ import annotations from collections.abc import Awaitable, Callable, Coroutine from functools import wraps -from typing import Any, TypeVar - -from typing_extensions import Concatenate, ParamSpec +from typing import Any, Concatenate, ParamSpec, TypeVar from . import EvilGeniusEntity diff --git a/homeassistant/components/hassio/addon_manager.py b/homeassistant/components/hassio/addon_manager.py index 46eca080b1b..88e755e3c7b 100644 --- a/homeassistant/components/hassio/addon_manager.py +++ b/homeassistant/components/hassio/addon_manager.py @@ -7,9 +7,7 @@ from dataclasses import dataclass from enum import Enum from functools import partial, wraps import logging -from typing import Any, TypeVar - -from typing_extensions import Concatenate, ParamSpec +from typing import Any, Concatenate, ParamSpec, TypeVar from homeassistant.core import HomeAssistant, callback from homeassistant.exceptions import HomeAssistantError diff --git a/homeassistant/components/heos/media_player.py b/homeassistant/components/heos/media_player.py index cca8ad2bf4f..0c7a4bad42e 100644 --- a/homeassistant/components/heos/media_player.py +++ b/homeassistant/components/heos/media_player.py @@ -5,10 +5,9 @@ from collections.abc import Awaitable, Callable, Coroutine from functools import reduce, wraps import logging from operator import ior -from typing import Any +from typing import Any, ParamSpec from pyheos import HeosError, const as heos_const -from typing_extensions import ParamSpec from homeassistant.components import media_source from homeassistant.components.media_player import ( diff --git a/homeassistant/components/hive/__init__.py b/homeassistant/components/hive/__init__.py index bd74ecbff11..4d309fe6847 100644 --- a/homeassistant/components/hive/__init__.py +++ b/homeassistant/components/hive/__init__.py @@ -4,12 +4,11 @@ from __future__ import annotations from collections.abc import Awaitable, Callable, Coroutine from functools import wraps import logging -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar from aiohttp.web_exceptions import HTTPException from apyhiveapi import Auth, Hive from apyhiveapi.helper.hive_exceptions import HiveReauthRequired -from typing_extensions import Concatenate, ParamSpec import voluptuous as vol from homeassistant import config_entries diff --git a/homeassistant/components/homewizard/helpers.py b/homeassistant/components/homewizard/helpers.py index 953bdd0c0a6..d2d1b7c0119 100644 --- a/homeassistant/components/homewizard/helpers.py +++ b/homeassistant/components/homewizard/helpers.py @@ -2,10 +2,9 @@ from __future__ import annotations from collections.abc import Callable, Coroutine -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar from homewizard_energy.errors import DisabledError, RequestError -from typing_extensions import Concatenate, ParamSpec from homeassistant.exceptions import HomeAssistantError diff --git a/homeassistant/components/http/ban.py b/homeassistant/components/http/ban.py index 892d3d26689..85feb19a24b 100644 --- a/homeassistant/components/http/ban.py +++ b/homeassistant/components/http/ban.py @@ -9,11 +9,10 @@ from http import HTTPStatus from ipaddress import IPv4Address, IPv6Address, ip_address import logging from socket import gethostbyaddr, herror -from typing import Any, Final, TypeVar +from typing import Any, Concatenate, Final, ParamSpec, TypeVar from aiohttp.web import Application, Request, Response, StreamResponse, middleware from aiohttp.web_exceptions import HTTPForbidden, HTTPUnauthorized -from typing_extensions import Concatenate, ParamSpec import voluptuous as vol from homeassistant.components import persistent_notification diff --git a/homeassistant/components/http/data_validator.py b/homeassistant/components/http/data_validator.py index 6647a6436c5..2868bee9432 100644 --- a/homeassistant/components/http/data_validator.py +++ b/homeassistant/components/http/data_validator.py @@ -5,10 +5,9 @@ from collections.abc import Awaitable, Callable, Coroutine from functools import wraps from http import HTTPStatus import logging -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar from aiohttp import web -from typing_extensions import Concatenate, ParamSpec import voluptuous as vol from .view import HomeAssistantView diff --git a/homeassistant/components/iaqualink/__init__.py b/homeassistant/components/iaqualink/__init__.py index 1bd9d7d72cf..146e2c2babc 100644 --- a/homeassistant/components/iaqualink/__init__.py +++ b/homeassistant/components/iaqualink/__init__.py @@ -5,7 +5,7 @@ import asyncio from collections.abc import Awaitable, Callable, Coroutine from functools import wraps import logging -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar import aiohttp.client_exceptions from iaqualink.client import AqualinkClient @@ -18,7 +18,6 @@ from iaqualink.device import ( AqualinkThermostat, ) from iaqualink.exception import AqualinkServiceException -from typing_extensions import Concatenate, ParamSpec from homeassistant.components.binary_sensor import DOMAIN as BINARY_SENSOR_DOMAIN from homeassistant.components.climate import DOMAIN as CLIMATE_DOMAIN diff --git a/homeassistant/components/kodi/media_player.py b/homeassistant/components/kodi/media_player.py index bdbac455dd1..1ebc5ad6b80 100644 --- a/homeassistant/components/kodi/media_player.py +++ b/homeassistant/components/kodi/media_player.py @@ -6,11 +6,10 @@ from datetime import timedelta from functools import wraps import logging import re -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar from jsonrpc_base.jsonrpc import ProtocolError, TransportError from pykodi import CannotConnectError -from typing_extensions import Concatenate, ParamSpec import voluptuous as vol from homeassistant.components import media_source diff --git a/homeassistant/components/lametric/helpers.py b/homeassistant/components/lametric/helpers.py index 6ca3157be0c..884e6c451bc 100644 --- a/homeassistant/components/lametric/helpers.py +++ b/homeassistant/components/lametric/helpers.py @@ -2,10 +2,9 @@ from __future__ import annotations from collections.abc import Callable, Coroutine -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar from demetriek import LaMetricConnectionError, LaMetricError -from typing_extensions import Concatenate, ParamSpec from homeassistant.core import HomeAssistant, callback from homeassistant.exceptions import HomeAssistantError diff --git a/homeassistant/components/openhome/media_player.py b/homeassistant/components/openhome/media_player.py index fba397c1326..707be76be3b 100644 --- a/homeassistant/components/openhome/media_player.py +++ b/homeassistant/components/openhome/media_player.py @@ -5,12 +5,11 @@ import asyncio from collections.abc import Awaitable, Callable, Coroutine import functools import logging -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar import aiohttp from async_upnp_client.client import UpnpError from openhomedevice.device import Device -from typing_extensions import Concatenate, ParamSpec import voluptuous as vol from homeassistant.components import media_source diff --git a/homeassistant/components/pilight/__init__.py b/homeassistant/components/pilight/__init__.py index 0386d267f04..bcf43a0b735 100644 --- a/homeassistant/components/pilight/__init__.py +++ b/homeassistant/components/pilight/__init__.py @@ -7,10 +7,9 @@ import functools import logging import socket import threading -from typing import Any +from typing import Any, ParamSpec from pilight import pilight -from typing_extensions import ParamSpec import voluptuous as vol from homeassistant.const import ( diff --git a/homeassistant/components/plex/media_player.py b/homeassistant/components/plex/media_player.py index b43c4dc0e21..13422beec4f 100644 --- a/homeassistant/components/plex/media_player.py +++ b/homeassistant/components/plex/media_player.py @@ -4,11 +4,10 @@ from __future__ import annotations from collections.abc import Callable from functools import wraps import logging -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar import plexapi.exceptions import requests.exceptions -from typing_extensions import Concatenate, ParamSpec from homeassistant.components.media_player import ( DOMAIN as MP_DOMAIN, diff --git a/homeassistant/components/plugwise/util.py b/homeassistant/components/plugwise/util.py index 55d9c204dd3..2abb1051d74 100644 --- a/homeassistant/components/plugwise/util.py +++ b/homeassistant/components/plugwise/util.py @@ -1,9 +1,8 @@ """Utilities for Plugwise.""" from collections.abc import Awaitable, Callable, Coroutine -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar from plugwise.exceptions import PlugwiseException -from typing_extensions import Concatenate, ParamSpec from homeassistant.exceptions import HomeAssistantError diff --git a/homeassistant/components/rainmachine/switch.py b/homeassistant/components/rainmachine/switch.py index 66081588f27..a539ea52a85 100644 --- a/homeassistant/components/rainmachine/switch.py +++ b/homeassistant/components/rainmachine/switch.py @@ -5,10 +5,9 @@ import asyncio from collections.abc import Awaitable, Callable, Coroutine from dataclasses import dataclass from datetime import datetime -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar from regenmaschine.errors import RainMachineError -from typing_extensions import Concatenate, ParamSpec import voluptuous as vol from homeassistant.components.switch import SwitchEntity, SwitchEntityDescription diff --git a/homeassistant/components/recorder/util.py b/homeassistant/components/recorder/util.py index 2ed4612bb55..0e2b1f4d517 100644 --- a/homeassistant/components/recorder/util.py +++ b/homeassistant/components/recorder/util.py @@ -8,7 +8,7 @@ import functools import logging import os import time -from typing import TYPE_CHECKING, Any, NoReturn, TypeVar +from typing import TYPE_CHECKING, Any, Concatenate, NoReturn, ParamSpec, TypeVar from awesomeversion import ( AwesomeVersion, @@ -23,7 +23,6 @@ from sqlalchemy.exc import OperationalError, SQLAlchemyError from sqlalchemy.orm.query import Query from sqlalchemy.orm.session import Session from sqlalchemy.sql.lambdas import StatementLambdaElement -from typing_extensions import Concatenate, ParamSpec import voluptuous as vol from homeassistant.core import HomeAssistant diff --git a/homeassistant/components/renault/renault_vehicle.py b/homeassistant/components/renault/renault_vehicle.py index 8aba5caa4de..69835552ba4 100644 --- a/homeassistant/components/renault/renault_vehicle.py +++ b/homeassistant/components/renault/renault_vehicle.py @@ -7,12 +7,11 @@ from dataclasses import dataclass from datetime import datetime, timedelta from functools import wraps import logging -from typing import Any, TypeVar, cast +from typing import Any, Concatenate, ParamSpec, TypeVar, cast from renault_api.exceptions import RenaultException from renault_api.kamereon import models from renault_api.renault_vehicle import RenaultVehicle -from typing_extensions import Concatenate, ParamSpec from homeassistant.core import HomeAssistant from homeassistant.exceptions import HomeAssistantError diff --git a/homeassistant/components/roku/helpers.py b/homeassistant/components/roku/helpers.py index 6b3c02a5fab..22e9ee19b16 100644 --- a/homeassistant/components/roku/helpers.py +++ b/homeassistant/components/roku/helpers.py @@ -3,10 +3,9 @@ from __future__ import annotations from collections.abc import Awaitable, Callable, Coroutine from functools import wraps -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar from rokuecp import RokuConnectionError, RokuConnectionTimeoutError, RokuError -from typing_extensions import Concatenate, ParamSpec from homeassistant.exceptions import HomeAssistantError diff --git a/homeassistant/components/sensibo/entity.py b/homeassistant/components/sensibo/entity.py index 56a7c820739..8b46e3e7941 100644 --- a/homeassistant/components/sensibo/entity.py +++ b/homeassistant/components/sensibo/entity.py @@ -2,11 +2,10 @@ from __future__ import annotations from collections.abc import Callable, Coroutine -from typing import TYPE_CHECKING, Any, TypeVar +from typing import TYPE_CHECKING, Any, Concatenate, ParamSpec, TypeVar import async_timeout from pysensibo.model import MotionSensor, SensiboDevice -from typing_extensions import Concatenate, ParamSpec from homeassistant.exceptions import HomeAssistantError from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC diff --git a/homeassistant/components/sonos/helpers.py b/homeassistant/components/sonos/helpers.py index 69fdf817bd5..f44775e2f31 100644 --- a/homeassistant/components/sonos/helpers.py +++ b/homeassistant/components/sonos/helpers.py @@ -3,12 +3,11 @@ from __future__ import annotations from collections.abc import Callable import logging -from typing import TYPE_CHECKING, Any, TypeVar, overload +from typing import TYPE_CHECKING, Any, Concatenate, ParamSpec, TypeVar, overload from requests.exceptions import Timeout from soco import SoCo from soco.exceptions import SoCoException, SoCoUPnPException -from typing_extensions import Concatenate, ParamSpec from homeassistant.helpers.dispatcher import dispatcher_send diff --git a/homeassistant/components/tplink/entity.py b/homeassistant/components/tplink/entity.py index 471d32631c4..01e124dea1a 100644 --- a/homeassistant/components/tplink/entity.py +++ b/homeassistant/components/tplink/entity.py @@ -2,10 +2,9 @@ from __future__ import annotations from collections.abc import Awaitable, Callable, Coroutine -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar from kasa import SmartDevice -from typing_extensions import Concatenate, ParamSpec from homeassistant.helpers import device_registry as dr from homeassistant.helpers.entity import DeviceInfo diff --git a/homeassistant/components/vlc_telnet/media_player.py b/homeassistant/components/vlc_telnet/media_player.py index 5d366b6a8aa..a8e12cd771b 100644 --- a/homeassistant/components/vlc_telnet/media_player.py +++ b/homeassistant/components/vlc_telnet/media_player.py @@ -4,11 +4,10 @@ from __future__ import annotations from collections.abc import Awaitable, Callable, Coroutine from datetime import datetime from functools import wraps -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar from aiovlc.client import Client from aiovlc.exceptions import AuthError, CommandError, ConnectError -from typing_extensions import Concatenate, ParamSpec from homeassistant.components import media_source from homeassistant.components.media_player import ( diff --git a/homeassistant/components/webostv/media_player.py b/homeassistant/components/webostv/media_player.py index 36af5ef893f..d7eb306ef3c 100644 --- a/homeassistant/components/webostv/media_player.py +++ b/homeassistant/components/webostv/media_player.py @@ -9,11 +9,10 @@ from functools import wraps from http import HTTPStatus import logging from ssl import SSLContext -from typing import Any, TypeVar, cast +from typing import Any, Concatenate, ParamSpec, TypeVar, cast from aiowebostv import WebOsClient, WebOsTvPairError import async_timeout -from typing_extensions import Concatenate, ParamSpec from homeassistant import util from homeassistant.components.media_player import ( diff --git a/homeassistant/components/wled/helpers.py b/homeassistant/components/wled/helpers.py index 32503383b07..85dcf9ca800 100644 --- a/homeassistant/components/wled/helpers.py +++ b/homeassistant/components/wled/helpers.py @@ -2,9 +2,8 @@ from __future__ import annotations from collections.abc import Callable, Coroutine -from typing import Any, TypeVar +from typing import Any, Concatenate, ParamSpec, TypeVar -from typing_extensions import Concatenate, ParamSpec from wled import WLEDConnectionError, WLEDError from homeassistant.exceptions import HomeAssistantError diff --git a/homeassistant/core.py b/homeassistant/core.py index 6aeeecedb2d..8985119dd9d 100644 --- a/homeassistant/core.py +++ b/homeassistant/core.py @@ -32,6 +32,7 @@ from typing import ( Generic, NamedTuple, Optional, + ParamSpec, TypeVar, Union, cast, @@ -39,7 +40,6 @@ from typing import ( ) from urllib.parse import urlparse -from typing_extensions import ParamSpec import voluptuous as vol import yarl diff --git a/homeassistant/helpers/deprecation.py b/homeassistant/helpers/deprecation.py index c737d75dae0..08803aaded6 100644 --- a/homeassistant/helpers/deprecation.py +++ b/homeassistant/helpers/deprecation.py @@ -5,9 +5,7 @@ from collections.abc import Callable import functools import inspect import logging -from typing import Any, TypeVar - -from typing_extensions import ParamSpec +from typing import Any, ParamSpec, TypeVar from ..helpers.frame import MissingIntegrationFrame, get_integration_frame diff --git a/homeassistant/helpers/event.py b/homeassistant/helpers/event.py index 22c613656e3..e4905575b93 100644 --- a/homeassistant/helpers/event.py +++ b/homeassistant/helpers/event.py @@ -10,10 +10,9 @@ import functools as ft import logging from random import randint import time -from typing import Any, Union, cast +from typing import Any, Concatenate, ParamSpec, Union, cast import attr -from typing_extensions import Concatenate, ParamSpec from homeassistant.const import ( ATTR_ENTITY_ID, diff --git a/homeassistant/helpers/template.py b/homeassistant/helpers/template.py index 1a4aaf39b19..c6096e11aab 100644 --- a/homeassistant/helpers/template.py +++ b/homeassistant/helpers/template.py @@ -20,7 +20,16 @@ import statistics from struct import error as StructError, pack, unpack_from import sys from types import CodeType -from typing import Any, Literal, NoReturn, TypeVar, cast, overload +from typing import ( + Any, + Concatenate, + Literal, + NoReturn, + ParamSpec, + TypeVar, + cast, + overload, +) from urllib.parse import urlencode as urllib_urlencode import weakref @@ -30,7 +39,6 @@ import jinja2 from jinja2 import pass_context, pass_environment, pass_eval_context from jinja2.sandbox import ImmutableSandboxedEnvironment from jinja2.utils import Namespace -from typing_extensions import Concatenate, ParamSpec import voluptuous as vol from homeassistant.const import ( diff --git a/homeassistant/util/async_.py b/homeassistant/util/async_.py index 53c788436fe..f5164da4808 100644 --- a/homeassistant/util/async_.py +++ b/homeassistant/util/async_.py @@ -9,9 +9,7 @@ import functools import logging import threading from traceback import extract_stack -from typing import Any, TypeVar - -from typing_extensions import ParamSpec +from typing import Any, ParamSpec, TypeVar _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/util/variance.py b/homeassistant/util/variance.py index 2e0835d1cfe..d28bdc9d63e 100644 --- a/homeassistant/util/variance.py +++ b/homeassistant/util/variance.py @@ -4,9 +4,7 @@ from __future__ import annotations from collections.abc import Callable from datetime import datetime, timedelta import functools -from typing import Any, TypeVar, overload - -from typing_extensions import ParamSpec +from typing import Any, ParamSpec, TypeVar, overload _R = TypeVar("_R", int, float, datetime) _P = ParamSpec("_P")