Skip to content

chore(v1): release 1.42.0 #1567

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 42 commits into
base: v1
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
54e63ea
chore: configure CI for 1.x branch (#1528)
shobsi Mar 24, 2025
bcf85c0
chore: remove unused import in function.py (#1502)
jialuoo Mar 19, 2025
9d438d5
feat: Allow iloc to support lists of negative indices (#1497)
Genesis929 Mar 19, 2025
a29a751
feat: Support dry_run in `to_pandas()` (#1436)
sycai Mar 19, 2025
e439e67
feat: add df.take and series.take (#1509)
Genesis929 Mar 19, 2025
7796d03
chore: Ignore mypy false positive (#1515)
TrevorBergeron Mar 20, 2025
266d2ef
chore: runs 'pip freeze' in system tests for debugging (#1504)
chelsea-lin Mar 20, 2025
92d7445
fix: change the default value for pdf extract/chunk (#1517)
shuoweil Mar 20, 2025
6374662
fix: tolerate BQ connection service account propagation delay (#1505)
shobsi Mar 20, 2025
345b7c0
chore: Covid notebook uses partial ordering mode (#1518)
TrevorBergeron Mar 20, 2025
b9b7239
chore: throws NotImplementedError when read_pandas with nested JSON t…
chelsea-lin Mar 20, 2025
47f467e
perf: update shape to use quer_and_wait (#1519)
Genesis929 Mar 21, 2025
c983026
refactor: Separate dataset id generation from temp table management (…
TrevorBergeron Mar 21, 2025
e12c7d8
feat: add `GeoSeries.difference()` and `bigframes.bigquery.st_differe…
arwas11 Mar 21, 2025
873709e
test: fix json tests fail locally with disable allow_large_results (#…
chelsea-lin Mar 21, 2025
65fd038
chore: ensure udfs are actively deleted, make pre-commit mypy dep con…
shobsi Mar 24, 2025
9d5d280
fix: read_pandas inline returns None when exceeds limit (#1525)
chelsea-lin Mar 24, 2025
96838ed
chore: disable managed function tests temporarily (#1532)
shobsi Mar 25, 2025
85801e6
docs: update `GeoSeries.difference()` and `bigframes.bigquery.st_diff…
arwas11 Mar 25, 2025
c0f7e17
chore: allow PRECEDING and FOLLOWING to appear on both side of BETWEE…
sycai Mar 25, 2025
0bddfcf
chore: include source columns in semantics.top_k (#1531)
chelsea-lin Mar 25, 2025
5262966
refactor: introduce ai operator namespace and deprecated semantics (#…
sycai Mar 25, 2025
b4da026
feat: add Linear_Regression.global_explain() (#1446)
rey-esp Mar 25, 2025
60821ac
chore: set up release-please for previous major version (1.x) (#1535)
shobsi Mar 25, 2025
f8f9640
feat: Support window partition by geo column (#1512)
TrevorBergeron Mar 25, 2025
2d82871
fix: add deprecation warning to TextEmbeddingGenerator model, espeica…
shuoweil Mar 25, 2025
07f7758
fix: temporary fix for StreamingDataFrame not working backend bug (#1…
GarrettWu Mar 25, 2025
d34c142
chore: cleanup udf resources in blob transform functions (#1530)
GarrettWu Mar 25, 2025
927324e
chore: rewrite function axis=1 warning in blob transform functions (#…
GarrettWu Mar 25, 2025
d86c6af
feat: add `GeoSeries.intersection()` and `bigframes.bigquery.st_inter…
arwas11 Mar 26, 2025
034d08d
chore: add logging for blob operations (#1543)
GarrettWu Mar 26, 2025
b841379
feat: upgrade BQ managed `udf` to preview (#1536)
shobsi Mar 26, 2025
7b70e97
chore: update benchmark logic to respect allow_large_results=False (#…
Genesis929 Mar 26, 2025
83379a4
feat: add `closed` parameter in rolling() (#1539)
sycai Mar 26, 2025
347cb79
chore: expose Series.blob accessor docs (#1546)
GarrettWu Mar 26, 2025
e7d440f
fix: Local data always has sequential index (#1514)
TrevorBergeron Mar 26, 2025
5759069
chore: add error handle for pdf extract and pdf chunk (#1490)
shuoweil Mar 26, 2025
c4f6717
refactor: break up groupby/__init__.py file (#1540)
sycai Mar 27, 2025
5dd1ebd
feat: set vscode and jupyter environments in the BQ jobs (#1527)
shobsi Mar 27, 2025
9ab7869
chore(main): release 1.42.0 (#1508)
release-please[bot] Mar 27, 2025
1cdd01f
chore(v1): release 1.42.0
release-please[bot] Mar 28, 2025
f220a3b
🦉 Updates from OwlBot post-processor
gcf-owl-bot[bot] Mar 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/release-please.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,8 @@ handleGHRelease: true
extraFiles:
- bigframes/version.py
- third_party/bigframes_vendored/version.py

branches:
- branch: v1
handleGHRelease: true
releaseType: python
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
on:
pull_request:
branches:
- main
- v1
name: docs
jobs:
docs:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
on:
pull_request:
branches:
- main
- v1
name: mypy
jobs:
mypy:
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,6 @@ repos:
rev: v1.10.0
hooks:
- id: mypy
additional_dependencies: [types-requests, types-tabulate, pandas-stubs]
additional_dependencies: [types-requests, types-tabulate, pandas-stubs<=2.2.3.241126]
exclude: "^third_party"
args: ["--check-untyped-defs", "--explicit-package-bases", "--ignore-missing-imports"]
71 changes: 71 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,77 @@

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

## [1.42.0](https://github.com/googleapis/python-bigquery-dataframes/compare/v1.41.0...v1.42.0) (2025-03-28)


### Features

* Add `closed` parameter in rolling() ([#1539](https://github.com/googleapis/python-bigquery-dataframes/issues/1539)) ([83379a4](https://github.com/googleapis/python-bigquery-dataframes/commit/83379a414de522c17d6b5938918d3f982da9f5af))
* Add `GeoSeries.difference()` and `bigframes.bigquery.st_difference()` ([#1471](https://github.com/googleapis/python-bigquery-dataframes/issues/1471)) ([e12c7d8](https://github.com/googleapis/python-bigquery-dataframes/commit/e12c7d85fb2bbf38f7f49a98e7b4da22b2dac0f8))
* Add `GeoSeries.intersection()` and `bigframes.bigquery.st_intersection()` ([#1529](https://github.com/googleapis/python-bigquery-dataframes/issues/1529)) ([d86c6af](https://github.com/googleapis/python-bigquery-dataframes/commit/d86c6af4c2dad3d07690875c4056c0e3f22e0714))
* Add df.take and series.take ([#1509](https://github.com/googleapis/python-bigquery-dataframes/issues/1509)) ([e439e67](https://github.com/googleapis/python-bigquery-dataframes/commit/e439e67086b5ad2cfb4829bf0f1dcb0e80f3ca8a))
* Add Linear_Regression.global_explain() ([#1446](https://github.com/googleapis/python-bigquery-dataframes/issues/1446)) ([b4da026](https://github.com/googleapis/python-bigquery-dataframes/commit/b4da02682a4c5ca336c7e92c38bd694e6f6e5a5b))
* Allow iloc to support lists of negative indices ([#1497](https://github.com/googleapis/python-bigquery-dataframes/issues/1497)) ([9d438d5](https://github.com/googleapis/python-bigquery-dataframes/commit/9d438d5ebf001f0c41a2b04d5a82e49eb56db484))
* Set vscode and jupyter environments in the BQ jobs ([#1527](https://github.com/googleapis/python-bigquery-dataframes/issues/1527)) ([5dd1ebd](https://github.com/googleapis/python-bigquery-dataframes/commit/5dd1ebdda3d941dd0b240a3c9eabd11f6900c644))
* Support dry_run in `to_pandas()` ([#1436](https://github.com/googleapis/python-bigquery-dataframes/issues/1436)) ([a29a751](https://github.com/googleapis/python-bigquery-dataframes/commit/a29a751808ce66eae2a0554e7f02da691f7796a8))
* Support window partition by geo column ([#1512](https://github.com/googleapis/python-bigquery-dataframes/issues/1512)) ([f8f9640](https://github.com/googleapis/python-bigquery-dataframes/commit/f8f9640df2a35bbc8a19a702331a4d5c4f861947))
* Upgrade BQ managed `udf` to preview ([#1536](https://github.com/googleapis/python-bigquery-dataframes/issues/1536)) ([b841379](https://github.com/googleapis/python-bigquery-dataframes/commit/b84137945617c564eb0e85ed8f0ba6e193f8887d))


### Bug Fixes

* Add deprecation warning to TextEmbeddingGenerator model, espeically gemini-1.0-X and gemini-1.5-X ([#1534](https://github.com/googleapis/python-bigquery-dataframes/issues/1534)) ([2d82871](https://github.com/googleapis/python-bigquery-dataframes/commit/2d8287101c8e05d3c53bbc2a0d12da158be7b6fa))
* Change the default value for pdf extract/chunk ([#1517](https://github.com/googleapis/python-bigquery-dataframes/issues/1517)) ([92d7445](https://github.com/googleapis/python-bigquery-dataframes/commit/92d7445ee4945bd01789041b457d1df2c840c53c))
* Local data always has sequential index ([#1514](https://github.com/googleapis/python-bigquery-dataframes/issues/1514)) ([e7d440f](https://github.com/googleapis/python-bigquery-dataframes/commit/e7d440f890b2dcf56f8fcf650f31171f038a5b5c))
* Read_pandas inline returns None when exceeds limit ([#1525](https://github.com/googleapis/python-bigquery-dataframes/issues/1525)) ([9d5d280](https://github.com/googleapis/python-bigquery-dataframes/commit/9d5d2807164824562132c0bc7f5d014d9c287633))
* Temporary fix for StreamingDataFrame not working backend bug ([#1533](https://github.com/googleapis/python-bigquery-dataframes/issues/1533)) ([07f7758](https://github.com/googleapis/python-bigquery-dataframes/commit/07f77589ce74e7fb09d1ca6d1d889d8fa7322f30))
* Tolerate BQ connection service account propagation delay ([#1505](https://github.com/googleapis/python-bigquery-dataframes/issues/1505)) ([6374662](https://github.com/googleapis/python-bigquery-dataframes/commit/63746625826d081532a8a0833280d2e52d9d015f))


### Performance Improvements

* Update shape to use quer_and_wait ([#1519](https://github.com/googleapis/python-bigquery-dataframes/issues/1519)) ([47f467e](https://github.com/googleapis/python-bigquery-dataframes/commit/47f467e7be0b2486bf3dd1870299c691320a2414))


### Documentation

* Update `GeoSeries.difference()` and `bigframes.bigquery.st_difference()` docs ([#1526](https://github.com/googleapis/python-bigquery-dataframes/issues/1526)) ([85801e6](https://github.com/googleapis/python-bigquery-dataframes/commit/85801e608b7f831fa79d0cc53e031d5624255fca))

## [1.42.0](https://github.com/googleapis/python-bigquery-dataframes/compare/v1.41.0...v1.42.0) (2025-03-27)


### Features

* Add `closed` parameter in rolling() ([#1539](https://github.com/googleapis/python-bigquery-dataframes/issues/1539)) ([8bcc89b](https://github.com/googleapis/python-bigquery-dataframes/commit/8bcc89b30022f5ccf9ced80676a279c261c2f697))
* Add `GeoSeries.difference()` and `bigframes.bigquery.st_difference()` ([#1471](https://github.com/googleapis/python-bigquery-dataframes/issues/1471)) ([e9fe815](https://github.com/googleapis/python-bigquery-dataframes/commit/e9fe8154d83e2674a05d7b670e949368b175ec8b))
* Add `GeoSeries.intersection()` and `bigframes.bigquery.st_intersection()` ([#1529](https://github.com/googleapis/python-bigquery-dataframes/issues/1529)) ([8542bd4](https://github.com/googleapis/python-bigquery-dataframes/commit/8542bd469ff8775a9073f5a040b4117facfd8513))
* Add df.take and series.take ([#1509](https://github.com/googleapis/python-bigquery-dataframes/issues/1509)) ([7d00be6](https://github.com/googleapis/python-bigquery-dataframes/commit/7d00be67cf50fdf713c40912f207d14f0f65538f))
* Add Linear_Regression.global_explain() ([#1446](https://github.com/googleapis/python-bigquery-dataframes/issues/1446)) ([7e5b6a8](https://github.com/googleapis/python-bigquery-dataframes/commit/7e5b6a873d00162ffca3d254d3af276c5f06d866))
* Allow iloc to support lists of negative indices ([#1497](https://github.com/googleapis/python-bigquery-dataframes/issues/1497)) ([a9cf215](https://github.com/googleapis/python-bigquery-dataframes/commit/a9cf215fb1403fda4ab2b58252f5fedc33aba3e1))
* Support dry_run in `to_pandas()` ([#1436](https://github.com/googleapis/python-bigquery-dataframes/issues/1436)) ([75fc7e0](https://github.com/googleapis/python-bigquery-dataframes/commit/75fc7e0268dc5b10bdbc33dcf28db97dce62e41c))
* Support window partition by geo column ([#1512](https://github.com/googleapis/python-bigquery-dataframes/issues/1512)) ([bdcb1e7](https://github.com/googleapis/python-bigquery-dataframes/commit/bdcb1e7929dc2f24c642ddb052629da394f45876))
* Upgrade BQ managed `udf` to preview ([#1536](https://github.com/googleapis/python-bigquery-dataframes/issues/1536)) ([4a7fe4d](https://github.com/googleapis/python-bigquery-dataframes/commit/4a7fe4d75724e734634d41f18b4957e0877becc3))


### Bug Fixes

* Add deprecation warning to TextEmbeddingGenerator model, espeically gemini-1.0-X and gemini-1.5-X ([#1534](https://github.com/googleapis/python-bigquery-dataframes/issues/1534)) ([c93e720](https://github.com/googleapis/python-bigquery-dataframes/commit/c93e7204758435b0306699d3a1332aaf522f576b))
* Change the default value for pdf extract/chunk ([#1517](https://github.com/googleapis/python-bigquery-dataframes/issues/1517)) ([a70a607](https://github.com/googleapis/python-bigquery-dataframes/commit/a70a607512797463f70ed529f078fcb2d40c85a1))
* Local data always has sequential index ([#1514](https://github.com/googleapis/python-bigquery-dataframes/issues/1514)) ([014bd33](https://github.com/googleapis/python-bigquery-dataframes/commit/014bd33317966e15d05617c978e847de8c953453))
* Read_pandas inline returns None when exceeds limit ([#1525](https://github.com/googleapis/python-bigquery-dataframes/issues/1525)) ([578081e](https://github.com/googleapis/python-bigquery-dataframes/commit/578081e978f2cca21ddae8b3ee371972ba723777))
* Temporary fix for StreamingDataFrame not working backend bug ([#1533](https://github.com/googleapis/python-bigquery-dataframes/issues/1533)) ([6ab4ffd](https://github.com/googleapis/python-bigquery-dataframes/commit/6ab4ffd33d4900da833020ffa7ffc03a93a2b4b2))
* Tolerate BQ connection service account propagation delay ([#1505](https://github.com/googleapis/python-bigquery-dataframes/issues/1505)) ([6681f1f](https://github.com/googleapis/python-bigquery-dataframes/commit/6681f1f9e30ed2325b85668de8a0b1d3d0e2858b))


### Performance Improvements

* Update shape to use quer_and_wait ([#1519](https://github.com/googleapis/python-bigquery-dataframes/issues/1519)) ([34ab9b8](https://github.com/googleapis/python-bigquery-dataframes/commit/34ab9b8abd2c632c806afe69f00d9e7dddb6a8b5))


### Documentation

* Update `GeoSeries.difference()` and `bigframes.bigquery.st_difference()` docs ([#1526](https://github.com/googleapis/python-bigquery-dataframes/issues/1526)) ([d553fa2](https://github.com/googleapis/python-bigquery-dataframes/commit/d553fa25fe85b3590269ed2ce08d5dff3bd22dfc))

## [1.41.0](https://github.com/googleapis/python-bigquery-dataframes/compare/v1.40.0...v1.41.0) (2025-03-19)


Expand Down
23 changes: 19 additions & 4 deletions bigframes/_config/compute_options.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,19 +60,31 @@ class ComputeOptions:
bytes billed beyond this limit will fail (without incurring a
charge). If unspecified, this will be set to your project default.
See `maximum_bytes_billed`: https://cloud.google.com/python/docs/reference/bigquery/latest/google.cloud.bigquery.job.QueryJobConfig#google_cloud_bigquery_job_QueryJobConfig_maximum_bytes_billed.

enable_multi_query_execution (bool, Options):
If enabled, large queries may be factored into multiple smaller queries
in order to avoid generating queries that are too complex for the query
engine to handle. However this comes at the cost of increase cost and latency.

extra_query_labels (Dict[str, Any], Options):
Stores additional custom labels for query configuration.
semmantic_ops_confirmation_threshold (int, optional):
Guards against unexepcted processing of large amount of rows by semantic operators.

semantic_ops_confirmation_threshold (int, optional):
.. deprecated:: 1.42.0
Semantic operators are deprecated. Please use AI operators instead

semantic_ops_threshold_autofail (bool):
.. deprecated:: 1.42.0
Semantic operators are deprecated. Please use AI operators instead

ai_ops_confirmation_threshold (int, optional):
Guards against unexpected processing of large amount of rows by semantic operators.
If the number of rows exceeds the threshold, the user will be asked to confirm
their operations to resume. The default value is 0. Set the value to None
to turn off the guard.
semantic_ops_threshold_autofail (bool):
Guards against unexepcted processing of large amount of rows by semantic operators.

ai_ops_threshold_autofail (bool):
Guards against unexpected processing of large amount of rows by semantic operators.
When set to True, the operation automatically fails without asking for user inputs.
"""

Expand All @@ -84,6 +96,9 @@ class ComputeOptions:
semantic_ops_confirmation_threshold: Optional[int] = 0
semantic_ops_threshold_autofail = False

ai_ops_confirmation_threshold: Optional[int] = 0
ai_ops_threshold_autofail = False

def assign_extra_query_labels(self, **kwargs: Any) -> None:
"""
Assigns additional custom labels for query configuration. The method updates the
Expand Down
33 changes: 16 additions & 17 deletions bigframes/_config/experiment_options.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ class ExperimentOptions:

def __init__(self):
self._semantic_operators: bool = False
self._ai_operators: bool = False
self._blob: bool = False
self._udf: bool = False

@property
def semantic_operators(self) -> bool:
Expand All @@ -35,11 +35,24 @@ def semantic_operators(self) -> bool:
def semantic_operators(self, value: bool):
if value is True:
msg = bfe.format_message(
"Semantic operators are still under experiments, and are subject "
"Semantic operators are deprecated, and will be removed in the future"
)
warnings.warn(msg, category=FutureWarning)
self._semantic_operators = value

@property
def ai_operators(self) -> bool:
return self._ai_operators

@ai_operators.setter
def ai_operators(self, value: bool):
if value is True:
msg = bfe.format_message(
"AI operators are still under experiments, and are subject "
"to change in the future."
)
warnings.warn(msg, category=bfe.PreviewWarning)
self._semantic_operators = value
self._ai_operators = value

@property
def blob(self) -> bool:
Expand All @@ -54,17 +67,3 @@ def blob(self, value: bool):
)
warnings.warn(msg, category=bfe.PreviewWarning)
self._blob = value

@property
def udf(self) -> bool:
return self._udf

@udf.setter
def udf(self, value: bool):
if value is True:
msg = bfe.format_message(
"BigFrames managed function (udf) is still under experiments. "
"It may not work and subject to change in the future."
)
warnings.warn(msg, category=bfe.PreviewWarning)
self._udf = value
4 changes: 3 additions & 1 deletion bigframes/bigquery/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
unix_millis,
unix_seconds,
)
from bigframes.bigquery._operations.geo import st_area
from bigframes.bigquery._operations.geo import st_area, st_difference, st_intersection
from bigframes.bigquery._operations.json import (
json_extract,
json_extract_array,
Expand All @@ -48,6 +48,8 @@
"array_to_string",
# geo ops
"st_area",
"st_difference",
"st_intersection",
# json ops
"json_set",
"json_extract",
Expand Down
Loading