Conversation
…ns (#492) * fix: correctly transform query job timeout configuration and exceptions * unit tests for configuration transformations * add unit tests for timeout * link todo to relevant issue * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * use correct template for freezegun deps * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * decrease tick time in case multiple time calls are made * try no tick * add freezegun to conda deps * typo Co-authored-by: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com> * typo Co-authored-by: Anthonios Partheniou <partheniou@google.com> Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com> Co-authored-by: Anthonios Partheniou <partheniou@google.com>
The console-based copy-paste-a-token flow has been deprecated. See: https://developers.googleblog.com/2022/02/making-oauth-flows-safer.html?m=1#disallowed-oob Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: - [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery-pandas/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [ ] Ensure the tests and linter pass - [ ] Code coverage does not decrease (if any source code was changed) - [ ] Appropriate docs were updated (if necessary) Fixes #<issue_number_goes_here> 🦕
🤖 I have created a release *beep* *boop* --- ### [0.17.4](googleapis/python-bigquery-pandas@v0.17.3...v0.17.4) (2022-03-14) ### Bug Fixes * avoid deprecated "out-of-band" authentication flow ([#500](googleapis/python-bigquery-pandas#500)) ([4758e3a](googleapis/python-bigquery-pandas@4758e3a)) * correctly transform query job timeout configuration and exceptions ([#492](googleapis/python-bigquery-pandas#492)) ([d8c3900](googleapis/python-bigquery-pandas@d8c3900)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
* chore(deps): update all dependencies * revert change Co-authored-by: Anthonios Partheniou <partheniou@google.com>
* chore(deps): update all dependencies * revert change Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Source-Link: googleapis/synthtool@6fab84a Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:7cffbc10910c3ab1b852c05114a08d374c195a81cdec1d4a67a1d129331d0bfe
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: - [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery-pandas/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [ ] Ensure the tests and linter pass - [ ] Code coverage does not decrease (if any source code was changed) - [ ] Appropriate docs were updated (if necessary) Towards #367 🦕
Source-Link: googleapis/synthtool@7ff4aad Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:462782b0b492346b2d9099aaff52206dd30bc8e031ea97082e6facecc2373244
* chore(deps): update all dependencies * revert upgrade for environment specific pin; use `===` to prevent future updates * update environment pin Co-authored-by: Anthonios Partheniou <partheniou@google.com>
) Source-Link: googleapis/synthtool@7804ade Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:eede5672562a32821444a8e803fb984a6f61f2237ea3de229d2de24453f4ae7d
Source-Link: googleapis/synthtool@06e8279 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:b3500c053313dc34e07b1632ba9e4e589f4f77036a7cf39e1fe8906811ae0fce
Source-Link: googleapis/synthtool@993985f Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:1894490910e891a385484514b22eb5133578897eb5b3c380e6d8ad475c6647cd
* doc: add ROADMAP document describing the purpose of the package * additional thoughts Co-authored-by: Lo Ferris <50979514+loferris@users.noreply.github.com> Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Source-Link: googleapis/synthtool@eb78c98 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:8a5d3f6a2e43ed8293f34e06a2f56931d1e88a2694c3bb11b15df4eb256ad163
Source-Link: googleapis/synthtool@1b71c10 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:00c9d764fd1cd56265f12a5ef4b99a0c9e87cf261018099141e2ca5158890416 Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Source-Link: googleapis/synthtool@f15cc72 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:bc5eed3804aec2f05fad42aacf973821d9500c174015341f721a984a0825b6fd Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Anthonios Partheniou <partheniou@google.com>
…522) Source-Link: googleapis/synthtool@6b4d5a6 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:f792ee1320e03eda2d13a5281a2989f7ed8a9e50b73ef6da97fac7e1e850b149 Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Source-Link: googleapis/synthtool@453a5d9 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:81ed5ecdfc7cac5b699ba4537376f3563f6f04122c4ec9e735d3b3dc1d43dd32 Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
* chore(deps): update dependency pyarrow to v8 * fix(deps): allow pyarrow v8 * chore(deps): update dependency google-cloud-bigquery to v3.1.0 Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Source-Link: googleapis/synthtool@050953d Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:65e656411895bff71cffcae97246966460160028f253c2e45b7a25d805a5b142 Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
* chore(deps): update all dependencies * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Steffany Brown <30247553+steffnay@users.noreply.github.com>
* chore(python): drop python 3.6 Source-Link: googleapis/synthtool@4f89b13 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:e7bb19d47c13839fe8c147e50e02e8b6cf5da8edd1af8b82208cd6f66cc2829c * remove python 3.6 sample configs * exclude templated README * use python 3.8 for readthedocs build Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
This PR updates the SHA for the librarian language image to match the one [here](https://github.com/googleapis/google-cloud-python/blob/2feb74032fd9c5cc7eaf6072ab03e9e8397bd434/.librarian/state.yaml#L1C1-L1C170). Owlbot related files are also cleaned up --------- Co-authored-by: ohmayr <omairn@google.com>
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: - [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery-pandas/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [ ] Ensure the tests and linter pass - [ ] Code coverage does not decrease (if any source code was changed) - [ ] Appropriate docs were updated (if necessary) Fixes #<issue_number_goes_here> 🦕
PR created by the Librarian CLI to initialize a release. Merging this PR will auto trigger a release. Librarian Version: v0.6.0 Language Image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:c8612d3fffb3f6a32353b2d1abd16b61e87811866f7ec9d65b59b02eb452a620 <details><summary>pandas-gbq: 0.31.0</summary> ## [0.31.0](googleapis/python-bigquery-pandas@v0.30.0...v0.31.0) (2025-11-17) ### Features * add pandas_gbq.sample (#983) ([ac771c12](googleapis/python-bigquery-pandas@ac771c12)) </details> --------- Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Needs testing with the prerelease. 🦕
PR created by the Librarian CLI to initialize a release. Merging this PR will auto trigger a release. Librarian Version: v0.7.0 Language Image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:c8612d3fffb3f6a32353b2d1abd16b61e87811866f7ec9d65b59b02eb452a620 <details><summary>pandas-gbq: 0.31.1</summary> ## [0.31.1](googleapis/python-bigquery-pandas@v0.31.0...v0.31.1) (2025-12-08) </details> --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
This PR fixes two issues causing CI failures: 1. **Boolean Round Trip**: Adjusted the expected DataFrame in `test_dataframe_round_trip_with_table_schema` to correctly handle `pd.NA` returned by the connector for nullable boolean values, instead of `None`. 2. **CSV Extreme Datetimes**: Implemented `cast_dataframe_for_csv` to pre-format `DATETIME` and `TIMESTAMP` columns using `.isoformat()` before CSV serialization. This ensures years before 1000 are zero-padded (e.g., `0001-01-01`), avoiding invalid date string errors from BigQuery when loading data. --- *PR created automatically by Jules for task [5793097527839411486](https://jules.google.com/task/5793097527839411486) started by @chalmerlowe* --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> Co-authored-by: chalmer lowe <chalmerlowe@google.com>
This PR effectively moves ownership for this repo to the python language team, and removes api-bigquery as the defacto code owner.
This PR adds support for Python 3.14 to the library. Key changes include: - Adding Python 3.14 to the test matrix in `.github/workflows/unittest.yml`. - Updating `setup.py` to include the Python 3.14 classifier. - Adding `testing/constraints-3.14.txt`. - Updating `noxfile.py` to include 3.14 sessions, and set default to 3.14. - Updating `CONTRIBUTING.rst` to list Python 3.14 as a supported version. NOTE: The Kokoro Samples 3.14 check will fail. The docker container for running that session does not yet have Python 3.14 in it. That is being done in parallel. The fact that the Samples check does not pass should not prevent this from being merged. NOTE: tweaked a set of tests to no longer use pytz which was a transient dependency in the past but the library that used to install with it no longer does. Moved timezone info from pytz to the standard library's timezone module. --------- Co-authored-by: ohmayr <omairn@google.com> Co-authored-by: Tim Sweña (Swast) <swast@google.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Chalmer Lowe <chalmerlowe@google.com>
PR created by the Librarian CLI to initialize a release. Merging this PR will auto trigger a release. Librarian Version: v0.7.0 Language Image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:c8612d3fffb3f6a32353b2d1abd16b61e87811866f7ec9d65b59b02eb452a620 <details><summary>pandas-gbq: 0.32.0</summary> ## [0.32.0](googleapis/python-bigquery-pandas@v0.31.1...v0.32.0) (2025-12-15) ### Features * Add support for Python 3.14 (#976) ([89b008d8](googleapis/python-bigquery-pandas@89b008d8)) ### Bug Fixes * boolean round-trip test and CSV datetime loading errors (#1000) ([d4431030](googleapis/python-bigquery-pandas@d4431030)) </details>
This change allows the user to run a [dry run query](https://docs.cloud.google.com/bigquery/docs/samples/bigquery-query-dry-run?hl=en) using the `read_gbq` function. Instead of returning a `pd.DataFrame`, the behavior is changed and the amount of data processed (in GB) is returned. --------- Co-authored-by: Shenyang Cai <sycai@users.noreply.github.com> Co-authored-by: Shuowei Li <shuowei@google.com> Co-authored-by: Shenyang Cai <sycai@google.com>
PR created by the Librarian CLI to initialize a release. Merging this PR will auto trigger a release. Librarian Version: v0.7.0 Language Image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:c8612d3fffb3f6a32353b2d1abd16b61e87811866f7ec9d65b59b02eb452a620 <details><summary>pandas-gbq: 0.33.0</summary> ## [0.33.0](googleapis/python-bigquery-pandas@v0.32.0...v0.33.0) (2026-01-05) ### Features * add dry run to the read_gbq function (#979) ([516f986f](googleapis/python-bigquery-pandas@516f986f)) </details> --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
This PR replaces @googleapis/api-bigquery-dataframe with @googleapis/bigquery-dataframe-team and @googleapis/yoshi-python/@googleapis/python-core-client-libraries with @googleapis/cloud-sdk-python-team. b/478003109
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: - [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery-pandas/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [ ] Ensure the tests and linter pass - [ ] Code coverage does not decrease (if any source code was changed) - [ ] Appropriate docs were updated (if necessary) Fixes #<issue_number_goes_here> 🦕
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: - [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery-pandas/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [ ] Ensure the tests and linter pass - [ ] Code coverage does not decrease (if any source code was changed) - [ ] Appropriate docs were updated (if necessary) Fixes #<issue_number_goes_here> 🦕
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: - [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery-pandas/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [ ] Ensure the tests and linter pass - [ ] Code coverage does not decrease (if any source code was changed) - [ ] Appropriate docs were updated (if necessary) Fixes #<issue_number_goes_here> 🦕
PR created by the Librarian CLI to initialize a release. Merging this PR will auto trigger a release. Librarian Version: v0.8.3 Language Image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:c8612d3fffb3f6a32353b2d1abd16b61e87811866f7ec9d65b59b02eb452a620 <details><summary>pandas-gbq: v0.34.0</summary> ## [v0.34.0](googleapis/python-bigquery-pandas@v0.33.0...v0.34.0) (2026-03-05) ### Features * support biglake tables in pandas_gbq.sample (#1014) ([16d08696](googleapis/python-bigquery-pandas@16d08696)) ### Bug Fixes * support pandas 3.0 (prerelease) (#998) ([4ea2d57f](googleapis/python-bigquery-pandas@4ea2d57f)) ### Documentation * Update bigframes links to new homepage (#1028) ([72f772ec](googleapis/python-bigquery-pandas@72f772ec)) </details>
…s/main' into migration.python-bigquery-pandas.migration.2026-03-06_19-24-38.migrate
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request completes a significant structural refactoring by migrating the entire Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request migrates the pandas-gbq package into this monorepo. The changes consist of adding the package source code, tests, documentation, and various configuration files for CI/CD and development. My review focuses on the correctness and consistency of these newly added files.
I've found a few minor issues:
- An invalid
.readthedocs.ymlfile due to a duplicate key. - Some outdated comments in CI scripts and documentation referring to unsupported Python versions.
Overall, this is a large but well-structured migration. Addressing these small issues will improve the quality and maintainability of the new package within the repository.
Note: Security Review did not run due to the size of the PR.
I am having trouble creating individual review comments. Click here to see my feedback.
packages/pandas-gbq/.readthedocs.yml (22)
This file contains a duplicate version: 2 key at the top level (also on line 9), which makes it invalid YAML. Please remove this duplicate key to ensure the file is parsed correctly by ReadTheDocs.
packages/pandas-gbq/.github/workflows/unittest.yml (9)
This comment mentions that ubuntu-22.04 is used because of Python 3.7, but Python 3.7 is not in the test matrix anymore (the minimum is 3.9). This comment seems outdated and could be removed to avoid confusion.
packages/pandas-gbq/.kokoro/test-samples-impl.sh (36)
This comment mentions Python 3.7 compatibility for pinning virtualenv. Since Python 3.7 is no longer supported (the minimum is 3.9), this comment is outdated and could be removed or updated.
packages/pandas-gbq/CONTRIBUTING.rst (198)
The example command nox -s py-3.8 uses Python 3.8, which is no longer supported according to this document (supported versions start from 3.9). Please update the example to use a supported version, for example py-3.9.
$ nox -s py-3.9
See #10988.
This PR should be merged with a merge-commit, not a squash-commit, in order to preserve the git history.