Repository navigation
Support Python 3.15 #1164
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Python 3.15 #1164
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -48,6 +48,7 @@ classifiers = [ | |
| "Programming Language :: Python :: 3.12", | ||
| "Programming Language :: Python :: 3.13", | ||
| "Programming Language :: Python :: 3.14", | ||
| "Programming Language :: Python :: 3.15", | ||
| ] | ||
| dynamic = ["version"] | ||
|
|
||
|
|
@@ -91,9 +92,13 @@ dev = [ | |
| "sqlalchemy[asyncio]>=2.0.0", | ||
| "pandas>=3.0.0", | ||
| "pyarrow>=22.0.0", | ||
| # pyarrow 26.0.0 is the first release with Python 3.15 wheels; without this, | ||
| # the lock keeps the version that the benchmarks' awswrangler allows. | ||
| "pyarrow>=26.0.0; python_version >= '3.15'", | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Self-review round one (implementation behavior) — Base Covered:
|
||
| "polars>=1.39.0", | ||
| # Pull requests test the newest Python with Polars 2, and the older Pythons keep | ||
| # the newest Polars 1.x release. | ||
| # Python 3.14 and later, including the newest version that pull requests test, | ||
| # use Polars 2; Polars 1.x Series methods return None on Python 3.15 | ||
| # (pola-rs/polars#29419). The older versions keep the newest Polars 1.x release. | ||
| "polars>=2.0.0; python_version >= '3.14'", | ||
| "polars<2.0.0; python_version < '3.14'", | ||
| "Jinja2>=3.1.0", | ||
|
|
@@ -230,14 +235,15 @@ exclude = [ | |
| legacy_tox_ini = """ | ||
| [tox] | ||
| isolated_build = true | ||
| envlist = py{311,312,313,314}-{pyathena,sqla,sqla_async} | ||
| envlist = py{311,312,313,314,315}-{pyathena,sqla,sqla_async} | ||
|
|
||
| [gh-actions] | ||
| python = | ||
| 3.11: py311 | ||
| 3.12: py312 | ||
| 3.13: py313 | ||
| 3.14: py314 | ||
| 3.15: py315 | ||
|
|
||
| [gh-actions:env] | ||
| TEST_TYPE = | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -630,8 +630,9 @@ def test_contain_special_character_query(self, cursor): | |
| assert cursor.fetchall() == [("a string", "%%")] | ||
|
|
||
| def test_contain_special_character_query_with_parameter(self, cursor): | ||
| # Python 3.15 raises ValueError instead of TypeError for a % without a mapping key. | ||
| pytest.raises( | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Self-review of the changes after the first reviews and of the rebase (both perspectives): Old range Changes since the reviewed head:
Behavior perspective: no runtime code changes; on 3.15, Polars 2.0.0 and pyarrow 26.0.0 are locked. The upstream runtime changes (#1165 S3File parts, #1167 PandasCursor rows) are covered by the full CI on 3.15 to follow.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Independent follow-up review (relayed): Reviewer: Codex CLI 0.162.1, model Reviewer output: Surfaces covered:
CLEAN — no actionable findings in the follow-up scope. Read-only inspection, including existing log evidence; no builds, tests, installs, edits, or GitHub writes performed. This does not establish runtime success at the current head. |
||
| TypeError, | ||
| (TypeError, ValueError), | ||
| lambda: cursor.execute( | ||
| """ | ||
| SELECT col_string, %(param)s FROM one_row_complex | ||
|
|
||
Large diffs are not rendered by default.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Independent review (relayed) —
CLEANReviewer: Codex CLI 0.162.1, model
gpt-6-astra,model_reasoning_effort=high, sandboxread-only; session01a13a46-70f8-7ea2-a682-b1d486cff58e.Base
6ea5587dde5aae5a5066a91da1f1231803d471e0, head9d405b8d68da5c0cd9dad5e50225475b34875a8a, detached snapshot worktree (unchanged after the review).Constraints: review only (no edits, builds, tests, or GitHub access); the prompt omitted the PR number, description, commit messages, and prior findings. Static review with public package-metadata lookups; nothing was executed.
Reviewer output:
Surfaces covered:
requires-python: unchanged.just tox, all three tox environments, and release-workflow reuse. Python 3.15 is included.CLEAN
No actionable findings in
6ea5587d..9d405b8d. This is a static review with public metadata verification; installation, builds, tests, and AWS execution were not performed.