Skip to content

Add Python 3.13 and 3.14 support, bump to 0.8.0 - #68

Merged
daniel-thom merged 6 commits into
NatLabRockies:mainfrom
AadilLatif:support-python-3.13-3.14
Jul 29, 2026
Merged

Add Python 3.13 and 3.14 support, bump to 0.8.0#68
daniel-thom merged 6 commits into
NatLabRockies:mainfrom
AadilLatif:support-python-3.13-3.14

Conversation

@AadilLatif

Copy link
Copy Markdown
Collaborator

Summary

Adds support for Python 3.13 and 3.14.

Changes

  • Update requires-python upper bound from <3.14 to <3.15
  • Add Python :: 3.13 and Python :: 3.14 classifiers
  • Remove stale Python :: 3.10 classifier (minimum is 3.11)
  • Bump version from 0.7.0 to 0.8.0

Testing

All 263 tests pass on:

  • Python 3.12.9 (existing)
  • Python 3.13.5
  • Python 3.14.5

One new deprecation warning on 3.14 in csv_io.py: '_UnionGenericAlias' is deprecated and slated for removal in Python 3.17 — not blocking, can be addressed separately.

- Update requires-python upper bound from <3.14 to <3.15
- Add Python 3.13 and 3.14 classifiers
- Remove stale Python 3.10 classifier (min is 3.11)
- Bump version from 0.7.0 to 0.8.0
- All 263 tests pass on Python 3.12, 3.13, and 3.14
@daniel-thom

Copy link
Copy Markdown
Collaborator

@AadilLatif The URL for spark needs to be updated to https://archive.apache.org/dist/spark/spark-4.0.1/spark-4.0.1-bin-hadoop3.tgz. Can you make the change in .github/workflows/ci.yml?

- Spark 4.0.1 was removed from Apache mirrors (404)
- Update to Spark 4.0.4 (latest 4.0.x available)
- Add Python 3.14 to the test matrix
@AadilLatif

AadilLatif commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator Author

@AadilLatif The URL for spark needs to be updated to https://archive.apache.org/dist/spark/spark-4.0.1/spark-4.0.1-bin-hadoop3.tgz. Can you make the change in .github/workflows/ci.yml?

Should I just update to 4.0.4 instead @daniel-thom ?

duckdb ~= 1.1.0 only ships wheels up to cp313. Building from
source fails due to ICU C++ compilation errors. Supporting 3.14
requires migrating duckdb.typing API (removed in duckdb 1.2+),
which is out of scope for this PR.

Keep Python 3.13 support (tested, works).
- Relax duckdb constraint from ~=1.1.0 to >=1.1.0
- Add duckdb/types.py compat layer for duckdb.typing removal in 1.2+
- Update models.py and csv_io.py to use compat layer
- Add Python 3.14 to requires-python, classifiers, and CI matrix
- Update Spark 4.0.1 -> 4.0.4 in CI (old version removed from mirrors)
- All 263 tests pass on Python 3.12/duckdb 1.1.3 and 3.14/duckdb 1.5.5
duckdb 1.5+ has cp314 wheels on all platforms and uses the new
sqltype() API. No need for the try/except duckdb.typing fallback.
@daniel-thom
daniel-thom merged commit 3675354 into NatLabRockies:main Jul 29, 2026
5 checks passed
github-actions Bot pushed a commit that referenced this pull request Jul 29, 2026
Add Python 3.13 and 3.14 support, bump to 0.8.0
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.

2 participants