Remove support for Python 3.8 and PyPy 3.8

Dropped Python 3.8 and PyPy 3.8 from the CI workflow and updated the minimum required Python version to 3.9 in pyproject.toml. Also updated dependencies and tools to align with the new minimum Python version.
This commit is contained in:
JRoot Junior 2024-10-19 14:21:16 +03:00
parent 1fda28c761
commit deee99ef0b
No known key found for this signature in database
GPG key ID: 738964250D5FF6E2
2 changed files with 8 additions and 10 deletions

View file

@ -29,7 +29,6 @@ jobs:
- macos-latest
- windows-latest
python-version:
- '3.8'
- '3.9'
- '3.10'
- '3.11'
@ -112,7 +111,6 @@ jobs:
- macos-latest
# - windows-latest
python-version:
- 'pypy3.8'
- 'pypy3.9'
- 'pypy3.10'

View file

@ -6,7 +6,7 @@ build-backend = "hatchling.build"
name = "aiogram"
description = 'Modern and fully asynchronous framework for Telegram Bot API'
readme = "README.rst"
requires-python = ">=3.8"
requires-python = ">=3.9"
license = "MIT"
authors = [
{ name = "Alex Root Junior", email = "jroot.junior@gmail.com" },
@ -30,11 +30,11 @@ classifiers = [
"Typing :: Typed",
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Software Development :: Libraries :: Application Frameworks",
"Topic :: Software Development :: Libraries :: Python Modules",
@ -43,8 +43,7 @@ classifiers = [
dependencies = [
"magic-filter>=1.0.12,<1.1",
"aiohttp>=3.9.0,<3.11",
"pydantic>=2.4.1,<2.9; python_version < '3.9'", # v2.9 breaks compatibility with Python 3.8 without any reason
"pydantic>=2.4.1,<2.10; python_version >= '3.9'",
"pydantic>=2.4.1,<2.10",
"aiofiles>=23.2.1,<24.2",
"certifi>=2023.7.22",
"typing-extensions>=4.7.0,<=5.0",
@ -56,7 +55,8 @@ path = "aiogram/__meta__.py"
[project.optional-dependencies]
fast = [
"uvloop>=0.17.0; (sys_platform == 'darwin' or sys_platform == 'linux') and platform_python_implementation != 'PyPy'",
"uvloop>=0.17.0; (sys_platform == 'darwin' or sys_platform == 'linux') and platform_python_implementation != 'PyPy' and python_version < '3.13'",
"uvloop>=0.21.0; (sys_platform == 'darwin' or sys_platform == 'linux') and platform_python_implementation != 'PyPy' and python_version >= '3.13'",
"aiodns>=3.0.0",
]
redis = [
@ -198,7 +198,7 @@ view-cov = "google-chrome-stable reports/py{matrix:python}/coverage/index.html"
[[tool.hatch.envs.test.matrix]]
python = ["38", "39", "310", "311", "312"]
python = ["39", "310", "311", "312", "313"]
[tool.ruff]
line-length = 99
@ -215,7 +215,7 @@ exclude = [
"scripts",
"*.egg-info",
]
target-version = "py310"
target-version = "py39"
[tool.ruff.lint]
select = [
@ -309,7 +309,7 @@ disallow_untyped_defs = true
[tool.black]
line-length = 99
target-version = ['py38', 'py39', 'py310', 'py311']
target-version = ['py39', 'py310', 'py311', 'py312', 'py313']
exclude = '''
(
\.eggs