Skip to content

Commit bf3c6bb

Browse files
Merge remote-tracking branch 'github/main' into agg_factoring
2 parents 1e53fa9 + 2526448 commit bf3c6bb

File tree

123 files changed

+13376
-707
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+13376
-707
lines changed

.github/workflows/js-tests.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: js-tests
2+
on:
3+
pull_request:
4+
branches:
5+
- main
6+
push:
7+
branches:
8+
- main
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v4
15+
- name: Install modules
16+
working-directory: ./tests/js
17+
run: npm install
18+
- name: Run tests
19+
working-directory: ./tests/js
20+
run: npm test

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ coverage.xml
5858

5959
# System test environment variables.
6060
system_tests/local_test_setup
61+
tests/js/node_modules/
6162

6263
# Make sure a generated file isn't accidentally committed.
6364
pylintrc

.librarian/state.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:c8612d3fffb3f6a32353b2d1abd16b61e87811866f7ec9d65b59b02eb452a620
22
libraries:
33
- id: bigframes
4-
version: 2.28.0
4+
version: 2.31.0
5+
last_generated_commit: ""
56
apis: []
67
source_roots:
78
- .

CHANGELOG.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,54 @@
44

55
[1]: https://pypi.org/project/bigframes/#history
66

7+
## [2.31.0](https://github.com/googleapis/google-cloud-python/compare/bigframes-v2.30.0...bigframes-v2.31.0) (2025-12-10)
8+
9+
10+
### Features
11+
12+
* add `bigframes.bigquery.ml` methods (#2300) ([719b278c844ca80c1bec741873b30a9ee4fd6c56](https://github.com/googleapis/google-cloud-python/commit/719b278c844ca80c1bec741873b30a9ee4fd6c56))
13+
* add 'weekday' property to DatatimeMethod (#2304) ([fafd7c732d434eca3f8b5d849a87149f106e3d5d](https://github.com/googleapis/google-cloud-python/commit/fafd7c732d434eca3f8b5d849a87149f106e3d5d))
14+
15+
16+
### Bug Fixes
17+
18+
* cache DataFrames to temp tables in bigframes.bigquery.ml methods to avoid time travel (#2318) ([d99383195ac3f1683842cfe472cca5a914b04d8e](https://github.com/googleapis/google-cloud-python/commit/d99383195ac3f1683842cfe472cca5a914b04d8e))
19+
20+
## [2.30.0](https://github.com/googleapis/google-cloud-python/compare/bigframes-v2.29.0...bigframes-v2.30.0) (2025-12-03)
21+
22+
23+
### Documentation
24+
25+
* Add Google Analytics configuration to conf.py (#2301) ([0b266da10f4d3d0ef9b4dd71ddadebfc7d5064ca](https://github.com/googleapis/google-cloud-python/commit/0b266da10f4d3d0ef9b4dd71ddadebfc7d5064ca))
26+
* fix LogisticRegression docs rendering (#2295) ([32e531343c764156b45c6fb9de49793d26c19f02](https://github.com/googleapis/google-cloud-python/commit/32e531343c764156b45c6fb9de49793d26c19f02))
27+
* update API reference to new `dataframes.bigquery.dev` location (#2293) ([da064397acd2358c16fdd9659edf23afde5c882a](https://github.com/googleapis/google-cloud-python/commit/da064397acd2358c16fdd9659edf23afde5c882a))
28+
* use autosummary to split documentation pages (#2251) ([f7fd2d20896fe3e0e210c3833b6a4c3913270ebc](https://github.com/googleapis/google-cloud-python/commit/f7fd2d20896fe3e0e210c3833b6a4c3913270ebc))
29+
* update docs and tests for Gemini 2.5 models (#2279) ([08c0c0c8fe8f806f6224dc403a3f1d4db708573a](https://github.com/googleapis/google-cloud-python/commit/08c0c0c8fe8f806f6224dc403a3f1d4db708573a))
30+
31+
32+
### Features
33+
34+
* Allow drop_duplicates over unordered dataframe (#2303) ([52665fa57ef13c58254bfc8736afcc521f7f0f11](https://github.com/googleapis/google-cloud-python/commit/52665fa57ef13c58254bfc8736afcc521f7f0f11))
35+
* Add agg/aggregate methods to windows (#2288) ([c4cb39dcbd388356f5f1c48ff28b19b79b996485](https://github.com/googleapis/google-cloud-python/commit/c4cb39dcbd388356f5f1c48ff28b19b79b996485))
36+
* Implement single-column sorting for interactive table widget (#2255) ([d1ecc61bf448651a0cca0fc760673da54f5c2183](https://github.com/googleapis/google-cloud-python/commit/d1ecc61bf448651a0cca0fc760673da54f5c2183))
37+
* add bigquery.json_keys (#2286) ([b487cf1f6ecacb1ee3b35ffdd934221516bbd558](https://github.com/googleapis/google-cloud-python/commit/b487cf1f6ecacb1ee3b35ffdd934221516bbd558))
38+
* use end user credentials for `bigframes.bigquery.ai` functions when `connection_id` is not present (#2272) ([7c062a68c6a3c9737865985b4f1fd80117490c73](https://github.com/googleapis/google-cloud-python/commit/7c062a68c6a3c9737865985b4f1fd80117490c73))
39+
* pivot_table supports fill_value arg (#2257) ([8f490e68a9a2584236486060ad3b55923781d975](https://github.com/googleapis/google-cloud-python/commit/8f490e68a9a2584236486060ad3b55923781d975))
40+
* Support mixed scalar-analytic expressions (#2239) ([20ab469d29767a2f04fe02aa66797893ecd1c539](https://github.com/googleapis/google-cloud-python/commit/20ab469d29767a2f04fe02aa66797893ecd1c539))
41+
* Support builtins funcs for df.agg (#2256) ([956a5b00dff55b73e3cbebb4e6e81672680f1f63](https://github.com/googleapis/google-cloud-python/commit/956a5b00dff55b73e3cbebb4e6e81672680f1f63))
42+
* Preserve source names better for more readable sql (#2243) ([64995d659837a8576b2ee9335921904e577c7014](https://github.com/googleapis/google-cloud-python/commit/64995d659837a8576b2ee9335921904e577c7014))
43+
* Add bigframes.pandas.crosstab (#2231) ([c62e5535ed4c19b6d65f9a46cb1531e8099621b2](https://github.com/googleapis/google-cloud-python/commit/c62e5535ed4c19b6d65f9a46cb1531e8099621b2))
44+
45+
46+
### Bug Fixes
47+
48+
* Update max_instances default to reflect actual value (#2302) ([4489687eafc9a1ea1b985600010296a4245cef94](https://github.com/googleapis/google-cloud-python/commit/4489687eafc9a1ea1b985600010296a4245cef94))
49+
* Fix issue with stream upload batch size upload limit (#2290) ([6cdf64b0674d0e673f86362032d549316850837b](https://github.com/googleapis/google-cloud-python/commit/6cdf64b0674d0e673f86362032d549316850837b))
50+
* Pass credentials properly for read api instantiation (#2280) ([3e3fe259567d249d91f90786a577b05577e2b9fd](https://github.com/googleapis/google-cloud-python/commit/3e3fe259567d249d91f90786a577b05577e2b9fd))
51+
* Improve Anywidget pagination and display for unknown row counts (#2258) ([508deae5869e06cdad7bb94537c9c58d8f083d86](https://github.com/googleapis/google-cloud-python/commit/508deae5869e06cdad7bb94537c9c58d8f083d86))
52+
* calling info() on empty dataframes no longer leads to errors (#2267) ([95a83f7774766cd19cb583dfaa3417882b5c9b1e](https://github.com/googleapis/google-cloud-python/commit/95a83f7774766cd19cb583dfaa3417882b5c9b1e))
53+
* do not warn with DefaultIndexWarning in partial ordering mode (#2230) ([cc2dbae684103a21fe8838468f7eb8267188780d](https://github.com/googleapis/google-cloud-python/commit/cc2dbae684103a21fe8838468f7eb8267188780d))
54+
755
## [2.29.0](https://github.com/googleapis/python-bigquery-dataframes/compare/v2.28.0...v2.29.0) (2025-11-10)
856

957

README.rst

Lines changed: 18 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,25 @@ BigQuery DataFrames (BigFrames)
66
|GA| |pypi| |versions|
77

88
BigQuery DataFrames (also known as BigFrames) provides a Pythonic DataFrame
9-
and machine learning (ML) API powered by the BigQuery engine.
9+
and machine learning (ML) API powered by the BigQuery engine. It provides modules
10+
for many use cases, including:
1011

11-
* `bigframes.pandas` provides a pandas API for analytics. Many workloads can be
12+
* `bigframes.pandas <https://dataframes.bigquery.dev/reference/api/bigframes.pandas.html>`_
13+
is a pandas API for analytics. Many workloads can be
1214
migrated from pandas to bigframes by just changing a few imports.
13-
* ``bigframes.ml`` provides a scikit-learn-like API for ML.
15+
* `bigframes.ml <https://dataframes.bigquery.dev/reference/index.html#ml-apis>`_
16+
is a scikit-learn-like API for ML.
17+
* `bigframes.bigquery.ai <https://dataframes.bigquery.dev/reference/api/bigframes.bigquery.ai.html>`_
18+
are a collection of powerful AI methods, powered by Gemini.
1419

15-
BigQuery DataFrames is an open-source package.
20+
BigQuery DataFrames is an `open-source package <https://github.com/googleapis/python-bigquery-dataframes>`_.
1621

17-
**Version 2.0 introduces breaking changes for improved security and performance. See below for details.**
22+
.. |GA| image:: https://img.shields.io/badge/support-GA-gold.svg
23+
:target: https://github.com/googleapis/google-cloud-python/blob/main/README.rst#general-availability
24+
.. |pypi| image:: https://img.shields.io/pypi/v/bigframes.svg
25+
:target: https://pypi.org/project/bigframes/
26+
.. |versions| image:: https://img.shields.io/pypi/pyversions/bigframes.svg
27+
:target: https://pypi.org/project/bigframes/
1828

1929
Getting started with BigQuery DataFrames
2030
----------------------------------------
@@ -38,7 +48,8 @@ To use BigFrames in your local development environment,
3848
3949
import bigframes.pandas as bpd
4050
41-
bpd.options.bigquery.project = your_gcp_project_id
51+
bpd.options.bigquery.project = your_gcp_project_id # Optional in BQ Studio.
52+
bpd.options.bigquery.ordering_mode = "partial" # Recommended for performance.
4253
df = bpd.read_gbq("bigquery-public-data.usa_names.usa_1910_2013")
4354
print(
4455
df.groupby("name")
@@ -48,49 +59,16 @@ To use BigFrames in your local development environment,
4859
.to_pandas()
4960
)
5061
51-
5262
Documentation
5363
-------------
5464

5565
To learn more about BigQuery DataFrames, visit these pages
5666

5767
* `Introduction to BigQuery DataFrames (BigFrames) <https://cloud.google.com/bigquery/docs/bigquery-dataframes-introduction>`_
5868
* `Sample notebooks <https://github.com/googleapis/python-bigquery-dataframes/tree/main/notebooks>`_
59-
* `API reference <https://cloud.google.com/python/docs/reference/bigframes/latest/summary_overview>`_
69+
* `API reference <https://dataframes.bigquery.dev/>`_
6070
* `Source code (GitHub) <https://github.com/googleapis/python-bigquery-dataframes>`_
6171

62-
⚠️ Warning: Breaking Changes in BigQuery DataFrames v2.0
63-
--------------------------------------------------------
64-
65-
Version 2.0 introduces breaking changes for improved security and performance. Key default behaviors have changed, including
66-
67-
* **Large Results (>10GB):** The default value for ``allow_large_results`` has changed to ``False``.
68-
Methods like ``to_pandas()`` will now fail if the query result's compressed data size exceeds 10GB,
69-
unless large results are explicitly permitted.
70-
* **Remote Function Security:** The library no longer automatically lets the Compute Engine default service
71-
account become the identity of the Cloud Run functions. If that is desired, it has to be indicated by passing
72-
``cloud_function_service_account="default"``. And network ingress now defaults to ``"internal-only"``.
73-
* **@remote_function Argument Passing:** Arguments other than ``input_types``, ``output_type``, and ``dataset``
74-
to ``remote_function`` must now be passed using keyword syntax, as positional arguments are no longer supported.
75-
* **@udf Argument Passing:** Arguments ``dataset`` and ``name`` to ``udf`` are now mandatory.
76-
* **Endpoint Connections:** Automatic fallback to locational endpoints in certain regions is removed.
77-
* **LLM Updates (Gemini Integration):** Integrations now default to the ``gemini-2.0-flash-001`` model.
78-
PaLM2 support has been removed; please migrate any existing PaLM2 usage to Gemini. **Note:** The current default
79-
model will be removed in Version 3.0.
80-
81-
**Important:** If you are not ready to adapt to these changes, please pin your dependency to a version less than 2.0
82-
(e.g., ``bigframes==1.42.0``) to avoid disruption.
83-
84-
To learn about these changes and how to migrate to version 2.0, see the
85-
`updated introduction guide <https://cloud.google.com/bigquery/docs/bigquery-dataframes-introduction>`_.
86-
87-
.. |GA| image:: https://img.shields.io/badge/support-GA-gold.svg
88-
:target: https://github.com/googleapis/google-cloud-python/blob/main/README.rst#general-availability
89-
.. |pypi| image:: https://img.shields.io/pypi/v/bigframes.svg
90-
:target: https://pypi.org/project/bigframes/
91-
.. |versions| image:: https://img.shields.io/pypi/pyversions/bigframes.svg
92-
:target: https://pypi.org/project/bigframes/
93-
9472
License
9573
-------
9674

bigframes/bigquery/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import sys
2020

21-
from bigframes.bigquery import ai
21+
from bigframes.bigquery import ai, ml
2222
from bigframes.bigquery._operations.approx_agg import approx_top_count
2323
from bigframes.bigquery._operations.array import (
2424
array_agg,
@@ -157,4 +157,5 @@
157157
"struct",
158158
# Modules / SQL namespaces
159159
"ai",
160+
"ml",
160161
]

0 commit comments

Comments
 (0)