Skip to content

chore(migration): Migrate code from googleapis/python-bigquery-pandas into packages/pandas-gbq#16047

Draft
parthea wants to merge 530 commits intomainfrom
migration.python-bigquery-pandas.migration.2026-03-06_19-24-38.migrate
Draft

chore(migration): Migrate code from googleapis/python-bigquery-pandas into packages/pandas-gbq#16047
parthea wants to merge 530 commits intomainfrom
migration.python-bigquery-pandas.migration.2026-03-06_19-24-38.migrate

Conversation

@parthea
Copy link
Contributor

@parthea parthea commented Mar 6, 2026

See #10988.

This PR should be merged with a merge-commit, not a squash-commit, in order to preserve the git history.

tswast and others added 30 commits March 8, 2022 13:53
…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>
parthea and others added 20 commits November 4, 2025 15:05
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>
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>
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
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello, 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 python-bigquery-pandas library into a new packages/pandas-gbq directory within the monorepo. This change consolidates the project's codebase, ensuring all source code, documentation, configuration, and tests are organized under the new package structure while preserving development practices and historical integrity.

Highlights

  • Codebase Migration: The entire python-bigquery-pandas library has been migrated into a new packages/pandas-gbq directory, establishing a monorepo structure for the project.
  • Configuration and Documentation Files: Numerous configuration files (e.g., .coveragerc, .flake8, .pre-commit-config.yaml, noxfile.py) and comprehensive documentation files (e.g., AUTHORS.md, CHANGELOG.md, CONTRIBUTING.rst, docs/) have been added to the new packages/pandas-gbq directory.
  • Source Code and Tests Relocation: All Python source code (pandas_gbq/) and associated test files (tests/) have been moved to align with the new package structure under packages/pandas-gbq.
  • Migration Script Update: The single-library.git-migrate-history.sh script was updated to include an additional --recurse-submodules flag for git clone and git filter-branch commands, ensuring proper handling of submodules during the migration process.
Changelog
  • packages/pandas-gbq/.coveragerc
    • Configured code coverage settings for the new package.
  • packages/pandas-gbq/.flake8
    • Configured flake8 linting rules for the new package.
  • packages/pandas-gbq/.gitattributes
    • Defined Git attribute settings for file handling within the new package.
  • packages/pandas-gbq/.gitignore
    • Specified files and directories to be ignored by Git for the new package.
  • packages/pandas-gbq/.librarian/state.yaml
    • Configured librarian state for library management in the new package.
  • packages/pandas-gbq/.pre-commit-config.yaml
    • Configured pre-commit hooks for code quality checks in the new package.
  • packages/pandas-gbq/.readthedocs.yml
    • Configured Read the Docs for documentation building in the new package.
  • packages/pandas-gbq/.repo-metadata.json
    • Defined repository metadata for the new package.
  • packages/pandas-gbq/AUTHORS.md
    • Documented copyright holders and contribution policy for the new package.
  • packages/pandas-gbq/CHANGELOG.md
    • Documented the project's release history, with the latest entry 0.34.0 detailing documentation updates, support for BigLake tables in pandas_gbq.sample, and compatibility with pandas 3.0 prerelease.
  • packages/pandas-gbq/CODE_OF_CONDUCT.md
    • Established the project's code of conduct for the new package.
  • packages/pandas-gbq/CONTRIBUTING.rst
    • Provided guidelines for contributing to the new package.
  • packages/pandas-gbq/LICENSE.txt
    • Included the BSD 3-Clause License for the new package.
  • packages/pandas-gbq/MANIFEST.in
    • Specified files to be included in the source distribution of the new package.
  • packages/pandas-gbq/README.rst
    • Provided an overview and usage instructions for the new package.
  • packages/pandas-gbq/ROADMAP.md
    • Outlined the future development plans and vision for the new package.
  • packages/pandas-gbq/SECURITY.md
    • Documented the security policy and reporting procedure for the new package.
  • packages/pandas-gbq/benchmark/README.md
    • Described the purpose and usage of benchmark scripts for the new package.
  • packages/pandas-gbq/benchmark/read_gbq_large_results.py
    • Added a script for benchmarking large read_gbq results in the new package.
  • packages/pandas-gbq/benchmark/read_gbq_small_results.py
    • Added a script for benchmarking small read_gbq results in the new package.
  • packages/pandas-gbq/docs/Makefile
    • Provided commands for building documentation for the new package.
  • packages/pandas-gbq/docs/_static/custom.css
    • Added custom styles for documentation in the new package.
  • packages/pandas-gbq/docs/_static/js/authcodescripts.js
    • Added JavaScript for authentication code handling in the new package's docs.
  • packages/pandas-gbq/docs/_static/style.css
    • Defined general styles for documentation in the new package.
  • packages/pandas-gbq/docs/_templates/layout.html
    • Customized the documentation layout for the new package.
  • packages/pandas-gbq/docs/api.rst
    • Documented the public API reference for the new package.
  • packages/pandas-gbq/docs/conf.py
    • Configured Sphinx for documentation generation in the new package.
  • packages/pandas-gbq/docs/contributing.rst
    • Detailed documentation on contributing to the new package.
  • packages/pandas-gbq/docs/howto/authentication.rst
    • Provided instructions for authentication in the new package's documentation.
  • packages/pandas-gbq/docs/howto/authentication_highly_constrained_environments.rst
    • Documented authentication for constrained environments in the new package's documentation.
  • packages/pandas-gbq/docs/index.rst
    • Created the main index for the new package's documentation.
  • packages/pandas-gbq/docs/install.rst
    • Provided installation instructions for the new package.
  • packages/pandas-gbq/docs/intro.rst
    • Introduced the pandas-gbq package in its new location.
  • packages/pandas-gbq/docs/oauth.rst
    • Documented OAuth flow for BigQuery sign-in in the new package's documentation.
  • packages/pandas-gbq/docs/privacy.rst
    • Outlined the privacy policy for the new package.
  • packages/pandas-gbq/docs/reading.rst
    • Documented how to read tables from BigQuery using the new package.
  • packages/pandas-gbq/docs/requirements-docs.txt
    • Listed dependencies for building documentation for the new package.
  • packages/pandas-gbq/docs/writing.rst
    • Documented how to write tables to BigQuery using the new package.
  • packages/pandas-gbq/noxfile.py
    • Configured Nox sessions for testing and linting in the new package.
  • packages/pandas-gbq/pandas_gbq/init.py
    • Initialized the pandas_gbq package in its new location.
  • packages/pandas-gbq/pandas_gbq/_versions_helpers.py
    • Provided helper functions for version extraction in the new package.
  • packages/pandas-gbq/pandas_gbq/auth.py
    • Implemented authentication logic for the new package.
  • packages/pandas-gbq/pandas_gbq/constants.py
    • Defined various constants used in the new package.
  • packages/pandas-gbq/pandas_gbq/contexts.py
    • Implemented context management for credentials and project in the new package.
  • packages/pandas-gbq/pandas_gbq/core/init.py
    • Initialized the core subpackage within the new package.
  • packages/pandas-gbq/pandas_gbq/core/biglake.py
    • Implemented utilities for BigLake tables in the new package.
  • packages/pandas-gbq/pandas_gbq/core/pandas.py
    • Provided pandas-related core utilities for the new package.
  • packages/pandas-gbq/pandas_gbq/core/read.py
    • Implemented core functionality for reading data in the new package.
  • packages/pandas-gbq/pandas_gbq/core/resource_references.py
    • Implemented parsing for BigQuery and BigLake table IDs in the new package.
  • packages/pandas-gbq/pandas_gbq/core/sample.py
    • Implemented table sampling functionality in the new package.
  • packages/pandas-gbq/pandas_gbq/dry_runs.py
    • Provided utilities for dry run queries in the new package.
  • packages/pandas-gbq/pandas_gbq/environment.py
    • Implemented environment detection for VS Code and Jupyter in the new package.
  • packages/pandas-gbq/pandas_gbq/exceptions.py
    • Defined custom exception classes for the new package.
  • packages/pandas-gbq/pandas_gbq/features.py
    • Implemented feature detection based on dependency versions in the new package.
  • packages/pandas-gbq/pandas_gbq/gbq.py
    • Contained the main read_gbq and to_gbq functions for the new package.
  • packages/pandas-gbq/pandas_gbq/gbq_connector.py
    • Implemented the BigQuery connector logic for the new package.
  • packages/pandas-gbq/pandas_gbq/load/init.py
    • Initialized the load subpackage within the new package.
  • packages/pandas-gbq/pandas_gbq/load/core.py
    • Implemented core data loading functionality for the new package.
  • packages/pandas-gbq/pandas_gbq/query.py
    • Provided utilities for BigQuery queries in the new package.
  • packages/pandas-gbq/pandas_gbq/schema/init.py
    • Initialized the schema subpackage within the new package.
  • packages/pandas-gbq/pandas_gbq/schema/bigquery.py
    • Implemented BigQuery schema utilities for the new package.
  • packages/pandas-gbq/pandas_gbq/schema/pandas_to_bigquery.py
    • Implemented conversion from pandas DataFrame to BigQuery schema for the new package.
  • packages/pandas-gbq/pandas_gbq/schema/pyarrow_to_bigquery.py
    • Implemented conversion from PyArrow types to BigQuery schema for the new package.
  • packages/pandas-gbq/pandas_gbq/timestamp.py
    • Provided utilities for handling BigQuery TIMESTAMP types in the new package.
  • packages/pandas-gbq/pandas_gbq/version.py
    • Defined the package version for the new package.
  • packages/pandas-gbq/release-procedure.md
    • Documented the release process for the new package.
  • packages/pandas-gbq/renovate.json
    • Configured Renovate bot for dependency updates in the new package.
  • packages/pandas-gbq/requirements-dev.txt
    • Listed development dependencies for the new package.
  • packages/pandas-gbq/requirements.txt
    • Listed production dependencies for the new package.
  • packages/pandas-gbq/samples/snippets/init.py
    • Initialized the samples snippets package within the new package.
  • packages/pandas-gbq/samples/snippets/conftest.py
    • Configured pytest fixtures for samples in the new package.
  • packages/pandas-gbq/samples/snippets/noxfile.py
    • Configured Nox sessions for samples in the new package.
  • packages/pandas-gbq/samples/snippets/noxfile_config.py
    • Provided Nox configuration overrides for samples in the new package.
  • packages/pandas-gbq/samples/snippets/read_gbq_legacy.py
    • Provided a sample for reading BigQuery data using legacy SQL in the new package.
  • packages/pandas-gbq/samples/snippets/read_gbq_simple.py
    • Provided a simple sample for reading BigQuery data in the new package.
  • packages/pandas-gbq/samples/snippets/read_gbq_test.py
    • Implemented system tests for read_gbq samples in the new package.
  • packages/pandas-gbq/samples/snippets/requirements-test.txt
    • Listed test requirements for samples in the new package.
  • packages/pandas-gbq/samples/snippets/requirements.txt
    • Listed dependencies for samples in the new package.
  • packages/pandas-gbq/samples/snippets/to_gbq_simple.py
    • Provided a simple sample for writing data to BigQuery in the new package.
  • packages/pandas-gbq/samples/snippets/to_gbq_test.py
    • Implemented system tests for to_gbq samples in the new package.
  • packages/pandas-gbq/scripts/decrypt-secrets.sh
    • Added a script to decrypt secrets for testing in the new package.
  • packages/pandas-gbq/scripts/readme-gen/readme_gen.py
    • Implemented a script for generating READMEs from templates in the new package.
  • packages/pandas-gbq/scripts/readme-gen/templates/README.tmpl.rst
    • Provided a Jinja2 template for README generation in the new package.
  • packages/pandas-gbq/scripts/readme-gen/templates/auth.tmpl.rst
    • Provided an authentication template for READMEs in the new package.
  • packages/pandas-gbq/scripts/readme-gen/templates/auth_api_key.tmpl.rst
    • Provided an API key authentication template for READMEs in the new package.
  • packages/pandas-gbq/scripts/readme-gen/templates/install_deps.tmpl.rst
    • Provided an install dependencies template for READMEs in the new package.
  • packages/pandas-gbq/scripts/readme-gen/templates/install_portaudio.tmpl.rst
    • Provided a PortAudio installation template for READMEs in the new package.
  • packages/pandas-gbq/setup.py
    • Configured the package for distribution in its new location.
  • packages/pandas-gbq/testing/.gitignore
    • Specified Git ignore rules for testing files in the new package.
  • packages/pandas-gbq/testing/constraints-3.9.txt
    • Defined dependency constraints for Python 3.9 testing in the new package.
  • packages/pandas-gbq/tests/data/dummy_key.json
    • Provided a dummy JSON key for testing in the new package.
  • packages/pandas-gbq/tests/system/init.py
    • Initialized the system tests package within the new package.
  • packages/pandas-gbq/tests/system/conftest.py
    • Configured pytest fixtures for system tests in the new package.
  • packages/pandas-gbq/tests/system/test_auth.py
    • Implemented system tests for authentication in the new package.
  • packages/pandas-gbq/tests/system/test_gbq.py
    • Implemented system tests for the gbq module in the new package.
  • packages/pandas-gbq/tests/system/test_read_gbq.py
    • Implemented system tests for read_gbq functionality in the new package.
  • packages/pandas-gbq/tests/system/test_read_gbq_with_bqstorage.py
    • Implemented system tests for read_gbq using BigQuery Storage API in the new package.
  • packages/pandas-gbq/tests/system/test_sample.py
    • Implemented system tests for table sampling in the new package.
  • packages/pandas-gbq/tests/system/test_to_gbq.py
    • Implemented system tests for to_gbq functionality in the new package.
  • packages/pandas-gbq/tests/unit/init.py
    • Initialized the unit tests package within the new package.
  • packages/pandas-gbq/tests/unit/conftest.py
    • Configured pytest fixtures for unit tests in the new package.
  • packages/pandas-gbq/tests/unit/core/init.py
    • Initialized the core unit tests package within the new package.
  • packages/pandas-gbq/tests/unit/core/test_biglake.py
    • Implemented unit tests for BigLake utilities in the new package.
  • packages/pandas-gbq/tests/unit/core/test_core_resource_references.py
    • Implemented unit tests for resource reference parsing in the new package.
  • packages/pandas-gbq/tests/unit/core/test_core_sample.py
    • Implemented unit tests for core sampling logic in the new package.
  • packages/pandas-gbq/tests/unit/schema/init.py
    • Initialized the schema unit tests package within the new package.
  • packages/pandas-gbq/tests/unit/schema/test_pandas_to_bigquery.py
    • Implemented unit tests for pandas to BigQuery schema conversion in the new package.
  • packages/pandas-gbq/tests/unit/schema/test_pyarrow_to_bigquery.py
    • Implemented unit tests for PyArrow to BigQuery schema conversion in the new package.
  • packages/pandas-gbq/tests/unit/test_auth.py
    • Implemented unit tests for authentication in the new package.
  • packages/pandas-gbq/tests/unit/test_context.py
    • Implemented unit tests for context management in the new package.
  • packages/pandas-gbq/tests/unit/test_dry_runs.py
    • Implemented unit tests for dry run utilities in the new package.
  • packages/pandas-gbq/tests/unit/test_features.py
    • Implemented unit tests for feature detection in the new package.
  • packages/pandas-gbq/tests/unit/test_gbq.py
    • Implemented unit tests for the gbq module in the new package.
  • packages/pandas-gbq/tests/unit/test_load.py
    • Implemented unit tests for data loading functionality in the new package.
  • packages/pandas-gbq/tests/unit/test_query.py
    • Implemented unit tests for query utilities in the new package.
  • packages/pandas-gbq/tests/unit/test_timestamp.py
    • Implemented unit tests for timestamp utilities in the new package.
  • packages/pandas-gbq/tests/unit/test_to_gbq.py
    • Implemented unit tests for to_gbq functionality in the new package.
  • scripts/split_repo_migration/single-library.git-migrate-history.sh
    • Updated the migration script to ensure proper handling of submodules during cloning and filtering operations by adding an extra --recurse-submodules flag.
Activity
  • The pull request description explicitly states to "See Adopt split repo: _python-bigquery-pandas_ #10988", indicating this PR is part of a larger, tracked migration effort.
  • The author has provided specific merge instructions: "This PR should be merged with a merge-commit, not a squash-commit, in order to preserve the git history." This highlights the importance of maintaining a clear and complete commit history during this significant migration.
Using Gemini Code Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

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.yml file 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)

high

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)

medium

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)

medium

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)

medium

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

@parthea parthea added the do not merge Indicates a pull request not ready for merge, due to either quality or timing. label Mar 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge Indicates a pull request not ready for merge, due to either quality or timing.

Projects

None yet

Development

Successfully merging this pull request may close these issues.