From ef0d23b75762d1e9bee52d14528d112cbd9285a6 Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Fri, 16 Oct 2026 12:41:42 -0400 Subject: [PATCH] chore: support python 3.15 Python 3.15.0 is out. Co-Authored-By: Claude --- .github/workflows/ci-build.yml | 3 ++- AGENTS.md | 4 ++-- pyproject.toml | 1 + scripts/install_all_and_run_tests.sh | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 230de3d39..e3211b3c9 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -10,7 +10,7 @@ on: workflow_dispatch: env: - LATEST_SUPPORTED_PY: "3.14" + LATEST_SUPPORTED_PY: "3.15" jobs: lint: @@ -74,6 +74,7 @@ jobs: - "3.12" - "3.13" - "3.14" + - "3.15" permissions: contents: read steps: diff --git a/AGENTS.md b/AGENTS.md index cc6ba8198..37084fa15 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -214,7 +214,7 @@ The core package has a **single required runtime dependency**: `slack_sdk` (defi When adding a new dependency: add it to the appropriate `requirements/*.txt` file with version constraints, never to `pyproject.toml` `dependencies` (unless it's a core runtime dep, which is very rare). -Before adding, bumping, pinning, or reviewing any dependency in `requirements/*.txt` -- whether a Dependabot PR or a manual edit -- follow the `managing-dependencies` skill in `.claude/skills/`. It defines the layout and `python_version` marker conventions that keep one set of pins working across the full CPython 3.7--3.14 matrix. +Before adding, bumping, pinning, or reviewing any dependency in `requirements/*.txt` -- whether a Dependabot PR or a manual edit -- follow the `managing-dependencies` skill in `.claude/skills/`. It defines the layout and `python_version` marker conventions that keep one set of pins working across the full CPython 3.7--3.15 matrix. ## Test Organization and CI @@ -236,7 +236,7 @@ GitHub Actions (`.github/workflows/ci-build.yml`) runs on every push to `main` a - **Lint** -- `./scripts/lint.sh` on latest Python - **Typecheck** -- `./scripts/run_mypy.sh` on latest Python -- **Unit tests** -- full test suite across Python 3.7--3.14 matrix +- **Unit tests** -- full test suite across Python 3.7--3.15 matrix - **Code coverage** -- uploaded to Codecov ## PR and Commit Guidelines diff --git a/pyproject.toml b/pyproject.toml index bf43e3d70..c69aa016c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,6 +16,7 @@ classifiers = [ "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.15", "Programming Language :: Python :: Implementation :: CPython", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", diff --git a/scripts/install_all_and_run_tests.sh b/scripts/install_all_and_run_tests.sh index 939e71ffd..d4601df0c 100755 --- a/scripts/install_all_and_run_tests.sh +++ b/scripts/install_all_and_run_tests.sh @@ -9,7 +9,7 @@ cd ${script_dir}/.. test_target="${1:-tests/}" # keep in sync with LATEST_SUPPORTED_PY in .github/workflows/ci-build.yml -LATEST_SUPPORTED_PY="3.14" +LATEST_SUPPORTED_PY="3.15" current_py=$(python --version | sed -E 's/Python ([0-9]+\.[0-9]+).*/\1/') ./scripts/install.sh