diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 425a943..e07377a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- python-version: ['3.8', '3.9', '3.10', '3.11']
+ python-version: ['3.9', '3.10', '3.11']
steps:
- uses: actions/checkout@v3
diff --git a/README.md b/README.md
index ae1bfbc..db9b75c 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@
-
+
diff --git a/devine/commands/kv.py b/devine/commands/kv.py
index f237a37..6655a39 100644
--- a/devine/commands/kv.py
+++ b/devine/commands/kv.py
@@ -1,5 +1,3 @@
-from __future__ import annotations
-
import logging
import re
from pathlib import Path
diff --git a/devine/commands/wvd.py b/devine/commands/wvd.py
index 53c50cc..a31b43e 100644
--- a/devine/commands/wvd.py
+++ b/devine/commands/wvd.py
@@ -1,5 +1,3 @@
-from __future__ import annotations
-
import logging
from pathlib import Path
from typing import Optional
diff --git a/devine/core/commands.py b/devine/core/commands.py
index f775a93..e7e561e 100644
--- a/devine/core/commands.py
+++ b/devine/core/commands.py
@@ -1,5 +1,3 @@
-from __future__ import annotations
-
from typing import Optional
import click
diff --git a/devine/core/downloaders/aria2c.py b/devine/core/downloaders/aria2c.py
index 0f89cd0..ec3cacc 100644
--- a/devine/core/downloaders/aria2c.py
+++ b/devine/core/downloaders/aria2c.py
@@ -1,5 +1,3 @@
-from __future__ import annotations
-
import asyncio
import subprocess
from pathlib import Path
diff --git a/devine/core/downloaders/saldl.py b/devine/core/downloaders/saldl.py
index 75dc1d7..34166d1 100644
--- a/devine/core/downloaders/saldl.py
+++ b/devine/core/downloaders/saldl.py
@@ -1,5 +1,3 @@
-from __future__ import annotations
-
import subprocess
from pathlib import Path
from typing import Optional, Union
diff --git a/devine/core/proxies/hola.py b/devine/core/proxies/hola.py
index 50812b4..1be75cf 100644
--- a/devine/core/proxies/hola.py
+++ b/devine/core/proxies/hola.py
@@ -1,5 +1,3 @@
-from __future__ import annotations
-
import random
import re
import subprocess
diff --git a/devine/core/proxies/nordvpn.py b/devine/core/proxies/nordvpn.py
index 1d2059f..12b6046 100644
--- a/devine/core/proxies/nordvpn.py
+++ b/devine/core/proxies/nordvpn.py
@@ -1,5 +1,3 @@
-from __future__ import annotations
-
import json
import re
from typing import Optional
diff --git a/devine/core/service.py b/devine/core/service.py
index 6e91978..1d9af8b 100644
--- a/devine/core/service.py
+++ b/devine/core/service.py
@@ -1,5 +1,3 @@
-from __future__ import annotations
-
import base64
import logging
from abc import ABCMeta, abstractmethod
diff --git a/devine/core/services.py b/devine/core/services.py
index d15ece9..16a2a96 100644
--- a/devine/core/services.py
+++ b/devine/core/services.py
@@ -1,5 +1,3 @@
-from __future__ import annotations
-
from pathlib import Path
import click
diff --git a/devine/core/tracks/track.py b/devine/core/tracks/track.py
index 8cde667..c3ac1be 100644
--- a/devine/core/tracks/track.py
+++ b/devine/core/tracks/track.py
@@ -1,5 +1,3 @@
-from __future__ import annotations
-
import re
import shutil
import subprocess
diff --git a/devine/core/utilities.py b/devine/core/utilities.py
index 1d94cd4..e4939e1 100644
--- a/devine/core/utilities.py
+++ b/devine/core/utilities.py
@@ -1,5 +1,3 @@
-from __future__ import annotations
-
import ast
import contextlib
import importlib.util
@@ -22,12 +20,6 @@ from devine.core.config import config
from devine.core.constants import LANGUAGE_MAX_DISTANCE
-def is_relative_to_backport(base: Path, path_: Union[Path, str]) -> bool:
- """Same as Path.is_relative_to, but back-ported to 3.8.x."""
- path_ = Path(path_)
- return path_ == base or path_ in base.parents
-
-
def import_module_by_path(path: Path) -> ModuleType:
"""Import a Python file by Path as a Module."""
if not path:
@@ -38,7 +30,7 @@ def import_module_by_path(path: Path) -> ModuleType:
raise ValueError("Path does not exist")
# compute package hierarchy for relative import support
- if is_relative_to_backport(path, config.directories.core_dir):
+ if path.is_relative_to(config.directories.core_dir):
name = []
_path = path.parent
while _path.stem != config.directories.core_dir.stem:
diff --git a/devine/core/utils/click_types.py b/devine/core/utils/click_types.py
index 82e1476..5072f0f 100644
--- a/devine/core/utils/click_types.py
+++ b/devine/core/utils/click_types.py
@@ -1,5 +1,3 @@
-from __future__ import annotations
-
import re
from typing import Optional, Union
diff --git a/devine/core/vault.py b/devine/core/vault.py
index bcefa07..57c92c9 100644
--- a/devine/core/vault.py
+++ b/devine/core/vault.py
@@ -1,5 +1,3 @@
-from __future__ import annotations
-
from abc import ABCMeta, abstractmethod
from typing import Iterator, Optional, Union
from uuid import UUID
diff --git a/devine/core/vaults.py b/devine/core/vaults.py
index c94f73d..c040195 100644
--- a/devine/core/vaults.py
+++ b/devine/core/vaults.py
@@ -1,5 +1,3 @@
-from __future__ import annotations
-
from typing import Any, Iterator, Optional, Union
from uuid import UUID
diff --git a/devine/vaults/MySQL.py b/devine/vaults/MySQL.py
index c57ebe5..2ae5a0f 100644
--- a/devine/vaults/MySQL.py
+++ b/devine/vaults/MySQL.py
@@ -1,5 +1,3 @@
-from __future__ import annotations
-
import threading
from typing import Iterator, Optional, Union
from uuid import UUID
diff --git a/devine/vaults/SQLite.py b/devine/vaults/SQLite.py
index 20fbf8d..c3a424f 100644
--- a/devine/vaults/SQLite.py
+++ b/devine/vaults/SQLite.py
@@ -1,5 +1,3 @@
-from __future__ import annotations
-
import sqlite3
import threading
from pathlib import Path
diff --git a/poetry.lock b/poetry.lock
index 3eb08fd..90dee8d 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1722,5 +1722,5 @@ multidict = ">=4.0"
[metadata]
lock-version = "2.0"
-python-versions = ">=3.8.6,<3.12"
-content-hash = "a5ae30165f979359df7f0a2ff60822904261657d7c89acd5f5fba94643325e64"
+python-versions = ">=3.9.0,<3.12"
+content-hash = "cb2c53f75ffcbfcbea3341e1300a1e054c87b85343fa21e606287518ad5c142d"
diff --git a/pyproject.toml b/pyproject.toml
index 27ec034..1cb0f1b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -23,7 +23,7 @@ classifiers = [
]
[tool.poetry.dependencies]
-python = ">=3.8.6,<3.12"
+python = ">=3.9.0,<3.12"
appdirs = "^1.4.4"
Brotli = "^1.0.9"
click = "^8.1.3"