Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
strategy:
fail-fast: true
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "pypy-3.9", "pypy-3.10"]
python-version: ["3.11", "3.12", "3.13", "3.14", "pypy-3.11"]
os: [ubuntu-latest, macos-latest, windows-latest]
exclude:
# Exclude pypy on windows due to performance issues
Expand Down
1 change: 0 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ dependencies = [
"aiohttp>=3",
"aiofiles>=23",
"typing-extensions>=4.12.2,<5.0",
"async-timeout>=3.0.0",
"websockets>=13.0.0",
"firebase-messaging>=0.4.0",
]
Expand Down
3 changes: 1 addition & 2 deletions ring_doorbell/listen/eventlistener.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import time
from typing import TYPE_CHECKING, Any, Callable

from async_timeout import timeout as asyncio_timeout
from firebase_messaging import FcmPushClient, FcmRegisterConfig

from ring_doorbell.const import (
Expand Down Expand Up @@ -192,7 +191,7 @@ async def start(
if self.subscribed:
self.add_notification_callback(self._ring._add_event_to_dings_data) # noqa: SLF001

async with asyncio_timeout(timeout):
async with asyncio.timeout(timeout):
await self._receiver.start()
self.started = True
self.session_refresh_task = asyncio.create_task(
Expand Down
5 changes: 2 additions & 3 deletions ring_doorbell/webrtcstream.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
from json import loads as json_loads
from typing import TYPE_CHECKING, Any, Callable

from async_timeout import timeout as asyncio_timeout
from typing_extensions import TypeAlias
from websockets.asyncio.client import connect

Expand Down Expand Up @@ -121,7 +120,7 @@ async def generate(self, sdp_offer: str) -> str | None:
await asyncio.sleep(SDP_ANSWER_TIMEOUT)
self.insert_ice_candidates()
else:
async with asyncio_timeout(SDP_ANSWER_TIMEOUT):
async with asyncio.timeout(SDP_ANSWER_TIMEOUT):
await self._sdp_answer_event.wait()

if not self.sdp:
Expand Down Expand Up @@ -198,7 +197,7 @@ async def _activate(self) -> None:

async def on_ice_candidate(self, candidate: str, m_line_index: int) -> None:
"""Send an ICE candidate."""
async with asyncio_timeout(10):
async with asyncio.timeout(10):
await self._offered_event.wait()

assert self.websocket # noqa: S101
Expand Down
2 changes: 0 additions & 2 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading