From b31515e6277a320e6de80cc46c4278faf6db31d3 Mon Sep 17 00:00:00 2001 From: Hugo Osvaldo Barrera Date: Sat, 20 Sep 2025 14:51:37 +0200 Subject: [PATCH 1/2] Drop support for Python 3.9 This is not receiving any more security updates as of 2020-10-05, and shall be entirely unsupported upstream. --- .readthedocs.yaml | 2 +- CHANGELOG.rst | 2 +- docs/installation.rst | 2 +- pyproject.toml | 3 +-- vdirsyncer/__init__.py | 4 ++-- 5 files changed, 6 insertions(+), 7 deletions(-) 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) From ffdd2741723011de9629d8eff69efadbce5b606e Mon Sep 17 00:00:00 2001 From: Hugo Osvaldo Barrera Date: Sat, 20 Sep 2025 14:51:55 +0200 Subject: [PATCH 2/2] Update syntax obsolete in Python 3.10 --- vdirsyncer/storage/google_helpers.py | 2 +- vdirsyncer/utils.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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