Skip to content

Commit 03d6cf4

Browse files
committed
Python 3.9 compatibility
1 parent 4a06e31 commit 03d6cf4

File tree

8 files changed

+21
-9
lines changed

8 files changed

+21
-9
lines changed

anisette/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
import logging
55
from contextlib import ExitStack
66
from ctypes import c_ulonglong
7-
from typing import TYPE_CHECKING, Any, BinaryIO, Self
7+
from typing import TYPE_CHECKING, Any, BinaryIO
8+
9+
from typing_extensions import Self
810

911
from ._anisette import AnisetteProvider
1012
from ._fs import FSCollection

anisette/_adi.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@
1212
from ._library import LibraryStore
1313

1414

15-
@dataclass(frozen=True, slots=True)
15+
@dataclass(frozen=True)
1616
class ClientProvisioningIntermediateMetadata:
1717
adi: ADI
1818
cpim: bytes
1919
session: int
2020

2121

22-
@dataclass(frozen=True, slots=True)
22+
@dataclass(frozen=True)
2323
class OneTimePassword:
2424
adi: ADI
2525
otp: bytes

anisette/_anisette.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
from __future__ import annotations
22

3-
from typing import BinaryIO, Self
3+
from typing import BinaryIO
4+
5+
from typing_extensions import Self
46

57
from ._adi import ADI
68
from ._device import AnisetteDeviceConfig, Device

anisette/_device.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@
44
import secrets
55
import uuid
66
from dataclasses import dataclass
7-
from typing import TYPE_CHECKING, Self
7+
from typing import TYPE_CHECKING
8+
9+
from typing_extensions import Self
810

911
if TYPE_CHECKING:
1012
from ._fs import VirtualFileSystem
1113

1214

13-
@dataclass(slots=True)
15+
@dataclass()
1416
class AnisetteDeviceConfig:
1517
server_friendly_description: str
1618
unique_device_id: str

anisette/_fs.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@
77
from contextlib import ExitStack
88
from dataclasses import dataclass
99
from pathlib import Path
10-
from typing import IO, TYPE_CHECKING, BinaryIO, Self, Union
10+
from typing import IO, TYPE_CHECKING, BinaryIO, Union
1111

1212
from fs import open_fs
1313
from fs.copy import copy_dir, copy_file, copy_fs
1414
from fs.errors import DirectoryExists, ResourceNotFound
1515
from fs.memoryfs import MemoryFS
1616
from fs.tarfs import TarFS
17+
from typing_extensions import Self
1718

1819
if TYPE_CHECKING:
1920
from fs.base import FS
@@ -33,7 +34,7 @@ def split_path(path: str) -> tuple[str, ...]:
3334
return Path(path).parts
3435

3536

36-
@dataclass(frozen=True, slots=True)
37+
@dataclass(frozen=True)
3738
class StatResult:
3839
st_mode: int
3940
st_size: int

anisette/_library.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
from __future__ import annotations
22

33
import logging
4-
from typing import IO, TYPE_CHECKING, BinaryIO, Self
4+
from typing import IO, TYPE_CHECKING, BinaryIO
55

66
from elftools.elf.sections import SymbolTableSection
77
from fs.zipfs import ZipFS
8+
from typing_extensions import Self
89

910
from ._arch import Architecture
1011
from ._fs import VirtualFileSystem

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ dependencies = [
88
"fs>=2.4.16",
99
"httpx>=0.28.1",
1010
"pyelftools>=0.31",
11+
"typing-extensions>=4.12.2",
1112
"unicorn>=2.1.1",
1213
]
1314

uv.lock

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)