⚠️ Warning: Breaking Changes in BigQuery DataFrames v2.0
Version 2.0 introduces breaking changes for improved security and performance. Key default behaviors have changed, including
Large Results (>10GB): The default value for allow_large_results has changed to False.
Methods like to_pandas() will now fail if the query result’s compressed data size exceeds 10GB,
unless large results are explicitly permitted.
Remote Function Security: The library no longer automatically lets the Compute Engine default service
account become the identity of the Cloud Run functions. If that is desired, it has to be indicated by passing
cloud_function_service_account="default". And network ingress now defaults to "internal-only".
@remote_function Argument Passing: Arguments other than input_types, output_type, and dataset
to remote_function must now be passed using keyword syntax, as positional arguments are no longer supported.
@udf Argument Passing: Arguments dataset and name to udf are now mandatory.
Endpoint Connections: Automatic fallback to locational endpoints in certain regions is removed.
LLM Updates (Gemini Integration): Integrations now default to the gemini-2.0-flash-001 model.
PaLM2 support has been removed; please migrate any existing PaLM2 usage to Gemini. Note: The current default
model will be removed in Version 3.0.
Important: If you are not ready to adapt to these changes, please pin your dependency to a version less than 2.0
(e.g., bigframes==1.42.0) to avoid disruption.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["Version latestkeyboard_arrow_down\n\n- [2.17.0 (latest)](/python/docs/reference/bigframes/latest)\n- [2.16.0](/python/docs/reference/bigframes/2.16.0)\n- [2.15.0](/python/docs/reference/bigframes/2.15.0)\n- [2.14.0](/python/docs/reference/bigframes/2.14.0)\n- [2.13.0](/python/docs/reference/bigframes/2.13.0)\n- [2.12.0](/python/docs/reference/bigframes/2.12.0)\n- [2.11.0](/python/docs/reference/bigframes/2.11.0)\n- [2.10.0](/python/docs/reference/bigframes/2.10.0)\n- [2.9.0](/python/docs/reference/bigframes/2.9.0)\n- [2.8.0](/python/docs/reference/bigframes/2.8.0)\n- [2.7.0](/python/docs/reference/bigframes/2.7.0)\n- [2.6.0](/python/docs/reference/bigframes/2.6.0)\n- [2.5.0](/python/docs/reference/bigframes/2.5.0)\n- [2.4.0](/python/docs/reference/bigframes/2.4.0)\n- [2.3.0](/python/docs/reference/bigframes/2.3.0)\n- [2.2.0](/python/docs/reference/bigframes/2.2.0)\n- [2.1.0](/python/docs/reference/bigframes/2.1.0)\n- [2.0.0](/python/docs/reference/bigframes/2.0.0)\n- [1.42.0](/python/docs/reference/bigframes/1.42.0)\n- [1.41.0](/python/docs/reference/bigframes/1.41.0)\n- [1.40.0](/python/docs/reference/bigframes/1.40.0)\n- [1.39.0](/python/docs/reference/bigframes/1.39.0)\n- [1.38.0](/python/docs/reference/bigframes/1.38.0)\n- [1.37.0](/python/docs/reference/bigframes/1.37.0)\n- [1.36.0](/python/docs/reference/bigframes/1.36.0)\n- [1.35.0](/python/docs/reference/bigframes/1.35.0)\n- [1.34.0](/python/docs/reference/bigframes/1.34.0)\n- [1.33.0](/python/docs/reference/bigframes/1.33.0)\n- [1.32.0](/python/docs/reference/bigframes/1.32.0)\n- [1.31.0](/python/docs/reference/bigframes/1.31.0)\n- [1.30.0](/python/docs/reference/bigframes/1.30.0)\n- [1.29.0](/python/docs/reference/bigframes/1.29.0)\n- [1.28.0](/python/docs/reference/bigframes/1.28.0)\n- [1.27.0](/python/docs/reference/bigframes/1.27.0)\n- [1.26.0](/python/docs/reference/bigframes/1.26.0)\n- [1.25.0](/python/docs/reference/bigframes/1.25.0)\n- [1.24.0](/python/docs/reference/bigframes/1.24.0)\n- [1.22.0](/python/docs/reference/bigframes/1.22.0)\n- [1.21.0](/python/docs/reference/bigframes/1.21.0)\n- [1.20.0](/python/docs/reference/bigframes/1.20.0)\n- [1.19.0](/python/docs/reference/bigframes/1.19.0)\n- [1.18.0](/python/docs/reference/bigframes/1.18.0)\n- [1.17.0](/python/docs/reference/bigframes/1.17.0)\n- [1.16.0](/python/docs/reference/bigframes/1.16.0)\n- [1.15.0](/python/docs/reference/bigframes/1.15.0)\n- [1.14.0](/python/docs/reference/bigframes/1.14.0)\n- [1.13.0](/python/docs/reference/bigframes/1.13.0)\n- [1.12.0](/python/docs/reference/bigframes/1.12.0)\n- [1.11.1](/python/docs/reference/bigframes/1.11.1)\n- [1.10.0](/python/docs/reference/bigframes/1.10.0)\n- [1.9.0](/python/docs/reference/bigframes/1.9.0)\n- [1.8.0](/python/docs/reference/bigframes/1.8.0)\n- [1.7.0](/python/docs/reference/bigframes/1.7.0)\n- [1.6.0](/python/docs/reference/bigframes/1.6.0)\n- [1.5.0](/python/docs/reference/bigframes/1.5.0)\n- [1.4.0](/python/docs/reference/bigframes/1.4.0)\n- [1.3.0](/python/docs/reference/bigframes/1.3.0)\n- [1.2.0](/python/docs/reference/bigframes/1.2.0)\n- [1.1.0](/python/docs/reference/bigframes/1.1.0)\n- [1.0.0](/python/docs/reference/bigframes/1.0.0)\n- [0.26.0](/python/docs/reference/bigframes/0.26.0)\n- [0.25.0](/python/docs/reference/bigframes/0.25.0)\n- [0.24.0](/python/docs/reference/bigframes/0.24.0)\n- [0.23.0](/python/docs/reference/bigframes/0.23.0)\n- [0.22.0](/python/docs/reference/bigframes/0.22.0)\n- [0.21.0](/python/docs/reference/bigframes/0.21.0)\n- [0.20.1](/python/docs/reference/bigframes/0.20.1)\n- [0.19.2](/python/docs/reference/bigframes/0.19.2)\n- [0.18.0](/python/docs/reference/bigframes/0.18.0)\n- [0.17.0](/python/docs/reference/bigframes/0.17.0)\n- [0.16.0](/python/docs/reference/bigframes/0.16.0)\n- [0.15.0](/python/docs/reference/bigframes/0.15.0)\n- [0.14.1](/python/docs/reference/bigframes/0.14.1)\n- [0.13.0](/python/docs/reference/bigframes/0.13.0)\n- [0.12.0](/python/docs/reference/bigframes/0.12.0)\n- [0.11.0](/python/docs/reference/bigframes/0.11.0)\n- [0.10.0](/python/docs/reference/bigframes/0.10.0)\n- [0.9.0](/python/docs/reference/bigframes/0.9.0)\n- [0.8.0](/python/docs/reference/bigframes/0.8.0)\n- [0.7.0](/python/docs/reference/bigframes/0.7.0)\n- [0.6.0](/python/docs/reference/bigframes/0.6.0)\n- [0.5.0](/python/docs/reference/bigframes/0.5.0)\n- [0.4.0](/python/docs/reference/bigframes/0.4.0)\n- [0.3.0](/python/docs/reference/bigframes/0.3.0)\n- [0.2.0](/python/docs/reference/bigframes/0.2.0) \n\nBigQuery DataFrames (BigFrames)\n===============================\n\n[](https://github.com/googleapis/google-cloud-python/blob/main/README.rst#general-availability) [](https://pypi.org/project/bigframes/) [](https://pypi.org/project/bigframes/)\n\nBigQuery DataFrames (also known as BigFrames) provides a Pythonic DataFrame\nand machine learning (ML) API powered by the BigQuery engine.\n\n- bigframes.pandas provides a pandas API for analytics. Many workloads can be\n migrated from pandas to bigframes by just changing a few imports.\n\n- `bigframes.ml` provides a scikit-learn-like API for ML.\n\nBigQuery DataFrames is an open-source package.\n\n**Version 2.0 introduces breaking changes for improved security and performance. See below for details.**\n\nGetting started with BigQuery DataFrames\n----------------------------------------\n\nThe easiest way to get started is to try the\n[BigFrames quickstart](https://cloud.google.com/bigquery/docs/dataframes-quickstart)\nin a [notebook in BigQuery Studio](https://cloud.google.com/bigquery/docs/notebooks-introduction).\n\nTo use BigFrames in your local development environment,\n\n1. Run `pip install --upgrade bigframes` to install the latest version.\n\n2. Setup [Application default credentials](https://cloud.google.com/docs/authentication/set-up-adc-local-dev-environment)\n for your local development environment enviroment.\n\n3. Create a [GCP project with the BigQuery API enabled](https://cloud.google.com/bigquery/docs/sandbox).\n\n4. Use the `bigframes` package to query data.\n\n import bigframes.pandas as bpd\n\n bpd.options.bigquery.project = your_gcp_project_id\n df = bpd.read_gbq(\"bigquery-public-data.usa_names.usa_1910_2013\")\n print(\n df.groupby(\"name\")\n .agg({\"number\": \"sum\"})\n .sort_values(\"number\", ascending=False)\n .head(10)\n .to_pandas()\n )\n\nDocumentation\n-------------\n\nTo learn more about BigQuery DataFrames, visit these pages\n\n- [Introduction to BigQuery DataFrames (BigFrames)](https://cloud.google.com/bigquery/docs/bigquery-dataframes-introduction)\n\n- [Sample notebooks](https://github.com/googleapis/python-bigquery-dataframes/tree/main/notebooks)\n\n- [API reference](https://cloud.google.com/python/docs/reference/bigframes/latest/summary_overview)\n\n- [Source code (GitHub)](https://github.com/googleapis/python-bigquery-dataframes)\n\n⚠️ Warning: Breaking Changes in BigQuery DataFrames v2.0\n--------------------------------------------------------\n\nVersion 2.0 introduces breaking changes for improved security and performance. Key default behaviors have changed, including\n\n- **Large Results (\\\u003e10GB):** The default value for `allow_large_results` has changed to `False`.\n Methods like `to_pandas()` will now fail if the query result's compressed data size exceeds 10GB,\n unless large results are explicitly permitted.\n\n- **Remote Function Security:** The library no longer automatically lets the Compute Engine default service\n account become the identity of the Cloud Run functions. If that is desired, it has to be indicated by passing\n `cloud_function_service_account=\"default\"`. And network ingress now defaults to `\"internal-only\"`.\n\n- **@remote_function Argument Passing:** Arguments other than `input_types`, `output_type`, and `dataset`\n to `remote_function` must now be passed using keyword syntax, as positional arguments are no longer supported.\n\n- **@udf Argument Passing:** Arguments `dataset` and `name` to `udf` are now mandatory.\n\n- **Endpoint Connections:** Automatic fallback to locational endpoints in certain regions is removed.\n\n- **LLM Updates (Gemini Integration):** Integrations now default to the `gemini-2.0-flash-001` model.\n PaLM2 support has been removed; please migrate any existing PaLM2 usage to Gemini. **Note:** The current default\n model will be removed in Version 3.0.\n\n**Important:** If you are not ready to adapt to these changes, please pin your dependency to a version less than 2.0\n(e.g., `bigframes==1.42.0`) to avoid disruption.\n\nTo learn about these changes and how to migrate to version 2.0, see the\n[updated introduction guide](https://cloud.google.com/bigquery/docs/bigquery-dataframes-introduction).\n\nLicense\n-------\n\nBigQuery DataFrames is distributed with the [Apache-2.0 license](https://github.com/googleapis/python-bigquery-dataframes/blob/main/LICENSE).\n\nIt also contains code derived from the following third-party packages:\n\n- [Ibis](https://ibis-project.org/)\n\n- [pandas](https://pandas.pydata.org/)\n\n- [Python](https://www.python.org/)\n\n- [scikit-learn](https://scikit-learn.org/)\n\n- [XGBoost](https://xgboost.readthedocs.io/en/stable/)\n\nFor details, see the [third_party](https://github.com/googleapis/python-bigquery-dataframes/tree/main/third_party/bigframes_vendored)\ndirectory.\n\nContact Us\n----------\n\nFor further help and provide feedback, you can email us at [bigframes-feedback@google.com](https://mail.google.com/mail/?view=cm&fs=1&tf=1&to=bigframes-feedback@google.com)."]]