diff --git a/.readthedocs.yaml b/.readthedocs.yaml index f7c15d21..964652a4 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -6,7 +6,7 @@ sphinx: build: os: "ubuntu-22.04" tools: - python: "3.9" + python: "3.10" python: install: diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 5de24c3f..80d08b99 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,7 +14,7 @@ Version 0.21.0 - Implement retrying for ``google`` storage type when a rate limit is reached. - ``tenacity`` is now a required dependency. -- Drop support for Python 3.8. +- Drop support for Python 3.8 and 3.9. Version 0.20.0 ============== diff --git a/docs/installation.rst b/docs/installation.rst index e3efecbe..40358ebb 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -42,7 +42,7 @@ If your distribution doesn't provide a package for vdirsyncer, you still can use Python's package manager "pip". First, you'll have to check that the following things are installed: -- Python 3.9 to 3.13 and pip. +- Python 3.10 to 3.13 and pip. - ``libxml`` and ``libxslt`` - ``zlib`` - Linux or macOS. **Windows is not supported**, see :gh:`535`. diff --git a/pyproject.toml b/pyproject.toml index fa2fac37..214c9c7f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,7 @@ authors = [ ] description = "Synchronize calendars and contacts" readme = "README.rst" -requires-python = ">=3.9" +requires-python = ">=3.10" keywords = ["todo", "task", "icalendar", "cli"] license = "BSD-3-Clause" license-files = ["LICENSE"] @@ -27,7 +27,6 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", - "Programming Language :: Python :: 3.9", "Topic :: Internet", "Topic :: Office/Business :: Scheduling", "Topic :: Utilities", diff --git a/vdirsyncer/__init__.py b/vdirsyncer/__init__.py index fa439fc8..696cc074 100644 --- a/vdirsyncer/__init__.py +++ b/vdirsyncer/__init__.py @@ -23,8 +23,8 @@ def _check_python_version(): import sys - if sys.version_info < (3, 9, 0): # noqa: UP036 - print("vdirsyncer requires at least Python 3.9.") + if sys.version_info < (3, 10, 0): # noqa: UP036 + print("vdirsyncer requires at least Python 3.10.") sys.exit(1) diff --git a/vdirsyncer/storage/google_helpers.py b/vdirsyncer/storage/google_helpers.py index 572bbecd..781facf3 100644 --- a/vdirsyncer/storage/google_helpers.py +++ b/vdirsyncer/storage/google_helpers.py @@ -7,9 +7,9 @@ import logging import wsgiref.simple_server import wsgiref.util +from collections.abc import Callable from collections.abc import Iterable from typing import Any -from typing import Callable logger = logging.getLogger(__name__) diff --git a/vdirsyncer/utils.py b/vdirsyncer/utils.py index 1a62ab00..f52b978f 100644 --- a/vdirsyncer/utils.py +++ b/vdirsyncer/utils.py @@ -6,8 +6,8 @@ import sys import tempfile import uuid +from collections.abc import Callable from inspect import getfullargspec -from typing import Callable from . import exceptions