Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2211 commits
Select commit Hold shift + click to select a range
e3a271b
chore: Migrate fillna_op operator to SQLGlot (#2247)
jialuoo Nov 12, 2025
98129ba
chore: Migrate euclidean_distance_op operator to SQLGlot (#2238)
jialuoo Nov 12, 2025
9f497a6
refactor: read table with system time for sqlglot compiler (#2252)
chelsea-lin Nov 12, 2025
956a5b0
feat: Support builtins funcs for df.agg (#2256)
TrevorBergeron Nov 12, 2025
20ab469
feat: Support mixed scalar-analytic expressions (#2239)
TrevorBergeron Nov 13, 2025
8f490e6
feat: pivot_table supports fill_value arg (#2257)
TrevorBergeron Nov 13, 2025
86ed01b
Refactor: Simplify fillna_op implementation (#2261)
jialuoo Nov 13, 2025
3702f56
chore: Migrate manhattan_distance_op operator to SQLGlot (#2254)
jialuoo Nov 13, 2025
0e3f2a4
chore(librarian): onboard to librarian (#2233)
parthea Nov 13, 2025
f73fb98
chore: Migrate geo_st_intersection_op operator to SQLGlot (#2262)
jialuoo Nov 13, 2025
597eb55
refactor: Simplify InNode definition (#2264)
TrevorBergeron Nov 14, 2025
d85eee3
Refactor: Use sge.func for ML.DISTANCE (#2270)
jialuoo Nov 14, 2025
e574024
Chore: Migrate geo_st_geogpoint_op operator to SQLGlot (#2266)
jialuoo Nov 14, 2025
95a83f7
fix: calling info() on empty dataframes no longer leads to errors (#2…
sycai Nov 14, 2025
b0f16e6
refactor: add ToArrayOp and ArrayReduceOp to the sqlglot compiler (#2…
chelsea-lin Nov 14, 2025
ca86686
chore: Bound sqlglot version below 28 (#2275)
TrevorBergeron Nov 18, 2025
7c062a6
feat: use end user credentials for `bigframes.bigquery.ai` functions …
sycai Nov 18, 2025
508deae
fix: Improve Anywidget pagination and display for unknown row counts …
shuoweil Nov 18, 2025
bc33c98
test: Update test_remote_function_max_instances to expect 0 default (…
TrevorBergeron Nov 18, 2025
08c0c0c
docs: update docs and tests for Gemini 2.5 models (#2279)
GarrettWu Nov 19, 2025
3e3fe25
fix: Pass credentials properly for read api instantiation (#2280)
TrevorBergeron Nov 19, 2025
6e73d77
refactor: Remove never_skip_nulls param from window node def (#2273)
TrevorBergeron Nov 19, 2025
e39dfe2
deps: fix missing CTEs in sqlglot v28 and relax version dependency (#…
chelsea-lin Nov 20, 2025
c35e21f
refactor: add agg_ops.CutOp to the sqlglot compiler (#2268)
chelsea-lin Nov 20, 2025
bb66915
chore: Migrate GeoStDistanceOp operator to SQLGlot (#2282)
jialuoo Nov 20, 2025
f7fd2d2
docs: use autosummary to split documentation pages (#2251)
tswast Nov 20, 2025
ac43ee5
refactor: WindowOpNode can create multiple cols (#2284)
TrevorBergeron Nov 21, 2025
f4a7206
Fix: Anywidget Table Pagination for Small DataFrames & Improve Displa…
shuoweil Nov 21, 2025
0cb5217
refactor: add agg_ops.QcutOp to the sqlglot compiler (#2269)
chelsea-lin Nov 24, 2025
b487cf1
feat: add bigquery.json_keys (#2286)
chelsea-lin Nov 24, 2025
3275761
refactor: switch RowNumber to 0-based indexing in sqlglot compiler (#…
chelsea-lin Nov 25, 2025
ed79146
Chore: Migrate unsafe_pow_op operator to SQLGlot (#2281)
jialuoo Nov 25, 2025
482bd0e
refactor: add agg_ops.ProductOp and NuniqueOp to the sqlglot compiler…
chelsea-lin Nov 25, 2025
da06439
docs: update API reference to new `dataframes.bigquery.dev` location …
tswast Nov 25, 2025
32e5313
docs: fix LogisticRegression docs rendering (#2295)
GarrettWu Nov 25, 2025
d1ecc61
feat: Implement single-column sorting for interactive table widget (#…
shuoweil Nov 26, 2025
2dcf6ae
chore: Migrate pow_op operator to SQLGlot (#2291)
jialuoo Nov 26, 2025
c4cb39d
feat: Add agg/aggregate methods to windows (#2288)
TrevorBergeron Nov 26, 2025
6cdf64b
fix: Fix issue with stream upload batch size upload limit (#2290)
TrevorBergeron Nov 26, 2025
9e0f70b
refactor: fix ops.StrftimeOp, ops.ToDatetimeOp, ops.ToTimestampOp in …
chelsea-lin Nov 26, 2025
33a211e
refactor: fix agg_ops.DiffOp for Datetime and Timestamp (#2296)
chelsea-lin Nov 26, 2025
aae1b04
refactor: fix some string ops in the sqlglot compiler. (#2299)
chelsea-lin Dec 1, 2025
4489687
fix: Update max_instances default to reflect actual value (#2302)
jialuoo Dec 2, 2025
a211753
chore: fix librarian release current version (#2305)
GarrettWu Dec 2, 2025
0b266da
docs: Add Google Analytics configuration to conf.py (#2301)
tswast Dec 2, 2025
41630b5
refactor: Migrate DataFrame display to use IPython's _repr_mimebundle…
shuoweil Dec 2, 2025
52665fa
feat: Allow drop_duplicates over unordered dataframe (#2303)
TrevorBergeron Dec 3, 2025
cca20ea
fix: Fix reset_index level=0 bugs (#2307)
TrevorBergeron Dec 3, 2025
37c685d
chore: release 2.30.0 (#2308)
GarrettWu Dec 3, 2025
fafd7c7
feat: add 'weekday' property to DatatimeMethod (#2304)
sycai Dec 3, 2025
719b278
feat: add `bigframes.bigquery.ml` methods (#2300)
google-labs-jules[bot] Dec 3, 2025
7e959b9
Fix: Defer TableWidget import to prevent ZMQ port conflicts (#2309)
shuoweil Dec 4, 2025
dbb0339
chore: Migrate DatetimeToIntegerLabelOp operator to SQLGlot (#2306)
jialuoo Dec 5, 2025
d2e8cb4
chore: fix pytest crash on pandas 3.0 due to missing SettingWithCopyW…
google-labs-jules[bot] Dec 8, 2025
147aad9
chore: fix unit tests on pandas 3.0 (#2317)
tswast Dec 9, 2025
d993831
fix: cache DataFrames to temp tables in bigframes.bigquery.ml methods…
tswast Dec 9, 2025
e4e3ec8
revert: DataFrame display uses IPython's `_repr_mimebundle_` (#2316)
shuoweil Dec 9, 2025
29bf680
chore: Move long-running LLM tests to the large directory (#2323)
google-labs-jules[bot] Dec 10, 2025
fd5eae0
chore: librarian release pull request: 20251210T234907Z (#2324)
TrevorBergeron Dec 11, 2025
83da622
chore: librarian release pull request: 20251210T192622Z (#2321)
TrevorBergeron Dec 11, 2025
59df7f7
feat: add fit_predict method to ml unsupervised models (#2320)
GarrettWu Dec 11, 2025
2526448
fix: Fix pd.timedelta handling in polars comipler with polars 1.36 (#…
TrevorBergeron Dec 11, 2025
7f1d3df
fix: Correct DataFrame widget rendering in Colab (#2319)
shuoweil Dec 12, 2025
481d938
fix: Improve strictness of nan vs None usage (#2326)
TrevorBergeron Dec 12, 2025
80dbc2d
test: Fix penguins_linear_model_w_global_explain fixture (#2327)
TrevorBergeron Dec 12, 2025
f271962
feat: Display custom single index column in anywidget mode (#2311)
shuoweil Dec 12, 2025
f0ed9bc
test: Make tests work with pandas 3.0 (#2329)
TrevorBergeron Dec 12, 2025
f1ff345
chore: Add conventional-pre-commit hook (#2322)
tswast Dec 12, 2025
369f1c0
docs: Add time series analysis notebook (#2328)
shuoweil Dec 15, 2025
4d5de14
feat: Auto-plan complex reduction expressions (#2298)
TrevorBergeron Dec 15, 2025
0b14b17
refactor: fix some string ops in the sqlglot compiler (part 2) (#2332)
chelsea-lin Dec 16, 2025
097fcfa
refactor: fix some string ops in the sqlglot compiler (part 3) (#2336)
chelsea-lin Dec 17, 2025
173b83d
Revert "fix: Update max_instances default to reflect actual value (#2…
TrevorBergeron Dec 17, 2025
ea71936
docs: update supported pandas APIs documentation links (#2330)
google-labs-jules[bot] Dec 18, 2025
58b2ac5
chore: make `test_read_gbq_colab_includes_label` more robust to pytho…
tswast Dec 18, 2025
7d152d3
refactor: Handle special float values and None consistently in sqlglo…
chelsea-lin Dec 19, 2025
7d66916
perf: Improve write api throughput using multiple streams (#2345)
TrevorBergeron Dec 19, 2025
3c54c68
refactor: fix SQLGlot doctests on the window, ai, to_json ops (#2341)
chelsea-lin Dec 19, 2025
2d07bb3
perf: Fragmentize multiple col expressions as one (#2333)
TrevorBergeron Dec 20, 2025
f9b145e
tests: fix `test_get_formatted_time` from the `humanize` package upgr…
chelsea-lin Dec 22, 2025
7efdda8
refactor: Anywidget Table Styling and Hover Enhancements (#2353)
shuoweil Dec 23, 2025
9674c56
refactor: fix group_by compiler with dtype convertions (#2350)
chelsea-lin Dec 23, 2025
b4cea76
refactor: support sql_predicate when compile readtable in sqlglot (#2…
chelsea-lin Dec 23, 2025
7d2990f
docs: generate sitemap.xml for better search indexing (#2351)
tswast Dec 23, 2025
b8f0901
feat: Refactor TableWidget and to_pandas_batches (#2250)
shuoweil Dec 23, 2025
7171d21
fix: bigframes.ml fit with eval data in partial mode avoids join on n…
google-labs-jules[bot] Dec 23, 2025
7395d41
feat: display series in anywidget mode (#2346)
shuoweil Dec 23, 2025
92661f3
chore: make api method logging session-scoped (#2347)
google-labs-jules[bot] Dec 23, 2025
9597f55
refactor: move inline styles to table_widget.css and use cla… (#2357)
shuoweil Dec 29, 2025
69fa7f4
refactor: use CSS classes in HTML tables (#2358)
shuoweil Dec 29, 2025
b321d72
fix(deps): vendor sqlglot bigquery dialect and remove package depende…
chelsea-lin Jan 2, 2026
1feb956
feat: Enable multi-column sorting in anywidget mode (#2360)
shuoweil Jan 2, 2026
0a889fc
refactor: fix str.extract, blob ops and geo ops compiler (#2362)
chelsea-lin Jan 3, 2026
6ab2c64
chore: create a release (#2363)
tswast Jan 5, 2026
81e27b3
feat: Configure Biome for Consistent Code Style (#2364)
shuoweil Jan 5, 2026
b478b0c
refactor: fix and, or and xor ops on NULL scalar (#2361)
chelsea-lin Jan 6, 2026
cd3df33
chore: remove error message for sqlglot version (#2367)
chelsea-lin Jan 7, 2026
e1e1141
refactor: fix isin, explode and geo ops for sqlglot compiler (#2366)
chelsea-lin Jan 7, 2026
0f593c2
fix: implement retry logic for cloud function endpoint fetching (#2369)
jialuoo Jan 7, 2026
2763b41
feat: Add dark mode to anywidget mode (#2365)
shuoweil Jan 7, 2026
cc994f3
chore: remove language from sitemap paths (#2373)
tswast Jan 9, 2026
b023cb0
refactor: fix window and numeric/comparison ops for sqlglot compiler …
chelsea-lin Jan 10, 2026
dbe8e7e
chore: Migrate BinaryRemoteFunctionOp operator to SQLGlot (#2371)
jialuoo Jan 12, 2026
34b5975
feat: Add max_columns control for anywidget mode (#2374)
shuoweil Jan 12, 2026
8adc6b2
test: remove deprecated claude-3-opus tests (#2375)
GarrettWu Jan 12, 2026
798af4a
refactor: move log_adapter.py under logging/ directory (#2376)
sycai Jan 12, 2026
a634e97
feat: Stabilize interactive table height to prevent notebook layout s…
shuoweil Jan 13, 2026
173efd9
refactor: adds null literal checks when sqlglot compiling eq and nq o…
chelsea-lin Jan 15, 2026
e1d54d2
refactor: fix some aggregation ops in the sqlglot compiler (#2382)
chelsea-lin Jan 15, 2026
e156660
chore: Migrate IntegerLabelToDatetimeOp operator to SQLGlot (#2310)
jialuoo Jan 15, 2026
39481a5
chore: Migrate RemoteFunctionOp operator to SQLGlot (#2377)
jialuoo Jan 15, 2026
9c3bbc3
feat: Add BigQuery ObjectRef functions to `bigframes.bigquery.obj` (#…
tswast Jan 15, 2026
7abfef0
fix: Throw if write api commit op has stream_errors (#2385)
TrevorBergeron Jan 15, 2026
0396278
chore: define type logging bit masks (#2384)
sycai Jan 16, 2026
95763ff
perf: Avoid requery for some result downsample methods (#2219)
TrevorBergeron Jan 16, 2026
d02d32f
refactor: fix math numeric_ops for test_series_ufuncs (#2386)
chelsea-lin Jan 21, 2026
ee83d98
chore: Migrate NaryRemoteFunctionOp operator to SQLGlot (#2387)
jialuoo Jan 21, 2026
74150c5
chore: deflake the ai generate doc test by skipping it (#2393)
sycai Jan 21, 2026
e90e1d8
chore: Add a function to traverse BFET and encode type usage (#2390)
sycai Jan 22, 2026
1f9ee37
feat: add bigquery.ml.transform function (#2394)
GarrettWu Jan 22, 2026
a2d13e7
chore: librarian update image pull request: 20260122T223041Z (#2398)
chelsea-lin Jan 22, 2026
6fef9be
chore: librarian release pull request: 20260122T231714Z (#2402)
chelsea-lin Jan 22, 2026
5ac6810
feat: add bigquery.ml.generate_text function (#2403)
GarrettWu Jan 26, 2026
a80ac3f
refactor: fix several small presubmit test failures on the SQLGlot co…
chelsea-lin Jan 27, 2026
7261a4e
feat: add deprecation warnings for .blob accessor and read_gbq_object…
shuoweil Jan 27, 2026
83b83ea
refactor: fix test_concat_dataframe by de-deuplicating merged ctes in…
chelsea-lin Jan 29, 2026
fcb5bc1
fix: broken job url (#2411)
jbandoro Jan 29, 2026
76db295
feat: add bigquery.create_external_table method (#2415)
GarrettWu Jan 29, 2026
2fc5bb1
chore: Ignore ai ops in doctests (#2420)
TrevorBergeron Jan 30, 2026
248c8ea
deps: Remove direct ipywidgets requirement (#2416)
TrevorBergeron Jan 30, 2026
35f3f5e
feat: add bigquery.ml.generate_embedding function (#2422)
GarrettWu Jan 30, 2026
43b77bb
chore: Clean up nox test dependency installs (#2421)
TrevorBergeron Jan 31, 2026
cfa1c8e
chore: move bigquery/table.py to bigquery/_operations/table.py (#2423)
GarrettWu Feb 2, 2026
7eba6ee
feat: add `bigframes.pandas.options.experiments.sql_compiler` for swi…
chelsea-lin Feb 2, 2026
c932d2d
chore: remove redundant assertions (#2427)
GarrettWu Feb 2, 2026
66afbb0
chore: attach type usage to job labels (#2407)
sycai Feb 3, 2026
d8c007e
feat: Suppress redundant "Completed" status in progress callback (#2419)
shuoweil Feb 3, 2026
fbd3a55
chore: librarian release pull request:20260202T232430Z (#2428)
shuoweil Feb 3, 2026
4b0f13b
feat: add bigframe.bigquery.load_data function (#2426)
GarrettWu Feb 3, 2026
e91536c
feat: add `bigframes.bigquery.ai.generate_embedding` (#2343)
google-labs-jules[bot] Feb 4, 2026
3012724
test: skip blob test (#2431)
shuoweil Feb 4, 2026
318752a
test: add system tests for bigquery.ml.create_model (#2432)
GarrettWu Feb 5, 2026
e6de52d
feat: Add a bigframes cell magic for ipython (#2395)
TrevorBergeron Feb 5, 2026
5bd0029
feat: add bigquery.ai.generate_text function (#2433)
sycai Feb 5, 2026
51309df
deps: Drop support for python 3.9 (#2418)
TrevorBergeron Feb 5, 2026
ad0f33c
docs: fix cast method shown on public docs (#2436)
GarrettWu Feb 5, 2026
2d973b5
fix: always display the results in the `%%bqsql` cell magics output (…
tswast Feb 6, 2026
853240d
feat: Disable progress bars in Anywidget mode to reduce notebook clut…
shuoweil Feb 6, 2026
1fc29f6
Revert "feat: Disable progress bars in Anywidget mode to reduce noteb…
tswast Feb 6, 2026
311de31
fix: exlcude gcsfs 2026.2.0 (#2445)
shuoweil Feb 6, 2026
3cb57b1
tests: Fix global session dependence of astype tests (#2443)
TrevorBergeron Feb 6, 2026
4e2689a
feat: Disable progress bars in Anywidget mode (#2444)
shuoweil Feb 6, 2026
1274167
feat: Add bigframes.pandas.col with basic operators (#2405)
TrevorBergeron Feb 6, 2026
2017cc2
feat: remove redundant "started." messages from progress output (#2440)
tswast Feb 7, 2026
e0d185a
fix: suppress JSONDtypeWarning in Anywidget mode and clean up progres…
shuoweil Feb 7, 2026
9f1ba1d
chore: librarian release pull request: 20260207T015024Z (#2446)
shuoweil Feb 7, 2026
84c6f88
docs: Add EXIF metadata extraction example to multimodal notebook (#2…
shuoweil Feb 9, 2026
59cbc5d
docs: use direct API for audio transcription (#2447)
shuoweil Feb 9, 2026
61c17e3
refactor: Define sql nodes and transform (#2438)
TrevorBergeron Feb 10, 2026
e36dd8b
docs: Update multimodal notebook to use public runtime helpers (#2451)
shuoweil Feb 11, 2026
a6aafaa
refactor: add brackets on sqlglot `NOT` expression (#2450)
chelsea-lin Feb 11, 2026
b925aa2
feat: add bigquery.ai.generate_table function (#2453)
GarrettWu Feb 11, 2026
ae35a98
feat: Initial support for biglake iceberg tables (#2409)
TrevorBergeron Feb 11, 2026
0434f26
refactor: Enable `SELECT *` optimization in the sqlglot compiler (#2430)
chelsea-lin Feb 11, 2026
fbaba0b
refactor: ensure only valid IDs are propagated in identifier remappin…
chelsea-lin Feb 11, 2026
078bd32
docs: fix generate_text and generate_table input docs (#2455)
GarrettWu Feb 12, 2026
3409acd
chore: librarian update image pull request: 20260210T185352Z (#2449)
tswast Feb 12, 2026
543ce52
docs: use direct API for pdf chunk and pdf extract (#2452)
shuoweil Feb 12, 2026
342fa72
docs: update multimodal dataframe notebook to use public APIs (#2456)
shuoweil Feb 13, 2026
36261f5
refactor: migrate compile_random_sample for sqlglot (#2454)
chelsea-lin Feb 13, 2026
53428d0
chore: Update project links for pypi (#2459)
TrevorBergeron Feb 17, 2026
a5a1bc1
refactor: add table aliases to prevent ambiguity in SQLGlotIR (#2458)
chelsea-lin Feb 17, 2026
5c91fb6
chore: librarian release pull request: 20260217T233413Z (#2461)
sycai Feb 18, 2026
3c21993
docs: Add code examples to configuration docstrings (#2352)
google-labs-jules[bot] Feb 18, 2026
ca9fb13
chore: replace old partner teams with updated names (#2462)
suztomo Feb 18, 2026
f7fd189
feat: Update bigquery.ai.generate_table output_schema to allow Mappin…
GarrettWu Feb 18, 2026
0f1ac1a
refactor: Decorator to take docs rather than inheritance (#2467)
TrevorBergeron Feb 19, 2026
6306478
chore: fix udf text dedent format (#2468)
GarrettWu Feb 19, 2026
1d81b41
fix: allow IsInOp with same dtypes regardless nullable (#2466)
chelsea-lin Feb 20, 2026
f70f93a
feat: add dt.tz_localize() (#2469)
sycai Feb 20, 2026
a951249
docs: Skip inherited methods, use autosummary only for big classes (#…
TrevorBergeron Feb 20, 2026
61a9484
docs: Move readme content to new User Guide section (#2464)
TrevorBergeron Feb 20, 2026
f1bbba2
docs: add bigframes default connection warning (#2471)
GarrettWu Feb 23, 2026
ae5c8b3
feat: Support pd.col expressions with .loc and getitem (#2473)
TrevorBergeron Feb 23, 2026
8a1a82f
docs: use direct API for image (#2465)
shuoweil Feb 23, 2026
a2f2b65
chore: deprecate Claude 3.5 in the codebase (#2472)
sycai Feb 23, 2026
867951b
docs: add code sample and docstring for bpd.options.experiments.sql_c…
tswast Feb 24, 2026
9e4da68
test: Fix prerelease and pandas 3.0 test compat (#2457)
TrevorBergeron Feb 24, 2026
c25a6d0
feat: add support for Python 3.14 (#2232)
parthea Feb 24, 2026
fa97675
chore: Migrate gsutil usage to gcloud storage (#2412)
bhandarivijay-png Feb 25, 2026
bf68d0c
tests: remove gemini 2.0 exp model tests, move llm tests to large sui…
GarrettWu Feb 26, 2026
7813eaa
feat: add display.render_mode to control DataFrame/Series visualizati…
shuoweil Feb 26, 2026
aa3a73f
chore: modularize GEMINI.md file (#2479)
GarrettWu Feb 26, 2026
a6f499c
docs: Fix recall_score doc example (#2477)
TrevorBergeron Feb 27, 2026
01dc5a3
fix: upload local data through write API if nested JSONs detected (#2…
chelsea-lin Feb 27, 2026
05d11b7
tests: add multimodal snippets tests (#2476)
GarrettWu Feb 27, 2026
34f76c7
refactor: remove the googlesql module (#2482)
chelsea-lin Mar 2, 2026
a396f68
chore: clean up remaining python 3.9 support codes (#2486)
chelsea-lin Mar 2, 2026
cb00daa
feat: Support pd.col simple aggregates (#2480)
TrevorBergeron Mar 2, 2026
4caf74c
feat: Add cloud_function_cpus option to remote_function (#2475)
TrevorBergeron Mar 2, 2026
8a10bae
chore: librarian update image pull request: 20260303T000950Z (#2487)
chelsea-lin Mar 3, 2026
a8ba879
chore: librarian release pull request: 20260303T181914Z (#2489)
chelsea-lin Mar 4, 2026
5c0688a
test: align remote function ingress with new GCP policies (#2490)
chelsea-lin Mar 4, 2026
47a0feb
refactor: decouple SQL building logic from sqlglot_ir (#2491)
chelsea-lin Mar 4, 2026
ce5de57
feat: Add str, dt accessors to pd.col Expression objects (#2488)
TrevorBergeron Mar 4, 2026
d29a609
feat: add bigquery.ml.get_insights function (#2493)
GarrettWu Mar 5, 2026
1abd8d1
chore(deps): bump @tootallnate/once and jest-environment-jsdom in /te…
dependabot[bot] Mar 6, 2026
077cb2e
docs: Fix typo in ExperimentOptions class docstring (#2498)
tswast Mar 9, 2026
ce686c1
chore: fix google3 import colabsqlviz tests (#2499)
GarrettWu Mar 10, 2026
5c43efb
feat: Add `bigframes.bigquery.rand()` function (#2501)
tswast Mar 10, 2026
99d73ef
refactor: Define CTE-related SQL nodes for emitter (#2495)
TrevorBergeron Mar 10, 2026
34892e2
refactor: use sqlglot to build literal (#2500)
chelsea-lin Mar 10, 2026
43353e2
fix: no longer automatically use anywidget in the `%%bqsql` magics (#…
tswast Mar 11, 2026
a5ddcea
test: add golden sql tests for TPC-H queries (#2503)
chelsea-lin Mar 11, 2026
fe94910
feat: use EUC for AI IF, CLASSIFY, and SCORE when connection is not p…
sycai Mar 12, 2026
a000425
refactor: implement iterative top-down traversal (#2508)
chelsea-lin Mar 12, 2026
5cf3788
docs: add notebooks to user guide page (#2505)
tswast Mar 12, 2026
91b6c24
feat: add `df.bigquery` pandas accessor (#2513)
tswast Mar 13, 2026
2326ad6
fix: handle unsupported types and empty results in describe (#2506)
shuoweil Mar 13, 2026
265376f
refactor: fix test_dt_tz_localize in the sqlglot compiler (#2517)
chelsea-lin Mar 16, 2026
11fd2f1
refactor: use sqlglot to build load_data ddl (#2515)
chelsea-lin Mar 16, 2026
1c5d411
chore: librarian release pull request: 20260316T210518Z (#2520)
tswast Mar 16, 2026
2e5311e
docs: gemini retouch of the index page for seo (#2514)
tswast Mar 17, 2026
66e21ec
test: Fix ingress settings for vpc tests to not use "all" (#2519)
TrevorBergeron Mar 17, 2026
edceb35
chore: Remove unused Ibis Python to JS UDF compiler (#2521)
tswast Mar 17, 2026
1126cec
feat: add `df.bigquery.ai.forecast` method to pandas dataframe access…
tswast Mar 17, 2026
3ddd7eb
test: Update ARIMA PLUS score tests to ignore future BQML column addi…
shuoweil Mar 18, 2026
494a0a1
feat: support full round-trip persistence for multimodal reference co…
shuoweil Mar 18, 2026
0ebc733
refactor: use sqlglot to build create_external_table ddl (#2523)
chelsea-lin Mar 19, 2026
460dbdc
refactor: Improve cache encapsulation (#2525)
TrevorBergeron Mar 19, 2026
6b0509b
test: Remove ingress setting all test (#2528)
TrevorBergeron Mar 20, 2026
b5a7652
chore: include pandas accessors in api logging (#2524)
tswast Mar 21, 2026
e8c4603
fix: support melting empty DataFrames without crashing (#2509)
shuoweil Mar 23, 2026
915cce5
refactor: increase test coverages on sqlglot compiler (#2527)
chelsea-lin Mar 23, 2026
96597f0
perf: Make executor data uploads async internally (#2529)
TrevorBergeron Mar 24, 2026
b952428
fix: Respect remote function config changes even if logic unchanged (…
TrevorBergeron Mar 25, 2026
17ecc65
fix: to_gbq may swap data columns when replace table (#2532)
chelsea-lin Mar 26, 2026
69fe317
feat: expose DataFrame.bigquery in both pandas and bigframes DataFram…
tswast Mar 26, 2026
44e0ffd
docs: Rename Blob column references to ObjectRef column (#2535)
tswast Mar 26, 2026
677d6cc
refactor: Simplify @udf code (#2539)
TrevorBergeron Mar 27, 2026
d1fabcd
chore: add a notebook about using AI functions for movie posters (#2537)
sycai Mar 27, 2026
825b7c5
chore: disable "read_csv_for_names" test (#2544)
sycai Mar 31, 2026
af49ca2
fix: Localize BigQuery log suppression for gbq.py (#2541)
shuoweil Mar 31, 2026
b589de9
chore: fix null literal check in sqlglot compiler (#2538)
chelsea-lin Mar 31, 2026
34fb5da
fix: handle aggregate operations on empty selections (#2510)
shuoweil Mar 31, 2026
56b17da
deps: exclude gcsfs 2026.3.0 (#2546)
chelsea-lin Mar 31, 2026
be33279
chore: librarian release pull request: 20260331T225508Z (#2547)
sycai Apr 1, 2026
19b5eb0
build: update README to indicate that source has moved (#2552)
parthea Apr 1, 2026
eccab03
Merge commit 'ca7e6e0e8378f1fe771a41f10c0f31f48e11d58a'
tswast Aug 12, 2026
2c4421e
chore(deps): bump the npm_and_yarn group across 1 directory with 2 up…
dependabot[bot] Aug 12, 2026
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
12 changes: 12 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Code owners file.
# This file controls who is tagged for review for any given pull request.
#
# For syntax help see:
# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax
# Note: This file is autogenerated. To make changes to the codeowner team, please update .repo-metadata.json.

# @googleapis/cloud-sdk-python-team @googleapis/bigquery-dataframe-team are the default owners for changes in this repo
* @googleapis/cloud-sdk-python-team @googleapis/bigquery-dataframe-team

# @googleapis/python-samples-reviewers @googleapis/bigquery-dataframe-team are the default owners for samples changes
/samples/ @googleapis/python-samples-reviewers @googleapis/bigquery-dataframe-team
28 changes: 28 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# How to Contribute

We'd love to accept your patches and contributions to this project. There are
just a few small guidelines you need to follow.

## Contributor License Agreement

Contributions to this project must be accompanied by a Contributor License
Agreement. You (or your employer) retain the copyright to your contribution;
this simply gives us permission to use and redistribute your contributions as
part of the project. Head over to <https://cla.developers.google.com/> to see
your current agreements on file or to sign a new one.

You generally only need to submit a CLA once, so if you've already submitted one
(even if it was for a different project), you probably don't need to do it
again.

## Code reviews

All submissions, including submissions by project members, require review. We
use GitHub pull requests for this purpose. Consult
[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
information on using pull requests.

## Community Guidelines

This project follows [Google's Open Source Community
Guidelines](https://opensource.google.com/conduct/).
58 changes: 58 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
name: Bug report
about: Create a report to help us improve

---

Thanks for stopping by to let us know something could be better!

**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.

Please run down the following list and make sure you've tried the usual "quick fixes":

- Search the issues already opened: https://github.com/googleapis/python-bigquery-dataframes/issues
- Search StackOverflow: https://stackoverflow.com/questions/tagged/google-cloud-platform+python

If you are still having issues, please be sure to include as much information as possible:

#### Environment details

- OS type and version:
- Python version: `python --version`
- pip version: `pip --version`
- `bigframes` version: `pip show bigframes`


```python
import sys
import bigframes
import google.cloud.bigquery
import pandas
import pyarrow

print(f"Python: {sys.version}")
print(f"bigframes=={bigframes.__version__}")
print(f"google-cloud-bigquery=={google.cloud.bigquery.__version__}")
print(f"pandas=={pandas.__version__}")
print(f"pyarrow=={pyarrow.__version__}")
```

#### Steps to reproduce

1. ?
2. ?

#### Code example

```python
# example
```

#### Stack trace
```
# example
```

Making sure to follow these steps will guarantee the quickest resolution possible.

Thanks!
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: Feature request
about: Suggest an idea for this library

---

Thanks for stopping by to let us know something could be better!

**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
7 changes: 7 additions & 0 deletions .github/ISSUE_TEMPLATE/support_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
name: Support request
about: If you have a support contract with Google, please create an issue in the Google Cloud Support console.

---

**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.
7 changes: 7 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
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> 🦕
20 changes: 20 additions & 0 deletions .github/auto-label.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
requestsize:
enabled: true

path:
pullrequest: true
paths:
samples: "samples"
17 changes: 17 additions & 0 deletions .github/blunderbuss.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Blunderbuss config
#
# This file controls who is assigned for pull requests and issues.
# Note: This file is autogenerated. To make changes to the assignee
# team, please update `codeowner_team` in `.repo-metadata.json`.
assign_issues:
- googleapis/bigquery-dataframe-team

assign_issues_by:
- labels:
- "samples"
to:
- googleapis/python-samples-reviewers
- googleapis/bigquery-dataframe-team

assign_prs:
- googleapis/bigquery-dataframe-team
15 changes: 15 additions & 0 deletions .github/header-checker-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{"allowedCopyrightHolders": ["Google LLC"],
"allowedLicenses": ["Apache-2.0", "MIT", "BSD-3"],
"ignoreFiles": ["**/requirements.txt", "**/requirements-test.txt", "**/__init__.py", "samples/**/constraints.txt", "samples/**/constraints-test.txt"],
"sourceFileExtensions": [
"ts",
"js",
"java",
"sh",
"Dockerfile",
"yaml",
"py",
"html",
"txt"
]
}
Empty file added .github/snippet-bot.yml
Empty file.
57 changes: 57 additions & 0 deletions .github/workflows/docs-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Deploy docs to GitHub Pages

on:
# Runs on pushes targeting the default branch
# TODO(tswast): Update this to only be releases once we confirm it's working.
push:
branches: ["main"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install nox
run: |
python -m pip install --upgrade setuptools pip wheel
python -m pip install nox
- name: Run docs
run: |
nox -s docs
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: docs/_build/html/

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
38 changes: 38 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
on:
pull_request:
branches:
- main
push:
branches:
- main
name: docs
jobs:
docs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install nox
run: |
python -m pip install --upgrade setuptools pip wheel
python -m pip install nox
- name: Run docs
run: |
nox -s docs
docfx:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install nox
run: |
python -m pip install --upgrade setuptools pip wheel
python -m pip install nox
20 changes: 20 additions & 0 deletions .github/workflows/js-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: js-tests
on:
pull_request:
branches:
- main
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install modules
working-directory: ./tests/js
run: npm install
- name: Run tests
working-directory: ./tests/js
run: npm test
28 changes: 28 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
on:
pull_request:
branches:
- main
push:
branches:
- main
name: lint
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.14"
- name: Install nox
run: |
python -m pip install --upgrade setuptools pip wheel
python -m pip install nox
- name: Run lint
run: |
nox -s lint
- name: Run lint_setup_py
run: |
nox -s lint_setup_py
25 changes: 25 additions & 0 deletions .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
on:
pull_request:
branches:
- main
push:
branches:
- main
name: mypy
jobs:
mypy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install nox
run: |
python -m pip install --upgrade setuptools pip wheel
python -m pip install nox
- name: Run mypy
run: |
nox -s mypy
Loading
Loading