Skip to content

ci: test Python 3.15 and 3.15t as supported versions - #250

Merged
lesnik512 merged 1 commit into
mainfrom
ci/python-3.15
Oct 22, 2026
Merged

lesnik512 merged 1 commit into
mainfrom
ci/python-3.15

Conversation

@lesnik512

Copy link
Copy Markdown
Member

Summary

CPython 3.15.0 is out. This adds 3.15 and 3.15t to the pytest matrix and the 3.15 classifier.

3.15 stays out of the floors matrix for now. The asyncpg floor (0.31.0) has no 3.15 wheels; 0.32.0 is the first release with them. The dev group's faststream[kafka] also pulls aiokafka, which has no 3.15 wheels in any release. Add 3.15 to floors once aiokafka ships 3.15 wheels and the asyncpg floor is at 0.32.0 or later. The floors job installs with --no-build, so it cannot pass on 3.15 until then. Users on 3.15 get newer versions that install, and pytest covers those.

Changes

  • _checks.yml: add 3.15 and 3.15t to pytest. Every check keyed on 3.14t now matches any t build.
  • pyproject.toml: add the Programming Language :: Python :: 3.15 classifier.
  • docs/introduction/installation.md now names 3.15t next to 3.14t, both as a CI target and as a build with free-threaded wheels for asyncpg, SQLAlchemy and pydantic-core.

Checklist

  • Every job with a 3.15 entry passes locally on 3.15.0 and 3.15.0t, run step by step from this _checks.yml with the same service containers
  • The floors install fails locally on 3.15 for the reason above

@github-actions

Copy link
Copy Markdown

Benchmark gate

✅ gate passed

scenario msg/s delete/msg WALrec/msg WALB/msg fpi upd del dead_tup
consumer/w1/b10 2229 1.000 6.72 922 242 5000 5000 10000
consumer/w1/b100 2625 1.000 7.11 1154 243 5000 5000 10000
consumer/w2/b10 3028 1.000 6.71 922 242 5000 5000 10000
consumer/w2/b100 3739 1.000 7.11 1154 243 5000 5000 10000
consumer/w4/b10 3048 1.000 6.73 949 242 5000 5000 10000
consumer/w4/b100 3785 1.000 7.11 1153 243 5000 5000 10000
consumer/w1/b100/tfbs100 10455 0.010 6.11 1130 243 5000 5000 10000
consumer/w1/b100/interval1-10 2503 1.000 7.11 1154 243 5000 5000 10000
producer/w1/b100 6641 0.000 3.04 597 1 0 0 0
producer/w1/b100/ppt1 1831 0.000 4.04 635 0 0 0 0

Gated (fails the build): delete_calls + tuple counters (upd/del/ins) + the producer's insert_calls, exact; select_calls and other_calls within +2; wal_records within a 10% band; fetch_calls within 2x. msg/s, WAL bytes and total calls are informational (timing/FPI noise).

@lesnik512
lesnik512 merged commit d6a4d9a into main Oct 22, 2026
15 checks passed
@lesnik512
lesnik512 deleted the ci/python-3.15 branch October 22, 2026 06:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant