Skip to content

feat: add Python 3.14 support - #1338

Merged
Aaron ("AJ") Steers (aaronsteers) merged 4 commits into
release-candidate/v1from
devin/1791315239-python-3-14-support
Oct 8, 2026
Merged

Aaron ("AJ") Steers (aaronsteers) merged 4 commits into
release-candidate/v1from
devin/1791315239-python-3-14-support

Conversation

@aaronsteers

@aaronsteers Aaron ("AJ") Steers (aaronsteers) commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

Overview

👉 TL;DR: Lets PyAirbyte install and run on Python 3.14.

Raises requires-python to <3.15, bumps the airbyte-cdk floor to 7.34.0 (the first CDK release with 3.14 support), widens the pyarrow, snowflake-connector-python and viztracer caps to versions with cp314 wheels, and adds 3.14 to the unit matrices.

Depends on (released):

Changes

  • requires-python = ">=3.11,<3.15"
  • airbyte-cdk >=7.28.3 → >=7.34.0. 7.34.0 is the first release with Requires-Python: <3.15, pandas<3.0 and pydantic^2.13. The temporary git source and its TK-TODO are removed.
  • pyarrow <22.0 → <24.0. 22 is the first release with 3.14 wheels; locks 23.0.1.
  • snowflake-connector-python <4.0 → <5.0. 3.x has no 3.14 wheels; locks 4.8.0.
  • viztracer (dev) <1.1.0 → <1.2.0. 1.1.0 is the first release with 3.14 wheels.
  • Floors are otherwise unchanged. uv.lock was re-locked from release-candidate/v1 with targeted upgrades: airbyte-cdk 7.34.0, pandas 2.3.3, pydantic 2.14.0, pyarrow 23.0.1, snowflake-connector-python 4.8.0 (plus its cryptography/pyopenssl/cffi), viztracer 1.1.1.
  • python_pytest.yml and test-pr-command.yml: added '3.14'.

Review Spotlight

Reviewers with limited time, please review first:

  • pyproject.toml dependency caps, especially the snowflake-connector-python 4.x and pyarrow 23 majors.

Risks

  • snowflake-connector-python 4.x is a major bump. Unit tests pass; the Snowflake cache integration tests need creds and run in CI only.
  • pyarrow 22/23 is a major bump.

Follow-ups

  • Dockerfile.mcp stays on Python 3.12.

Test plan

  • uv sync --python 3.14 --no-build --all-extras: everything installs from wheels (no source builds).
  • Local unit suite on Python 3.14.7 with the locked deps: 1654 passed, 1 skipped.
  • CI unit tests on 3.11 through 3.14 (Ubuntu and Windows), plus integration and No Creds.

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)

devin-ai-integration Bot and others added 3 commits October 6, 2026 18:51
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>
@devin-ai-integration

Copy link
Copy Markdown
Contributor

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown

👋 Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

💡 Show Tips and Tricks

Testing This PyAirbyte Version

You 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 Commands

Airbyte Maintainers can execute the following slash commands on your PR:

  • /fix-pr - Fixes most formatting and linting issues
  • /uv-lock - Updates uv.lock file
  • /test-pr - Runs tests with the updated PyAirbyte
  • /prerelease - Builds and publishes a prerelease version to PyPI
📚 Show Repo Guidance

Helpful Resources

Community Support

Questions? Join the #pyairbyte channel in our Slack workspace.

📝 Edit this welcome message.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@github-code-quality

github-code-quality Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: Python

Python / code-coverage/pytest-no-creds

The overall line coverage in commit da3e8fd in the devin/1791315239-pyt... branch is 78%. The line coverage in commit d9f652f in the release-candidate/v1 branch is 65%.

Show a line coverage summary of the most impacted files.
File release-candidate/v1 d9f652f devin/1791315239-pyt... da3e8fd +/-
airbyte/_util/api_util.py 36% 65% +29%
airbyte/mcp/cloud.py 52% 82% +30%
airbyte/cloud/connectors.py 34% 75% +41%
airbyte/mcp/int..._registry_ui.py 0% 92% +92%
airbyte/mcp/_user_identity.py 0% 93% +93%
airbyte/_direct...ctors/models.py 0% 94% +94%
airbyte/mcp/_telemetry.py 0% 94% +94%
airbyte/mcp/_sso_auth.py 0% 96% +96%
airbyte/cloud/models.py 0% 97% +97%
airbyte/mcp/int...nc_status_ui.py 0% 97% +97%

Python / code-coverage/pytest

The overall line coverage in commit da3e8fd in the devin/1791315239-pyt... branch is 80%. The line coverage in commit d9f652f in the release-candidate/v1 branch is 71%.

Show a line coverage summary of the most impacted files.
File release-candidate/v1 d9f652f devin/1791315239-pyt... da3e8fd +/-
airbyte/cloud/connectors.py 51% 80% +29%
airbyte/mcp/cloud.py 52% 82% +30%
airbyte/mcp/_otel.py 0% 79% +79%
airbyte/mcp/int..._registry_ui.py 0% 92% +92%
airbyte/mcp/_user_identity.py 0% 93% +93%
airbyte/_direct...ctors/models.py 0% 94% +94%
airbyte/mcp/_telemetry.py 0% 94% +94%
airbyte/mcp/_sso_auth.py 0% 96% +96%
airbyte/cloud/models.py 0% 97% +97%
airbyte/mcp/int...nc_status_ui.py 0% 97% +97%

Python / code-coverage/pytest-unit

The overall line coverage in commit da3e8fd in the devin/1791315239-pyt... branch is 74%. Line coverage data for the release-candidate/v1 branch is not yet available.

Show a line coverage summary of the most covered files.
File release-candidate/v1 devin/1791315239-pyt... da3e8fd +/-
airbyte/cloud/models.py — 97% —
airbyte/mcp/_sso_auth.py — 96% —
airbyte/_direct...ctors/models.py — 94% —
airbyte/cloud/client.py — 90% —
airbyte/exceptions.py — 85% —
airbyte/mcp/cloud.py — 82% —
airbyte/progress.py — 80% —
airbyte/cloud/connectors.py — 75% —
airbyte/shared/...ql_processor.py — 68% —
airbyte/_util/api_util.py — 65% —

Updated October 08, 2026 16:14 UTC

Base automatically changed from devin/1791312677-python-3-13-support to release-candidate/v1 October 7, 2026 20:06
… TK-TODO git source

Co-Authored-By: AJ Steers <aj@airbyte.io>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 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.

@aaronsteers
Aaron ("AJ") Steers (aaronsteers) marked this pull request as ready for review October 8, 2026 16:38
@aaronsteers
Aaron ("AJ") Steers (aaronsteers) merged commit 6163155 into release-candidate/v1 Oct 8, 2026
32 of 33 checks passed
@aaronsteers
Aaron ("AJ") Steers (aaronsteers) deleted the devin/1791315239-python-3-14-support branch October 8, 2026 16:39

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

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