Skip to content

Conversation

@chalmerlowe
Copy link
Collaborator

This PR updates the python-bigquery library to add support for Python 3.14.

The following changes have been made:

  • Added the trove classifier for Python 3.14 in pyproject.toml.
  • Added Python 3.14 to the test matrix in the GitHub Actions workflow (.github/workflows/unittest.yml).
  • Created a new constraints file testing/constraints-3.14.txt to include a minimum version for grpcio (>= 1.75.1) required by Python 3.14.
  • Updated CONTRIBUTING.rst to list Python 3.14 as a supported version.
  • Added Samples - Python 3.14 to the required status checks in .github/sync-repo-settings.yaml.
  • Included "3.14" in the unit_test_python_versions list in owlbot.py.
  • Added the grpcio >= 1.75.1 constraint for python_version >= '3.14' in the optional dependencies
    (bqstorage, pandas) in pyproject.toml.
  • Updated UNIT_TEST_PYTHON_VERSIONS in noxfile.py to include "3.14".

These changes ensure that the library is tested against Python 3.14 and declares support for it, while also handling the new grpcio dependency requirement.

@chalmerlowe chalmerlowe requested review from a team as code owners October 15, 2025 20:09
@chalmerlowe chalmerlowe requested a review from shollyman October 15, 2025 20:09
@product-auto-label product-auto-label bot added size: s Pull request size is small. api: bigquery Issues related to the googleapis/python-bigquery API. labels Oct 15, 2025
@mrfaizal mrfaizal assigned shollyman and daniel-sanche and unassigned mrfaizal Oct 15, 2025
@shollyman shollyman removed their assignment Oct 15, 2025
Copy link

@vchudnov-g vchudnov-g left a comment

Choose a reason for hiding this comment

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

Looking at the GitHub presubmits, I see the unit tests for 3.14 ran, but the sample tests for 3.14 did not . Neither did Kokoro snippets and Kokoro system, for 3.14. It looks from our guide that at least the samples test should be configured to run. And it would be great to get the Kokoro test to run right away as well, though tbh i don't know whether those depend on additional configs.

python -m pip install nox
- name: Run unit tests

# TODO 3.14 is not yet supported by pyarrow. See

Choose a reason for hiding this comment

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

Could you file an issue to track this, and mention it in the TODO. Something like:
TODO(http://....): Re-enable tests on Python 3.14 once....

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Github issues automatically become buganizer issues for this repo. There is no need for me to file an issue.
I will add the buganizer number, per request.

noxfile.py Outdated
DEFAULT_PYTHON_VERSION = "3.9"
SYSTEM_TEST_PYTHON_VERSIONS = ["3.9", "3.11", "3.12", "3.13"]
UNIT_TEST_PYTHON_VERSIONS = ["3.9", "3.11", "3.12", "3.13"]
UNIT_TEST_PYTHON_VERSIONS = ["3.9", "3.11", "3.12", "3.13", "3.14"]

Choose a reason for hiding this comment

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

Why is 3.10 missing (even before this PR)? Either we test on all supported versions, or we sample fewer (like the lowest and highest), don't you think?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Updated.

@chalmerlowe chalmerlowe added the kokoro:run Add this label to force Kokoro to re-run the tests. label Oct 20, 2025
@yoshi-kokoro yoshi-kokoro removed the kokoro:run Add this label to force Kokoro to re-run the tests. label Oct 20, 2025
@chalmerlowe
Copy link
Collaborator Author

chalmerlowe commented Oct 20, 2025

@vchudnov-g

DONE:

Note: there is an internal CL to add Samples for 3.14 as a check in presubmit: https://critique.corp.google.com/cl/821648116

Copy link

@vchudnov-g vchudnov-g left a comment

Choose a reason for hiding this comment

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

Thanks for doing this! Just one non-blocking cosmetic comment.

Comment on lines +25 to +28
# TODO (https://b.corp.google.com/issues/450370502) 3.14 is not yet supported by pyarrow. See
# https://github.com/googleapis/google-cloud-python/issues/14686
# https://github.com/apache/arrow/issues/47438
# Reinstate running tests with 3.14 once this bug is fixed

Choose a reason for hiding this comment

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

Let's avoid references to internal issues where we can.

Suggested change
# TODO (https://b.corp.google.com/issues/450370502) 3.14 is not yet supported by pyarrow. See
# https://github.com/googleapis/google-cloud-python/issues/14686
# https://github.com/apache/arrow/issues/47438
# Reinstate running tests with 3.14 once this bug is fixed
# TODO (https://github.com/googleapis/google-cloud-python/issues/14686) Reinstate running
# tests with 3.14 once Python 3.14 is supported by pyarrow.
# See also https://github.com/apache/arrow/issues/47438

@chalmerlowe chalmerlowe merged commit 6065e14 into main Oct 20, 2025
30 checks passed
@chalmerlowe chalmerlowe deleted the feat/adds-support-for-314 branch October 20, 2025 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: bigquery Issues related to the googleapis/python-bigquery API. size: s Pull request size is small.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants