Skip to content

chore(migration): Migrate code from googleapis/python-bigquery-sqlalchemy into packages/sqlalchemy-bigquery#16046

Open
parthea wants to merge 568 commits intomainfrom
migration.python-bigquery-sqlalchemy.migration.2026-03-06_19-24-38.migrate
Open

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

Conversation

@parthea
Copy link
Contributor

@parthea parthea commented Mar 6, 2026

See #10990.

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

renovate-bot and others added 30 commits January 5, 2022 11:44
* chore(deps): update all dependencies

* remove transitive deps

* more transitive deps

* more transitive deps

* more transitive deps

* lock sqlalchemy version for now

* reset sqlalchemy version

Co-authored-by: Tim Swast <swast@google.com>
Source-Link: googleapis/synthtool@52aef91
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:36a95b8f494e4674dc9eee9af98961293b51b86b3649942aac800ae6c1f796d4

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Source-Link: googleapis/synthtool@69fda12
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:ae600f36b6bc972b368367b6f83a1d91ec2c82a4a116b383d67d547c56fe6de3

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
* chore(deps): update all dependencies

* deps: try sqlalchemy 1.4.28

* try 1.4.27

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* try 1.4.26

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Co-authored-by: Tim Swast <swast@google.com>
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [geoalchemy2](https://geoalchemy-2.readthedocs.io/en/latest/) | `==0.10.1` -> `==0.10.2` | [![age](https://badges.renovateapi.com/packages/pypi/geoalchemy2/0.10.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/geoalchemy2/0.10.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/geoalchemy2/0.10.2/compatibility-slim/0.10.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/geoalchemy2/0.10.2/confidence-slim/0.10.1)](https://docs.renovatebot.com/merge-confidence/) |
| [google-api-core](https://togithub.com/googleapis/python-api-core) | `==2.3.2` -> `==2.4.0` | [![age](https://badges.renovateapi.com/packages/pypi/google-api-core/2.4.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-api-core/2.4.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-api-core/2.4.0/compatibility-slim/2.3.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-api-core/2.4.0/confidence-slim/2.3.2)](https://docs.renovatebot.com/merge-confidence/) |
| [google-cloud-bigquery](https://togithub.com/googleapis/python-bigquery) | `==2.31.0` -> `==2.32.0` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.32.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.32.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.32.0/compatibility-slim/2.31.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/2.32.0/confidence-slim/2.31.0)](https://docs.renovatebot.com/merge-confidence/) |
| [protobuf](https://developers.google.com/protocol-buffers/) | `==3.19.1` -> `==3.19.3` | [![age](https://badges.renovateapi.com/packages/pypi/protobuf/3.19.3/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/protobuf/3.19.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/protobuf/3.19.3/compatibility-slim/3.19.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/protobuf/3.19.3/confidence-slim/3.19.1)](https://docs.renovatebot.com/merge-confidence/) |
| [sqlalchemy](https://www.sqlalchemy.org) ([changelog](https://docs.sqlalchemy.org/en/latest/changelog/)) | `>=1.2.0,<=1.4.26` -> `>=1.2.0,<=1.4.29` | [![age](https://badges.renovateapi.com/packages/pypi/sqlalchemy/1.4.29/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/sqlalchemy/1.4.29/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/sqlalchemy/1.4.29/compatibility-slim/1.4.26)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/sqlalchemy/1.4.29/confidence-slim/1.4.26)](https://docs.renovatebot.com/merge-confidence/) |
| [sqlalchemy](https://www.sqlalchemy.org) ([changelog](https://docs.sqlalchemy.org/en/latest/changelog/)) | `==1.4.26` -> `==1.4.29` | [![age](https://badges.renovateapi.com/packages/pypi/sqlalchemy/1.4.29/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/sqlalchemy/1.4.29/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/sqlalchemy/1.4.29/compatibility-slim/1.4.26)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/sqlalchemy/1.4.29/confidence-slim/1.4.26)](https://docs.renovatebot.com/merge-confidence/) |
| [urllib3](https://urllib3.readthedocs.io/) ([source](https://togithub.com/urllib3/urllib3)) | `==1.26.7` -> `==1.26.8` | [![age](https://badges.renovateapi.com/packages/pypi/urllib3/1.26.8/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/urllib3/1.26.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/urllib3/1.26.8/compatibility-slim/1.26.7)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/urllib3/1.26.8/confidence-slim/1.26.7)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>googleapis/python-api-core</summary>

### [`v2.4.0`](https://togithub.com/googleapis/python-api-core/blob/HEAD/CHANGELOG.md#&#8203;240-httpswwwgithubcomgoogleapispython-api-corecomparev232v240-2022-01-11)

[Compare Source](https://togithub.com/googleapis/python-api-core/compare/v2.3.2...v2.4.0)

##### Features

-   add support for 'error_info' ([#&#8203;315](https://www.togithub.com/googleapis/python-api-core/issues/315)) ([cc46aa6](https://www.github.com/googleapis/python-api-core/commit/cc46aa68ec184871330d16a6c767f57a4f0eb633))
-   iterator for processing JSON responses in REST streaming. ([#&#8203;317](https://www.togithub.com/googleapis/python-api-core/issues/317)) ([f9f2696](https://www.github.com/googleapis/python-api-core/commit/f9f26969842b456ea372bed941d712b7a9ab7239))

</details>

<details>
<summary>googleapis/python-bigquery</summary>

### [`v2.32.0`](https://togithub.com/googleapis/python-bigquery/blob/HEAD/CHANGELOG.md#&#8203;2320-httpsgithubcomgoogleapispython-bigquerycomparev2310v2320-2022-01-12)

[Compare Source](https://togithub.com/googleapis/python-bigquery/compare/v2.31.0...v2.32.0)

##### Features

-   support authorized dataset entity ([#&#8203;1075](https://togithub.com/googleapis/python-bigquery/issues/1075)) ([c098cd0](https://togithub.com/googleapis/python-bigquery/commit/c098cd01c755633bfaba7193dd5c044a489a5b61))

##### Bug Fixes

-   remove query text from exception message, use `exception.debug_message` instead ([#&#8203;1105](https://togithub.com/googleapis/python-bigquery/issues/1105)) ([e23114c](https://togithub.com/googleapis/python-bigquery/commit/e23114ce362e09ac72f733a640e53a561cc9ce69))

</details>

<details>
<summary>urllib3/urllib3</summary>

### [`v1.26.8`](https://togithub.com/urllib3/urllib3/releases/1.26.8)

[Compare Source](https://togithub.com/urllib3/urllib3/compare/1.26.7...1.26.8)

**If you or your organization rely on urllib3 consider supporting us via [GitHub Sponsors](https://togithub.com/sponsors/urllib3).**

⚠️ **urllib3 v2.0 will drop support for Python 2**: [Read more in the v2.0 Roadmap](https://urllib3.readthedocs.io/en/latest/v2-roadmap.html)

:warning: **This release will be the last release supporting Python 3.5. Please upgrade to a non-EOL Python version.**

-   Added extra message to`urllib3.exceptions.ProxyError` when urllib3 detects that a proxy is configured to use HTTPS but the proxy itself appears to only use HTTP.
-   Added a mention of the size of the connection pool when discarding a connection due to the pool being full.
-   Added explicit support for Python 3.11.
-   Deprecated the `Retry.MAX_BACKOFF` class property in favor of `Retry.DEFAULT_MAX_BACKOFF` to better match the rest of the default parameter names. `Retry.MAX_BACKOFF` is removed in v2.0.
-   Changed location of the vendored `ssl.match_hostname` function from `urllib3.packages.ssl_match_hostname` to `urllib3.util.ssl_match_hostname` to ensure Python 3.10+ compatibility after being repackaged by downstream distributors.
-   Fixed absolute imports, all imports are now relative.

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-bigquery-sqlalchemy).
Source-Link: googleapis/synthtool@4760d8d
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:f0e4b51deef56bed74d3e2359c583fc104a8d6367da3984fc5c66938db738828

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
* ci(python): run lint / unit tests / docs as GH actions

Source-Link: googleapis/synthtool@57be0cd
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:ed1f9983d5a935a89fe8085e8bb97d94e41015252c5b6c9771257cf8624367e6

* add commit to trigger gh actions

* exclude templated github actions

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Anthonios Partheniou <partheniou@google.com>
* chore: add custom sync repo settings

* add required checks for samples

* Update .github/sync-repo-settings.yaml

Co-authored-by: Tim Swast <swast@google.com>
…te compliance tests (#401)

* test: add prerelease session to test with latest dependencies

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* Revert "🦉 Updates from OwlBot"

This reverts commit 01aca604c47d42444f6a01dcde7653ccced13b1b.

* Avoid owlbot from overwriting my changes

* split compliance and prerelease tests out

* remove newline escape

* escape regex

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* remove unused [all]

* disallow latest pytest due to incompatibilities

* only use single python for compliance testing

* comment about transitive deps

Also, remove google-resumable-media from prerelease tests, as this package does
not use load jobs.

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Fixes #409 🦕 To enable credential information to be included in the connection URL, for cases where you don't have a credentials file locally on the client, I propose the `credentials_base64` parameter. It requires that the user have encoded their credentials JSON file using a number of techniques like `base64`, or `openssl base64`, or `python -m base64`, or www.base64encode.org.

I have used nox to run unit and system tests for Python 3.6 - 3.9. I'm tracking down a separate issue with my computer for why 3.10 tests did not run.


- [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery-sqlalchemy/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
* fix: POSTCOMPILE expansion in SQLAlchemy 1.4.27+

Handle the new double underscore prefix for POSTCOMPILE variables introduced in this version.

* build: Widen sqlalchemy version support to include 1.4.27

* fix: IN expansion compliance test

* fix(coverage): skip expansion coverage checks
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Source-Link: googleapis/synthtool@82f5cb2
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:5d8da01438ece4021d135433f2cf3227aa39ef0eaccc941d62aa35e6902832ae

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Anthonios Partheniou <partheniou@google.com>
* chore(deps): update all dependencies

* revert change

* limit max supported version for sqlalchemy to 1.4.27

* revert change

* revert change

* fix typo

* fix typo

Co-authored-by: Anthonios Partheniou <partheniou@google.com>
* chore(deps): update all dependencies

* revert

* revert

* revert

* revert

Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
* chore(deps): update all dependencies

* revert

* revert

* revert

* revert

Co-authored-by: Anthonios Partheniou <partheniou@google.com>
* chore(deps): update all dependencies

* revert

* revert

* revert

* revert

Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Remove the engine fixture from unit tests and use faux_conn instead. Creating
an engine requires credentials, which prevents these tests from being pure unit
tests and running in any environment.

Fixes #430 🦕
use explicit rather than implicit relative imports

Fixes #432 🦕
…ing (#414)

The wrapped DB-API uses google-cloud-bigquery-storage to download query
results by default. It raises a warning and falls back to the REST API
if google-cloud-bigquery-storage is not installed.

The google-cloud-bigquery version 3.x library is tested in #401 and it does not include any breaking changes that should affect the SQLAlchemy connector.

deps: allow google-cloud-bigquery version 3.x

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-sqlalchemy/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> 🦕
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@6fab84a
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:7cffbc10910c3ab1b852c05114a08d374c195a81cdec1d4a67a1d129331d0bfe
* chore(deps): update all dependencies

* revert changes

* revert sqlalchemy

* revert pytest

* revert pytest

* chore: update grpcio to match grpcio-status

Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Source-Link: googleapis/synthtool@7ff4aad
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:462782b0b492346b2d9099aaff52206dd30bc8e031ea97082e6facecc2373244
@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
@chalmerlowe chalmerlowe self-assigned this Mar 9, 2026
@chalmerlowe
Copy link
Contributor

Basic processing and cleanup is complete. Gonna do some focused work on getting presubmits to pass.

@parthea parthea marked this pull request as ready for review March 10, 2026 13:34
@parthea parthea requested review from a team as code owners March 10, 2026 13:34
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.