Skip to content

Conversation

@dbgold17
Copy link
Contributor

What

Upgrades the source-github connector to support Python 3.13 as requested by David Gold (@dbgold17).

Link to Devin run: https://app.devin.ai/sessions/e36bfd840bad4562a3e2ad4dbef157f4

How

  1. Updated Python version constraint from ^3.10,<3.12 to ^3.10,<3.14 in pyproject.toml
  2. Upgraded airbyte-cdk from ^7.3.4 to ^7.0.0 (resolved to 7.4.1 in lockfile)
  3. Updated base Docker image from python-connector-base:4.0.2 to python-connector-base:4.1.0
  4. Bumped connector version from 2.0.0 to 2.1.0 (minor version)
  5. Regenerated poetry.lock file (now using Poetry 2.0.1)
  6. Applied auto-formatting fixes (quote normalization, whitespace)

Review guide

Critical items to verify:

  1. CI compatibility: The lockfile was regenerated with Poetry 2.0.1. Verify CI pipeline uses compatible Poetry version.

  2. Image test failure: The airbyte-cdk image test command failed with ModuleNotFoundError: No module named 'pytest' when running via uvx. This appears to be an environment isolation issue with the test tool itself rather than a connector problem, but should be verified in CI.

  3. CDK upgrade impact: Review the CDK upgrade from 7.3.4 to 7.4.1:

    • Notable change: langchain_core removed as direct dependency (now only in optional vector-db-based extras)
    • Should not affect source-github since it doesn't use vector DB features
  4. Testing coverage:

    • ✅ Unit tests passed locally with Python 3.13
    • ⚠️ Integration tests: directory was empty (used poe test-integration-tests which skipped)
    • ⚠️ Mypy: skipped due to missing in environment
    • ✅ Ruff linting: passed

Files to review:

  1. pyproject.toml - Version constraints and dependencies
  2. metadata.yaml - Base image and version updates
  3. poetry.lock - Dependency resolution (large diff due to Poetry 2.0 upgrade)
  4. docs/integrations/sources/github.md - Changelog entry
  5. Auto-formatted files (fixtures/github.py, source_github/*.py) - Verify changes are formatting-only

User Impact

Users can now run source-github with Python 3.13. The connector maintains backward compatibility with Python 3.10, 3.11, and 3.12.

Dependencies have been updated to latest compatible versions.

Can this PR be safely reverted and rolled back?

  • YES 💚

This is a dependency and runtime version upgrade with no functional changes to connector logic. Rollback would simply revert to previous Python 3.10-3.11 support.

- Update Python version constraint to ^3.10,<3.14
- Upgrade airbyte-cdk to ^7.0.0 (resolved to 7.4.1)
- Update base image to python-connector-base:4.1.0
- Bump connector version to 2.1.0
- All unit tests passing
- Update dependencies

Co-Authored-By: David Gold <32782137+dbgold17@users.noreply.github.com>
@devin-ai-integration
Copy link
Contributor

Original prompt from David Gold
I’d like you to help me upgrade source-github to use python 3.13.9. The connector’s code and python project information (including dependencies) can be found in airbyte-integration/connectors/<connector-name>. Using Python 3.13.9 in a local environment, please attempt to update the Python version constraint in pyproject.toml to "^3.10,<3.14" and then proceed to install requirements. If a dependency conflict exists, please make a note of that, and then proceed to try to upgrade that dependency so that the conflict is resolved. Continue iteratively doing this process until you are able to install all of the requirements or else report the reason why that could not be done. Attempt to upgrade the airbyte-cdk dependency to “^7.0.0” if able and make sure to run poetry update at the end.

Once you’re able to install the connector with Python 3.13.9, please verify the connector still works by running unit and integration tests (poe test-unit-tests and poe-test-integration-tests). 

Once that is complete, update the connector’s base image to a version that uses Python 3.13. I’ve created such a base image already, here is the reference: docker.io/airbyte/python-connector-base:4.1.0@sha256:1d1aa21d34e851df4e8a87b391c27724c06e2597608e7161f4d167be853bd7b6

Run an image smoke test with `airbyte-cdk image test`. If this fails, try upgrading to a newer version of the CDK and then iterate to fix any failing unit or integration tests. If after a couple iterations, the connector cannot be built, proceed anyway.

Finally, update the connector’s version (minor version bump) and run the pre-release QA checks to make sure they pass. Add an entry to the changelog with a description “Update dependencies”

Go ahead and open a single PR for the connector changes in the airbyte repo and tag me @dbgold17 as a reviewer. The PR title should be “chore(<connector-name>): Upgrade to Python 3.13”

Please report back the results from attempts to upgrade dependencies and run all of these tests. If the... (177 chars truncated...)

@devin-ai-integration
Copy link
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@github-actions
Copy link
Contributor

👋 Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

Helpful Resources

PR Slash Commands

Airbyte Maintainers (that's you!) can execute the following slash commands on your PR:

  • /format-fix - Fixes most formatting issues.
  • /bump-version - Bumps connector versions.
    • You can specify a custom changelog by passing changelog. Example: /bump-version changelog="My cool update"
    • Leaving the changelog arg blank will auto-populate the changelog from the PR title.
  • /run-cat-tests - Runs legacy CAT tests (Connector Acceptance Tests)
  • /build-connector-images - Builds and publishes a pre-release docker image for the modified connector(s).
  • JVM connectors:
    • /update-connector-cdk-version connector=<CONNECTOR_NAME> - Updates the specified connector to the latest CDK version.
      Example: /update-connector-cdk-version connector=destination-bigquery
    • /bump-bulk-cdk-version type=patch changelog='foo' - Bump the Bulk CDK's version. type can be major/minor/patch.
  • Python connectors:
    • /poe connector source-example lock - Run the Poe lock task on the source-example connector, committing the results back to the branch.
    • /poe source example lock - Alias for /poe connector source-example lock.
    • /poe source example use-cdk-branch my/branch - Pin the source-example CDK reference to the branch name specified.
    • /poe source example use-cdk-latest - Update the source-example CDK dependency to the latest available version.

📝 Edit this welcome message.

Co-Authored-By: David Gold <32782137+dbgold17@users.noreply.github.com>
@github-actions
Copy link
Contributor

github-actions bot commented Oct 24, 2025

source-github Connector Test Results

93 tests   89 ✅  21s ⏱️
 3 suites   4 💤
 3 files     0 ❌

Results for commit 76aeb34.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 24, 2025

Deploy preview for airbyte-docs ready!

✅ Preview
https://airbyte-docs-1suy9pmus-airbyte-growth.vercel.app

Built with commit 76aeb34.
This pull request is being automatically deployed with vercel-action


| Version | Date | Pull Request | Subject |
|:-----------|:-----------|:------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 2.1.0 | 2025-10-24 | [TBD](https://github.com/airbytehq/airbyte/pull/TBD) | Update dependencies |
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Suggested change
| 2.1.0 | 2025-10-24 | [TBD](https://github.com/airbytehq/airbyte/pull/TBD) | Update dependencies |
| 2.1.0 | 2025-10-24 | [68637](https://github.com/airbytehq/airbyte/pull/68637) | Update dependencies |

Co-Authored-By: David Gold <32782137+dbgold17@users.noreply.github.com>
@devin-ai-integration
Copy link
Contributor

Updated the PR number from TBD to 68637 in the changelog. Thanks for catching that!

@dbgold17
Copy link
Contributor Author

regression test run: https://github.com/airbytehq/airbyte/actions/runs/18793334723

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants