From 772f2acb09f43c3afd214e8778c4b7f4ae9d17a5 Mon Sep 17 00:00:00 2001 From: Trevor Bergeron Date: Wed, 18 Feb 2026 22:01:10 +0000 Subject: [PATCH 1/2] docs: Move readme content to new User Guide section --- README.rst | 3 +-- docs/conf.py | 11 +---------- docs/index.rst | 27 ++++++++++++++++++++++++++- docs/user_guide/index.rst | 11 +++++++++++ 4 files changed, 39 insertions(+), 13 deletions(-) create mode 100644 docs/user_guide/index.rst diff --git a/README.rst b/README.rst index 366062b1d3a..ef9bcd50523 100644 --- a/README.rst +++ b/README.rst @@ -1,8 +1,7 @@ -:orphan: - BigQuery DataFrames (BigFrames) =============================== + |GA| |pypi| |versions| BigQuery DataFrames (also known as BigFrames) provides a Pythonic DataFrame diff --git a/docs/conf.py b/docs/conf.py index 9883467edfa..b4954ac6592 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -118,6 +118,7 @@ "samples/AUTHORING_GUIDE.md", "samples/CONTRIBUTING.md", "samples/snippets/README.rst", + "README.rst", # used for include in overview.rst only ] # The reST default role (used for this markup: `text`) to use for all @@ -163,16 +164,6 @@ "logo": { "text": "BigQuery DataFrames (BigFrames)", }, - "external_links": [ - { - "name": "Getting started", - "url": "https://docs.cloud.google.com/bigquery/docs/dataframes-quickstart", - }, - { - "name": "User guide", - "url": "https://docs.cloud.google.com/bigquery/docs/bigquery-dataframes-introduction", - }, - ], "analytics": { "google_analytics_id": "G-XVSRMCJ37X", }, diff --git a/docs/index.rst b/docs/index.rst index b17ac7cbd9c..b3fb360fad9 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,4 +1,29 @@ -.. include:: README.rst +.. BigQuery DataFrames documentation main file + +Welcome to BigQuery DataFrames +============================== + +**BigQuery DataFrames** (``bigframes``) provides a Pythonic interface for data analysis that scales to petabytes. It gives you the best of both worlds: the familiar API of **pandas** and **scikit-learn**, powered by the distributed computing engine of **BigQuery**. + + +Why BigQuery DataFrames? +------------------------ + +BigFrames allows you to process data where it lives. Instead of downloading massive datasets to your local machine, BigFrames translates your Python code into SQL and executes it across the BigQuery fleet. + +* **Scalability:** Work with datasets that exceed local memory limits. +* **Efficiency:** Minimize data movement and leverage BigQuery's query optimizer. +* **Familiarity:** Use ``read_gbq``, ``merge``, ``groupby``, and ``pivot_table`` just like you do in pandas. +* **Integrated ML:** Access BigQuery ML (BQML) capabilities through a familiar estimator-based interface. + + +User Guide +---------- + +.. toctree:: + :maxdepth: 2 + + user_guide/index API reference ------------- diff --git a/docs/user_guide/index.rst b/docs/user_guide/index.rst new file mode 100644 index 00000000000..18644829b33 --- /dev/null +++ b/docs/user_guide/index.rst @@ -0,0 +1,11 @@ +User Guide +********** + +.. include:: ../README.rst + +.. toctree:: + :caption: Guides + :maxdepth: 1 + + Getting Started + Cloud Docs User Guides From f1438c1a67e7e2d2a9b6d765da0e422a8a4ca491 Mon Sep 17 00:00:00 2001 From: Trevor Bergeron Date: Fri, 20 Feb 2026 18:48:45 +0000 Subject: [PATCH 2/2] update homepage --- docs/index.rst | 40 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index b3fb360fad9..00c59a6745e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -5,16 +5,50 @@ Welcome to BigQuery DataFrames **BigQuery DataFrames** (``bigframes``) provides a Pythonic interface for data analysis that scales to petabytes. It gives you the best of both worlds: the familiar API of **pandas** and **scikit-learn**, powered by the distributed computing engine of **BigQuery**. +BigQuery DataFrames consists of three main components: + +* **bigframes.pandas**: A pandas-compatible API for data exploration and transformation. +* **bigframes.ml**: A scikit-learn-like interface for BigQuery ML, including integration with Gemini. +* **bigframes.bigquery**: Specialized functions for managing BigQuery resources and deploying custom logic. Why BigQuery DataFrames? ------------------------ BigFrames allows you to process data where it lives. Instead of downloading massive datasets to your local machine, BigFrames translates your Python code into SQL and executes it across the BigQuery fleet. -* **Scalability:** Work with datasets that exceed local memory limits. -* **Efficiency:** Minimize data movement and leverage BigQuery's query optimizer. +* **Scalability:** Work with datasets that exceed local memory limits without complex refactoring. +* **Collaboration & Extensibility:** Bridge the gap between Python and SQL. Deploy custom Python functions to BigQuery, making your logic accessible to SQL-based teammates and data analysts. +* **Production-Ready Pipelines:** Move seamlessly from interactive notebooks to production. BigFrames simplifies data engineering by integrating with tools like **dbt** and **Airflow**, offering a simpler operational model than Spark. +* **Security & Governance:** Keep your data within the BigQuery perimeter. Benefit from enterprise-grade security, auditing, and data governance throughout your entire Python workflow. * **Familiarity:** Use ``read_gbq``, ``merge``, ``groupby``, and ``pivot_table`` just like you do in pandas. -* **Integrated ML:** Access BigQuery ML (BQML) capabilities through a familiar estimator-based interface. + +Quickstart +---------- + +Install the library via pip: + +.. code-block:: bash + + pip install --upgrade bigframes + +Load and aggregate a public dataset in just a few lines: + +.. code-block:: python + + import bigframes.pandas as bpd + + # Load data from BigQuery + df = bpd.read_gbq("bigquery-public-data.usa_names.usa_1910_2013") + + # Perform familiar pandas operations at scale + top_names = ( + df.groupby("name") + .agg({"number": "sum"}) + .sort_values("number", ascending=False) + .head(10) + ) + + print(top_names.to_pandas()) User Guide