Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on May 7, 2026. It is now read-only.

docs: Add EXIF metadata extraction example to multimodal notebook#2429

Merged
shuoweil merged 13 commits into
maingoogleapis/python-bigquery-dataframes:mainfrom
shuowei-blob-deprecate-exifgoogleapis/python-bigquery-dataframes:shuowei-blob-deprecate-exifCopy head branch name to clipboard
Feb 9, 2026
Merged

docs: Add EXIF metadata extraction example to multimodal notebook#2429
shuoweil merged 13 commits into
maingoogleapis/python-bigquery-dataframes:mainfrom
shuowei-blob-deprecate-exifgoogleapis/python-bigquery-dataframes:shuowei-blob-deprecate-exifCopy head branch name to clipboard

Conversation

@shuoweil

@shuoweil shuoweil commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

This PR updates the notebooks/multimodal/multimodal_dataframe.ipynb notebook to include a comprehensive example of extracting EXIF metadata from images.

Key Changes:

  • Added a new section "7. Extract EXIF metadata from images".
  • Implemented a custom remote function (UDF) using pillow and requests to retrieve and parse EXIF tags from image URLs.
  • Demonstrated how to apply this function efficiently within a BigFrames workflow to analyze image metadata.

This addition provides users with a practical pattern for handling image metadata and using custom libraries within BigQuery DataFrames.

Fixes #<478952827> 🦕

GarrettWu and others added 9 commits February 3, 2026 18:59
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-dataframes/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> 🦕
…tching the backend compiler (#2417)

This change adds `bigframes.pandas.options.experiments.sql_compiler` to
allow switching the backend compiler. Currently, the default remains set
to 'legacy' (ibis), but users can now optionally switch to the
'experimental' (sqlglot) compiler.

Fixes internal issue 479912001🦕
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-dataframes/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> 🦕
This should complete the dev on the client side.

Manually verified: https://screenshot.googleplex.com/jv3UfJCm75dCzwn

Related bug 406578908 🦕
This PR refines the visual feedback provided during operation progress.
Specifically, it prevents the display of a standalone "✅ Completed."
message and green checkmark when no query execution information (like
slot time or bytes processed) is available. This often occurs during
metadata-only operations or cached results where the "Completed" status
is redundant.

Fixes #<479944983> 🦕
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:e7cc6823efb073a8a26e7cefdd869f12ec228abfbd2a44aa9a7eacc284023677
<details><summary>bigframes: 2.34.0</summary>

##
[2.34.0](v2.33.0...v2.34.0)
(2026-02-02)


### Features

* add `bigframes.pandas.options.experiments.sql_compiler` for switching
the backend compiler (#2417)
([7eba6ee](7eba6ee))
* add bigquery.ml.generate_embedding function (#2422)
([35f3f5e](35f3f5e))
* add bigquery.create_external_table method (#2415)
([76db295](76db295))
* add deprecation warnings for .blob accessor and read_gbq_object_table
(#2408)
([7261a4e](7261a4e))
* add bigquery.ml.generate_text function (#2403)
([5ac6810](5ac6810))


### Bug Fixes

* broken job url (#2411)
([fcb5bc1](fcb5bc1))
@shuoweil shuoweil requested a review from GarrettWu February 4, 2026 18:41
@shuoweil shuoweil self-assigned this Feb 4, 2026
@shuoweil shuoweil requested review from a team February 4, 2026 18:41
@review-notebook-app

Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@product-auto-label product-auto-label Bot added size: l Pull request size is large. api: bigquery Issues related to the googleapis/python-bigquery-dataframes API. samples Issues that are directly related to samples. labels Feb 4, 2026
@shuoweil shuoweil marked this pull request as draft February 4, 2026 18:51
@shuoweil shuoweil force-pushed the shuowei-blob-deprecate-exif branch from 9e8ca0f to ecc270c Compare February 4, 2026 22:57
@shuoweil shuoweil marked this pull request as ready for review February 4, 2026 23:07
@GarrettWu

Copy link
Copy Markdown
Contributor

Lets finish updating all the public docs and notebooks, then to actually deprecate the functions.

@product-auto-label product-auto-label Bot added size: m Pull request size is medium. and removed size: l Pull request size is large. labels Feb 7, 2026
@shuoweil shuoweil changed the title feat: Deprecate blob.exif and replace with sample notebook docs: Add EXIF metadata extraction example to multimodal notebook Feb 7, 2026
@shuoweil shuoweil merged commit 84c6f88 into main Feb 9, 2026
24 checks passed
@shuoweil shuoweil deleted the shuowei-blob-deprecate-exif branch February 9, 2026 21:53
tswast pushed a commit that referenced this pull request Feb 18, 2026
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:1a2a85ab507aea26d787c06cc7979decb117164c81dd78a745982dfda80d4f68
<details><summary>bigframes: 2.36.0</summary>

##
[2.36.0](v2.35.0...v2.36.0)
(2026-02-17)

### Features

* Initial support for biglake iceberg tables (#2409)
([ae35a98](ae35a989))

* add bigquery.ai.generate_table function (#2453)
([b925aa2](b925aa24))

### Documentation

* fix generate_text and generate_table input docs (#2455)
([078bd32](078bd32e))

* update multimodal dataframe notebook to use public APIs (#2456)
([342fa72](342fa723))

* use direct API for pdf chunk and pdf extract (#2452)
([543ce52](543ce52c))

* use direct API for audio transcription (#2447)
([59cbc5d](59cbc5db))

* Add EXIF metadata extraction example to multimodal notebook (#2429)
([84c6f88](84c6f883))

* Update multimodal notebook to use public runtime helpers (#2451)
([e36dd8b](e36dd8b4))

</details>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

api: bigquery Issues related to the googleapis/python-bigquery-dataframes API. samples Issues that are directly related to samples. size: m Pull request size is medium.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.