Change minimum Python version to 3.10

This commit is contained in:
DevilXD
2024-08-30 17:19:25 +02:00
parent 3f496f82fb
commit 5456986f98
4 changed files with 4 additions and 12 deletions

View File

@@ -33,6 +33,7 @@ Every several seconds, the application pretends to watch a particular stream by
### Notes:
- Requires Python 3.10 or higher.
- Make sure to keep your cookies file safe, as the authorization information it stores can give another person access to your Twitch account.
- Successfully logging into your Twitch account in the application, may cause Twitch to send you a "New Login" notification email. This is normal - you can verify that it comes from your own IP address. The application uses the Twitch's SmartTV account linking process, so the detected browser during the login should signify that as well.
- The time remaining timer always countdowns a single minute and then stops - it is then restarted only after the application redetermines the remaining time. This "redetermination" can happen as early as at 10 seconds in a minute remaining, and as late as 20 seconds after the timer reaches zero (especially when finishing mining a drop), but is generally only an approximation and does not represent nor affect actual mining speed. The time variations are due to Twitch sometimes not reporting drop progress at all, or reporting progress for the wrong drop - these cases have all been accounted for in the application though.

View File

@@ -1,4 +1,5 @@
from __future__ import annotations
import asyncio
from datetime import datetime, timedelta, timezone

2
gui.py
View File

@@ -1043,7 +1043,7 @@ class TrayIcon:
def __init__(self, manager: GUIManager, master: ttk.Widget):
self._manager = manager
self.icon: pystray.Icon | None = None
self.icon: pystray.Icon | None = None # type: ignore
self._icon_images: dict[str, Image_module.Image] = {
"pickaxe": Image_module.open(resource_path("icons/pickaxe.ico")),
"active": Image_module.open(resource_path("icons/active.ico")),

View File

@@ -19,9 +19,7 @@ from contextlib import suppress
from functools import cached_property
from datetime import datetime, timezone
from collections import abc, OrderedDict
from typing import (
Any, Literal, MutableSet, Callable, Generic, Mapping, TypeVar, cast, TYPE_CHECKING
)
from typing import Any, Literal, MutableSet, Callable, Generic, Mapping, TypeVar, ParamSpec, cast
import yarl
from PIL.ImageTk import PhotoImage
@@ -31,14 +29,6 @@ from constants import JsonType, IS_PACKAGED
from exceptions import ExitRequest, ReloadRequest
from constants import _resource_path as resource_path # noqa
if TYPE_CHECKING:
from typing_extensions import ParamSpec
else:
# stub it
class ParamSpec:
def __init__(*args, **kwargs):
pass
_T = TypeVar("_T") # type
_D = TypeVar("_D") # default