From 36d2d4450f6e8a3ec1561808605d61a0a8897643 Mon Sep 17 00:00:00 2001 From: PieterCK Date: Wed, 28 Oct 2026 18:24:34 +0700 Subject: [PATCH] ci: Remove Python 3.9. Debian 11 (bullseye), the oldest distro we tested Python 3.9 on, has reached end of life, and its packages now return 404 from deb.debian.org, so provisioning in the zulip/ci:bullseye container fails. Python 3.9 itself reached end of life in October 2025. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/zulip-ci.yml | 6 ------ .github/workflows/zulip-tests.yml | 6 +++--- pyproject.toml | 2 +- zulip/README.md | 2 +- zulip/setup.py | 3 +-- zulip_bots/setup.py | 3 +-- zulip_botserver/setup.py | 3 +-- 7 files changed, 8 insertions(+), 17 deletions(-) diff --git a/.github/workflows/zulip-ci.yml b/.github/workflows/zulip-ci.yml index 175d4a308..acbd57805 100644 --- a/.github/workflows/zulip-ci.yml +++ b/.github/workflows/zulip-ci.yml @@ -20,12 +20,6 @@ jobs: fail-fast: false matrix: include: - # Bullseye ships with Python 3.9.2. - - docker_image: zulip/ci:bullseye - name: Debian 11 (Python 3.9, backend) - os: bullseye - legacy_client_interface: "4" - server_version: refs/tags/4.0 # Ubuntu 22.04 ships with Python 3.10.6. - docker_image: zulip/ci:jammy name: Ubuntu 22.04 (Python 3.10, backend) diff --git a/.github/workflows/zulip-tests.yml b/.github/workflows/zulip-tests.yml index 5e3c46353..1855b01f2 100644 --- a/.github/workflows/zulip-tests.yml +++ b/.github/workflows/zulip-tests.yml @@ -16,10 +16,10 @@ jobs: steps: - uses: actions/checkout@v6 - - name: Set up Python 3.9 + - name: Set up Python 3.10 uses: actions/setup-python@v6 with: - python-version: "3.9" + python-version: "3.10" - name: Install dependencies run: tools/provision --force @@ -35,7 +35,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest] - python-version: ["3.9", "3.10", "3.11", "3.12"] + python-version: ["3.10", "3.11", "3.12"] steps: - uses: actions/checkout@v6 diff --git a/pyproject.toml b/pyproject.toml index 28633465b..05fc4c027 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.black] line-length = 100 -target-version = ["py39"] +target-version = ["py310"] [tool.isort] src_paths = [ diff --git a/zulip/README.md b/zulip/README.md index 75845bfee..0759d1b55 100644 --- a/zulip/README.md +++ b/zulip/README.md @@ -3,7 +3,7 @@ The [Zulip API](https://zulip.com/api) Python bindings require the following dependencies: -* **Python (version >= 3.9)** +* **Python (version >= 3.10)** * requests (version >= 0.12.1) **Note**: If you'd like to use the Zulip bindings with Python 2, we diff --git a/zulip/setup.py b/zulip/setup.py index 5092d84ed..62c90e5df 100755 --- a/zulip/setup.py +++ b/zulip/setup.py @@ -42,12 +42,11 @@ def recur_expand(target_root: Any, dir: Any) -> Generator[Tuple[str, List[str]], "Intended Audience :: Developers", "Topic :: Communications :: Chat", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ], - python_requires=">=3.9", + python_requires=">=3.10", url="https://www.zulip.org/", project_urls={ "Source": "https://github.com/zulip/python-zulip-api/", diff --git a/zulip_bots/setup.py b/zulip_bots/setup.py index dfa93c267..f13f26a8b 100644 --- a/zulip_bots/setup.py +++ b/zulip_bots/setup.py @@ -32,12 +32,11 @@ "Intended Audience :: Developers", "Topic :: Communications :: Chat", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ], - python_requires=">=3.9", + python_requires=">=3.10", url="https://www.zulip.org/", project_urls={ "Source": "https://github.com/zulip/python-zulip-api/", diff --git a/zulip_botserver/setup.py b/zulip_botserver/setup.py index 4001dbd33..0a63c8691 100644 --- a/zulip_botserver/setup.py +++ b/zulip_botserver/setup.py @@ -20,12 +20,11 @@ "Intended Audience :: Developers", "Topic :: Communications :: Chat", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ], - python_requires=">=3.9", + python_requires=">=3.10", url="https://www.zulip.org/", project_urls={ "Source": "https://github.com/zulip/python-zulip-api/",