Repository navigation
feat: add Python 3.14 support - #1338
Aaron ("AJ") Steers (aaronsteers) merged 4 commits into
Conversation
Co-Authored-By: AJ Steers <aj@airbyte.io>
Co-Authored-By: AJ Steers <aj@airbyte.io>
…rge) Co-Authored-By: AJ Steers <aj@airbyte.io>
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
👋 Greetings, Airbyte Team Member!Here are some helpful tips and reminders for your convenience. 💡 Show Tips and TricksTesting This PyAirbyte VersionYou can test this version of PyAirbyte using the following: # Run PyAirbyte CLI from this branch:
uvx --from 'git+https://github.com/airbytehq/PyAirbyte.git@devin/1791315239-python-3-14-support' pyairbyte --help
# Install PyAirbyte from this branch for development:
pip install 'git+https://github.com/airbytehq/PyAirbyte.git@devin/1791315239-python-3-14-support'PR Slash CommandsAirbyte Maintainers can execute the following slash commands on your PR:
📚 Show Repo GuidanceHelpful ResourcesCommunity SupportQuestions? Join the #pyairbyte channel in our Slack workspace. |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The documented CDK release dependency and temporary TK-TODO git source remain unresolved merge blockers.
Review effort: Balanced
Findings: None
What changed in this PR
Adds Python 3.14 support by widening compatibility constraints, updating locked dependencies, and expanding CI coverage.
Changes:
- Supports Python
>=3.11,<3.15. - Updates dependencies with Python 3.14 wheels.
- Tests Python 3.14 on Ubuntu and Windows.
| File | Description |
|---|---|
pyproject.toml |
Widens Python and dependency constraints; temporarily sources the unreleased CDK branch. |
uv.lock |
Locks Python 3.14-compatible dependency versions and wheels. |
.github/workflows/python_pytest.yml |
Adds Python 3.14 to unit-test CI. |
.github/workflows/test-pr-command.yml |
Adds Python 3.14 to on-demand testing. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Code Coverage OverviewLanguages: Python Python / code-coverage/pytest-no-credsThe overall line coverage in commit da3e8fd in the Show a line coverage summary of the most impacted files.
Python / code-coverage/pytestThe overall line coverage in commit da3e8fd in the Show a line coverage summary of the most impacted files.
Python / code-coverage/pytest-unitThe overall line coverage in commit da3e8fd in the Show a line coverage summary of the most covered files.
Updated |
… TK-TODO git source Co-Authored-By: AJ Steers <aj@airbyte.io>
There was a problem hiding this comment.
🔵 Needs a closer look
The PyArrow and Snowflake major-version expansions require final confirmation from credentialed integration CI.
0 open findings
🧠 Review effort: Balanced
Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.
6163155
into
release-candidate/v1
Overview
👉 TL;DR: Lets PyAirbyte install and run on Python 3.14.
Raises
requires-pythonto<3.15, bumps theairbyte-cdkfloor to7.34.0(the first CDK release with 3.14 support), widens thepyarrow,snowflake-connector-pythonandviztracercaps to versions withcp314wheels, and adds3.14to the unit matrices.Depends on (released):
airbyte-cdk7.34.0)Changes
requires-python = ">=3.11,<3.15"airbyte-cdk>=7.28.3→>=7.34.0. 7.34.0 is the first release withRequires-Python: <3.15,pandas<3.0andpydantic^2.13. The temporary git source and itsTK-TODOare removed.pyarrow<22.0→<24.0. 22 is the first release with 3.14 wheels; locks23.0.1.snowflake-connector-python<4.0→<5.0. 3.x has no 3.14 wheels; locks4.8.0.viztracer(dev)<1.1.0→<1.2.0. 1.1.0 is the first release with 3.14 wheels.uv.lockwas re-locked fromrelease-candidate/v1with targeted upgrades:airbyte-cdk7.34.0,pandas2.3.3,pydantic2.14.0,pyarrow23.0.1,snowflake-connector-python4.8.0 (plus itscryptography/pyopenssl/cffi),viztracer1.1.1.python_pytest.ymlandtest-pr-command.yml: added'3.14'.Review Spotlight
Reviewers with limited time, please review first:
pyproject.tomldependency caps, especially thesnowflake-connector-python4.x andpyarrow23 majors.Risks
snowflake-connector-python4.x is a major bump. Unit tests pass; the Snowflake cache integration tests need creds and run in CI only.pyarrow22/23 is a major bump.Follow-ups
Dockerfile.mcpstays on Python 3.12.Test plan
uv sync --python 3.14 --no-build --all-extras: everything installs from wheels (no source builds).Link to Devin session: https://app.devin.ai/sessions/11efb22ec9fc43aaaeb1395cb3343306
Open in Devin Desktop: https://app.devin.ai/desktop/session/11efb22ec9fc43aaaeb1395cb3343306?variant=devin
Requested by: Aaron ("AJ") Steers (@aaronsteers)