bigframes 2.0.0.dev0__tar.gz → 2.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (719) hide show
  1. {bigframes-2.0.0.dev0/third_party/bigframes_vendored/google_cloud_bigquery → bigframes-2.2.0}/LICENSE +118 -0
  2. {bigframes-2.0.0.dev0/bigframes.egg-info → bigframes-2.2.0}/PKG-INFO +9 -6
  3. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/README.rst +1 -0
  4. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/_config/bigquery_options.py +2 -2
  5. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/_config/experiment_options.py +31 -0
  6. bigframes-2.2.0/bigframes/_tools/__init__.py +19 -0
  7. bigframes-2.2.0/bigframes/_tools/strings.py +66 -0
  8. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/bigquery/__init__.py +7 -1
  9. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/bigquery/_operations/geo.py +122 -45
  10. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/blob/_functions.py +4 -1
  11. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/clients.py +22 -10
  12. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/array_value.py +27 -16
  13. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/bigframe_node.py +2 -3
  14. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/blocks.py +22 -25
  15. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/api.py +10 -6
  16. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/compiled.py +80 -60
  17. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/compiler.py +55 -57
  18. bigframes-2.2.0/bigframes/core/compile/configs.py +36 -0
  19. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/googlesql/query.py +14 -5
  20. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/polars/compiler.py +7 -14
  21. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/scalar_op_compiler.py +14 -2
  22. bigframes-2.2.0/bigframes/core/compile/sqlglot/__init__.py +18 -0
  23. bigframes-2.2.0/bigframes/core/compile/sqlglot/compiler.py +168 -0
  24. bigframes-2.2.0/bigframes/core/compile/sqlglot/scalar_compiler.py +33 -0
  25. bigframes-2.2.0/bigframes/core/compile/sqlglot/sqlglot_ir.py +147 -0
  26. bigframes-2.2.0/bigframes/core/compile/sqlglot/sqlglot_types.py +84 -0
  27. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/groupby/dataframe_group_by.py +39 -14
  28. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/groupby/series_group_by.py +31 -15
  29. bigframes-2.2.0/bigframes/core/local_data.py +458 -0
  30. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/log_adapter.py +34 -17
  31. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/nodes.py +160 -97
  32. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/rewrite/__init__.py +15 -4
  33. bigframes-2.2.0/bigframes/core/rewrite/fold_row_count.py +44 -0
  34. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/rewrite/order.py +27 -9
  35. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/rewrite/pruning.py +59 -63
  36. bigframes-2.2.0/bigframes/core/rewrite/scan_reduction.py +62 -0
  37. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/rewrite/slices.py +16 -3
  38. bigframes-2.2.0/bigframes/core/rewrite/windows.py +45 -0
  39. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/schema.py +11 -4
  40. bigframes-2.2.0/bigframes/core/sequences.py +105 -0
  41. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/sql.py +20 -4
  42. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/utils.py +7 -79
  43. bigframes-2.2.0/bigframes/core/window/__init__.py +17 -0
  44. bigframes-2.2.0/bigframes/core/window/ordering.py +86 -0
  45. bigframes-2.2.0/bigframes/core/window/rolling.py +185 -0
  46. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/window_spec.py +57 -9
  47. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/dataframe.py +155 -26
  48. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/dtypes.py +56 -18
  49. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/functions/_function_client.py +5 -1
  50. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/functions/_function_session.py +29 -10
  51. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/functions/function.py +0 -2
  52. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/geopandas/geoseries.py +5 -17
  53. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/base.py +8 -14
  54. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/core.py +35 -2
  55. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/decomposition.py +166 -1
  56. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/globals.py +1 -1
  57. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/imported.py +19 -16
  58. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/llm.py +105 -101
  59. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/loader.py +2 -0
  60. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/remote.py +8 -13
  61. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/sql.py +31 -14
  62. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/utils.py +24 -1
  63. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/__init__.py +2 -0
  64. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/ai.py +4 -4
  65. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/blob.py +31 -30
  66. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/geo_ops.py +11 -0
  67. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/semantics.py +5 -5
  68. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/strings.py +1 -3
  69. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/pandas/__init__.py +2 -2
  70. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/series.py +160 -14
  71. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/session/__init__.py +301 -247
  72. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/session/_io/bigquery/__init__.py +4 -3
  73. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/session/_io/bigquery/read_gbq_table.py +49 -3
  74. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/session/_io/pandas.py +4 -49
  75. bigframes-2.0.0.dev0/bigframes/session/temp_storage.py → bigframes-2.2.0/bigframes/session/anonymous_dataset.py +13 -7
  76. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/session/bigquery_session.py +9 -12
  77. bigframes-2.0.0.dev0/bigframes/session/executor.py → bigframes-2.2.0/bigframes/session/bq_caching_executor.py +134 -269
  78. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/session/clients.py +31 -0
  79. bigframes-2.2.0/bigframes/session/executor.py +169 -0
  80. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/session/loader.py +314 -178
  81. bigframes-2.2.0/bigframes/session/local_scan_executor.py +66 -0
  82. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/session/metrics.py +26 -25
  83. bigframes-2.2.0/bigframes/session/read_api_execution.py +108 -0
  84. bigframes-2.2.0/bigframes/session/semi_executor.py +33 -0
  85. bigframes-2.2.0/bigframes/session/temporary_storage.py +32 -0
  86. bigframes-2.2.0/bigframes/testing/__init__.py +19 -0
  87. bigframes-2.0.0.dev0/tests/unit/resources.py → bigframes-2.2.0/bigframes/testing/mocks.py +10 -1
  88. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/version.py +2 -2
  89. {bigframes-2.0.0.dev0 → bigframes-2.2.0/bigframes.egg-info}/PKG-INFO +9 -6
  90. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes.egg-info/SOURCES.txt +41 -3
  91. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes.egg-info/requires.txt +7 -5
  92. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/setup.py +5 -6
  93. bigframes-2.2.0/tests/data/ratings.jsonl +20 -0
  94. bigframes-2.2.0/tests/data/ratings_schema.json +17 -0
  95. bigframes-2.2.0/tests/data/scalars.jsonl +9 -0
  96. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/conftest.py +38 -7
  97. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/blob/test_function.py +6 -12
  98. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/functions/test_managed_function.py +43 -21
  99. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/ml/test_decomposition.py +46 -0
  100. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/ml/test_linear_model.py +2 -2
  101. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/test_dataframe_io.py +1 -1
  102. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/test_session.py +8 -43
  103. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/load/test_large_tables.py +5 -3
  104. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/bigquery/test_geo.py +179 -63
  105. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/bigquery/test_json.py +1 -1
  106. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/bigquery/test_struct.py +2 -3
  107. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/blob/test_io.py +22 -9
  108. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/blob/test_properties.py +16 -18
  109. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/geopandas/test_geoseries.py +32 -2
  110. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/test_llm.py +185 -144
  111. bigframes-2.2.0/tests/system/small/ml/test_multimodal_llm.py +70 -0
  112. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/operations/test_datetimes.py +31 -16
  113. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_bq_sessions.py +6 -1
  114. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_dataframe.py +101 -37
  115. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_dataframe_io.py +166 -11
  116. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_encryption.py +2 -32
  117. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_groupby.py +5 -3
  118. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_index.py +0 -8
  119. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_index_io.py +10 -3
  120. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_multiindex.py +5 -3
  121. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_null_index.py +6 -4
  122. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_series.py +45 -15
  123. bigframes-2.2.0/tests/system/small/test_series_io.py +116 -0
  124. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_session.py +489 -343
  125. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_unordered.py +5 -7
  126. bigframes-2.2.0/tests/system/small/test_window.py +397 -0
  127. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/utils.py +0 -11
  128. bigframes-2.2.0/tests/unit/_tools/__init__.py +19 -0
  129. bigframes-2.2.0/tests/unit/_tools/test_strings.py +149 -0
  130. bigframes-2.2.0/tests/unit/core/compile/sqlglot/compiler_session.py +76 -0
  131. bigframes-2.2.0/tests/unit/core/compile/sqlglot/conftest.py +112 -0
  132. bigframes-2.2.0/tests/unit/core/compile/sqlglot/snapshots/test_compile_readlocal/test_compile_readlocal/out.sql +171 -0
  133. bigframes-2.2.0/tests/unit/core/compile/sqlglot/snapshots/test_compile_readlocal/test_compile_readlocal_w_json_df/out.sql +4 -0
  134. bigframes-2.2.0/tests/unit/core/compile/sqlglot/snapshots/test_compile_readlocal/test_compile_readlocal_w_lists_df/out.sql +41 -0
  135. bigframes-2.2.0/tests/unit/core/compile/sqlglot/snapshots/test_compile_readlocal/test_compile_readlocal_w_nested_structs_df/out.sql +19 -0
  136. bigframes-2.2.0/tests/unit/core/compile/sqlglot/snapshots/test_compile_readlocal/test_compile_readlocal_w_structs_df/out.sql +21 -0
  137. bigframes-2.2.0/tests/unit/core/compile/sqlglot/test_compile_readlocal.py +55 -0
  138. bigframes-2.2.0/tests/unit/core/compile/sqlglot/test_sqlglot_types.py +64 -0
  139. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/core/test_bf_utils.py +1 -1
  140. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/core/test_blocks.py +2 -4
  141. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/core/test_dtypes.py +17 -0
  142. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/core/test_log_adapter.py +48 -1
  143. bigframes-2.2.0/tests/unit/core/test_sql.py +185 -0
  144. bigframes-2.2.0/tests/unit/functions/__init__.py +13 -0
  145. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/functions/test_remote_function.py +4 -5
  146. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/ml/test_compose.py +15 -14
  147. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/ml/test_golden_sql.py +60 -6
  148. bigframes-2.2.0/tests/unit/ml/test_matrix_factorization.py +182 -0
  149. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/session/test_io_bigquery.py +12 -11
  150. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/session/test_io_pandas.py +2 -3
  151. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/session/test_read_gbq_table.py +2 -3
  152. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/session/test_session.py +53 -44
  153. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/session/test_time.py +2 -1
  154. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/test_dataframe.py +8 -9
  155. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/test_dataframe_io.py +4 -4
  156. bigframes-2.2.0/tests/unit/test_local_data.py +46 -0
  157. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/test_local_engine.py +2 -14
  158. bigframes-2.2.0/tests/unit/test_sequences.py +55 -0
  159. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/test_series_io.py +4 -4
  160. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/constants.py +5 -1
  161. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/geopandas/geoseries.py +57 -6
  162. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/backends/bigquery/__init__.py +2 -1
  163. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/backends/sql/compilers/base.py +11 -5
  164. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/backends/sql/compilers/bigquery/__init__.py +9 -4
  165. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/api.py +1 -1
  166. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/datatypes/__init__.py +0 -1
  167. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/datatypes/core.py +0 -9
  168. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/datatypes/value.py +14 -9
  169. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/arrays.py +2 -2
  170. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/generic.py +1 -22
  171. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/geospatial.py +12 -12
  172. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/json.py +0 -18
  173. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/relations.py +1 -1
  174. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/generic.py +43 -12
  175. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/groupby/__init__.py +24 -3
  176. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/io/parsers/readers.py +1 -1
  177. bigframes-2.2.0/third_party/bigframes_vendored/sklearn/decomposition/_mf.py +95 -0
  178. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q11.py +1 -1
  179. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/version.py +2 -2
  180. bigframes-2.0.0.dev0/bigframes/core/local_data.py +0 -75
  181. bigframes-2.0.0.dev0/bigframes/core/window/__init__.py +0 -97
  182. bigframes-2.0.0.dev0/tests/data/scalars.jsonl +0 -9
  183. bigframes-2.0.0.dev0/tests/system/small/test_series_io.py +0 -35
  184. bigframes-2.0.0.dev0/tests/system/small/test_window.py +0 -190
  185. bigframes-2.0.0.dev0/tests/unit/core/test_sql.py +0 -123
  186. bigframes-2.0.0.dev0/third_party/bigframes_vendored/ibis/expr/datatypes/parse.py +0 -211
  187. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/MANIFEST.in +0 -0
  188. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/__init__.py +0 -0
  189. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/_config/__init__.py +0 -0
  190. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/_config/compute_options.py +0 -0
  191. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/_config/display_options.py +0 -0
  192. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/_config/sampling_options.py +0 -0
  193. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/bigquery/_operations/__init__.py +0 -0
  194. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/bigquery/_operations/approx_agg.py +0 -0
  195. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/bigquery/_operations/array.py +0 -0
  196. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/bigquery/_operations/datetime.py +0 -0
  197. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/bigquery/_operations/json.py +0 -0
  198. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/bigquery/_operations/search.py +0 -0
  199. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/bigquery/_operations/sql.py +0 -0
  200. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/bigquery/_operations/struct.py +0 -0
  201. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/constants.py +0 -0
  202. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/__init__.py +0 -0
  203. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/block_transforms.py +0 -0
  204. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/__init__.py +0 -0
  205. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/aggregate_compiler.py +0 -0
  206. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/concat.py +0 -0
  207. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/constants.py +0 -0
  208. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/default_ordering.py +0 -0
  209. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/explode.py +0 -0
  210. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/googlesql/__init__.py +0 -0
  211. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/googlesql/abc.py +0 -0
  212. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/googlesql/datatype.py +0 -0
  213. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/googlesql/expression.py +0 -0
  214. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/googlesql/function.py +0 -0
  215. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/ibis_types.py +0 -0
  216. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/polars/__init__.py +0 -0
  217. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/compile/schema_translator.py +0 -0
  218. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/convert.py +0 -0
  219. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/eval.py +0 -0
  220. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/explode.py +0 -0
  221. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/expression.py +0 -0
  222. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/global_session.py +0 -0
  223. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/groupby/__init__.py +0 -0
  224. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/groupby/aggs.py +0 -0
  225. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/guid.py +0 -0
  226. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/identifiers.py +0 -0
  227. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/indexers.py +0 -0
  228. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/indexes/__init__.py +0 -0
  229. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/indexes/base.py +0 -0
  230. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/indexes/multi.py +0 -0
  231. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/join_def.py +0 -0
  232. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/ordering.py +0 -0
  233. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/pruning.py +0 -0
  234. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/reshape/__init__.py +0 -0
  235. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/reshape/api.py +0 -0
  236. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/reshape/concat.py +0 -0
  237. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/reshape/encoding.py +0 -0
  238. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/reshape/merge.py +0 -0
  239. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/reshape/tile.py +0 -0
  240. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/rewrite/identifiers.py +0 -0
  241. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/rewrite/implicit_align.py +0 -0
  242. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/rewrite/legacy_align.py +0 -0
  243. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/rewrite/timedeltas.py +0 -0
  244. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/scalar.py +0 -0
  245. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/slices.py +0 -0
  246. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/tools/__init__.py +0 -0
  247. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/tools/datetimes.py +0 -0
  248. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/tree_properties.py +0 -0
  249. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/core/validations.py +0 -0
  250. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/enums.py +0 -0
  251. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/exceptions.py +0 -0
  252. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/features.py +0 -0
  253. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/formatting_helpers.py +0 -0
  254. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/functions/__init__.py +0 -0
  255. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/functions/_utils.py +0 -0
  256. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/functions/function_template.py +0 -0
  257. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/geopandas/__init__.py +0 -0
  258. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/__init__.py +0 -0
  259. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/cluster.py +0 -0
  260. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/compose.py +0 -0
  261. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/ensemble.py +0 -0
  262. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/forecasting.py +0 -0
  263. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/impute.py +0 -0
  264. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/linear_model.py +0 -0
  265. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/metrics/__init__.py +0 -0
  266. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/metrics/_metrics.py +0 -0
  267. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/metrics/pairwise.py +0 -0
  268. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/model_selection.py +0 -0
  269. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/pipeline.py +0 -0
  270. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/ml/preprocessing.py +0 -0
  271. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/_matplotlib/__init__.py +0 -0
  272. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/_matplotlib/core.py +0 -0
  273. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/_matplotlib/hist.py +0 -0
  274. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/_op_converters.py +0 -0
  275. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/aggregations.py +0 -0
  276. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/array_ops.py +0 -0
  277. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/base.py +0 -0
  278. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/base_ops.py +0 -0
  279. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/blob_ops.py +0 -0
  280. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/bool_ops.py +0 -0
  281. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/comparison_ops.py +0 -0
  282. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/date_ops.py +0 -0
  283. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/datetime_ops.py +0 -0
  284. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/datetimes.py +0 -0
  285. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/distance_ops.py +0 -0
  286. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/frequency_ops.py +0 -0
  287. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/generic_ops.py +0 -0
  288. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/json_ops.py +0 -0
  289. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/lists.py +0 -0
  290. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/numeric_ops.py +0 -0
  291. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/numpy_op_maps.py +0 -0
  292. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/plotting.py +0 -0
  293. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/remote_function_ops.py +0 -0
  294. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/string_ops.py +0 -0
  295. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/struct_ops.py +0 -0
  296. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/structs.py +0 -0
  297. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/time_ops.py +0 -0
  298. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/timedelta_ops.py +0 -0
  299. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/operations/type.py +0 -0
  300. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/pandas/core/__init__.py +0 -0
  301. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/pandas/core/api.py +0 -0
  302. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/pandas/core/tools/__init__.py +0 -0
  303. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/pandas/core/tools/timedeltas.py +0 -0
  304. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/pandas/io/__init__.py +0 -0
  305. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/pandas/io/api.py +0 -0
  306. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/py.typed +0 -0
  307. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/session/_io/__init__.py +0 -0
  308. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/session/environment.py +0 -0
  309. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/session/planner.py +0 -0
  310. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/session/time.py +0 -0
  311. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/session/validation.py +0 -0
  312. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/streaming/__init__.py +0 -0
  313. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes/streaming/dataframe.py +0 -0
  314. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes.egg-info/dependency_links.txt +0 -0
  315. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes.egg-info/not-zip-safe +0 -0
  316. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/bigframes.egg-info/top_level.txt +0 -0
  317. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/pyproject.toml +0 -0
  318. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/setup.cfg +0 -0
  319. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/__init__.py +0 -0
  320. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/README.md +0 -0
  321. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/__init__.py +0 -0
  322. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/groupby/config.jsonl +0 -0
  323. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/groupby/q1.py +0 -0
  324. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/groupby/q10.py +0 -0
  325. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/groupby/q2.py +0 -0
  326. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/groupby/q3.py +0 -0
  327. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/groupby/q4.py +0 -0
  328. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/groupby/q5.py +0 -0
  329. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/groupby/q6.py +0 -0
  330. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/groupby/q7.py +0 -0
  331. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/groupby/q8.py +0 -0
  332. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/join/config.jsonl +0 -0
  333. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/join/q1.py +0 -0
  334. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/join/q2.py +0 -0
  335. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/join/q3.py +0 -0
  336. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/join/q4.py +0 -0
  337. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/join/q5.py +0 -0
  338. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/sort/config.jsonl +0 -0
  339. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/db_benchmark/sort/q1.py +0 -0
  340. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/config.jsonl +0 -0
  341. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q1.py +0 -0
  342. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q10.py +0 -0
  343. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q11.py +0 -0
  344. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q12.py +0 -0
  345. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q13.py +0 -0
  346. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q14.py +0 -0
  347. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q15.py +0 -0
  348. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q16.py +0 -0
  349. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q17.py +0 -0
  350. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q18.py +0 -0
  351. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q19.py +0 -0
  352. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q2.py +0 -0
  353. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q20.py +0 -0
  354. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q21.py +0 -0
  355. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q22.py +0 -0
  356. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q3.py +0 -0
  357. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q4.py +0 -0
  358. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q5.py +0 -0
  359. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q6.py +0 -0
  360. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q7.py +0 -0
  361. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q8.py +0 -0
  362. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/tpch/q9.py +0 -0
  363. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/benchmark/utils.py +0 -0
  364. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/hockey_players.json +0 -0
  365. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/hockey_players.jsonl +0 -0
  366. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/json.jsonl +0 -0
  367. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/json_schema.json +0 -0
  368. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/matrix_2by3.json +0 -0
  369. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/matrix_2by3.jsonl +0 -0
  370. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/matrix_3by4.json +0 -0
  371. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/matrix_3by4.jsonl +0 -0
  372. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/nested.jsonl +0 -0
  373. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/nested_schema.json +0 -0
  374. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/nested_structs.jsonl +0 -0
  375. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/nested_structs_schema.json +0 -0
  376. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/penguins.jsonl +0 -0
  377. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/penguins_schema.json +0 -0
  378. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/people.csv +0 -0
  379. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/repeated.jsonl +0 -0
  380. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/repeated_schema.json +0 -0
  381. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/scalars_schema.json +0 -0
  382. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/time_series.jsonl +0 -0
  383. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/time_series_schema.json +0 -0
  384. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/urban_areas.jsonl +0 -0
  385. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/data/urban_areas_schema.json +0 -0
  386. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/__init__.py +0 -0
  387. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/__init__.py +0 -0
  388. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/functions/__init__.py +0 -0
  389. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/functions/test_remote_function.py +0 -0
  390. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/ml/test_cluster.py +0 -0
  391. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/ml/test_compose.py +0 -0
  392. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/ml/test_core.py +0 -0
  393. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/ml/test_ensemble.py +0 -0
  394. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/ml/test_forecasting.py +0 -0
  395. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/ml/test_model_selection.py +0 -0
  396. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/ml/test_pipeline.py +0 -0
  397. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/operations/__init__.py +0 -0
  398. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/operations/conftest.py +0 -0
  399. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/operations/test_ai.py +0 -0
  400. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/operations/test_semantics.py +0 -0
  401. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/test_dataframe.py +0 -0
  402. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/test_location.py +0 -0
  403. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/large/test_streaming.py +0 -0
  404. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/load/conftest.py +0 -0
  405. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/load/test_llm.py +0 -0
  406. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/__init__.py +0 -0
  407. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/bigquery/__init__.py +0 -0
  408. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/bigquery/test_approx_agg.py +0 -0
  409. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/bigquery/test_array.py +0 -0
  410. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/bigquery/test_datetime.py +0 -0
  411. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/bigquery/test_sql.py +0 -0
  412. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/bigquery/test_vector_search.py +0 -0
  413. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/blob/test_urls.py +0 -0
  414. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/core/__init__.py +0 -0
  415. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/core/test_convert.py +0 -0
  416. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/core/test_indexers.py +0 -0
  417. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/functions/__init__.py +0 -0
  418. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/functions/test_remote_function.py +0 -0
  419. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/__init__.py +0 -0
  420. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/conftest.py +0 -0
  421. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/test_cluster.py +0 -0
  422. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/test_core.py +0 -0
  423. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/test_decomposition.py +0 -0
  424. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/test_ensemble.py +0 -0
  425. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/test_forecasting.py +0 -0
  426. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/test_imported.py +0 -0
  427. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/test_impute.py +0 -0
  428. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/test_linear_model.py +0 -0
  429. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/test_metrics.py +0 -0
  430. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/test_metrics_pairwise.py +0 -0
  431. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/test_model_selection.py +0 -0
  432. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/test_preprocessing.py +0 -0
  433. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/test_register.py +0 -0
  434. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/test_remote.py +0 -0
  435. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/ml/test_utils.py +0 -0
  436. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/operations/__init__.py +0 -0
  437. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/operations/test_ai.py +0 -0
  438. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/operations/test_dates.py +0 -0
  439. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/operations/test_lists.py +0 -0
  440. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/operations/test_plotting.py +0 -0
  441. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/operations/test_semantics.py +0 -0
  442. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/operations/test_strings.py +0 -0
  443. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/operations/test_struct.py +0 -0
  444. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/operations/test_timedeltas.py +0 -0
  445. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/regression/test_issue355_merge_after_filter.py +0 -0
  446. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_ipython.py +0 -0
  447. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_numpy.py +0 -0
  448. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_pandas.py +0 -0
  449. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_pandas_options.py +0 -0
  450. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_progress_bar.py +0 -0
  451. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/system/small/test_scalar.py +0 -0
  452. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/__init__.py +0 -0
  453. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/_config/__init__.py +0 -0
  454. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/_config/test_bigquery_options.py +0 -0
  455. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/_config/test_experiment_options.py +0 -0
  456. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/_config/test_threaded_options.py +0 -0
  457. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/bigquery/__init__.py +0 -0
  458. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/bigquery/test_json.py +0 -0
  459. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/core/__init__.py +0 -0
  460. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/core/compile/__init__.py +0 -0
  461. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/core/compile/googlesql/__init__.py +0 -0
  462. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/core/compile/googlesql/test_expression.py +0 -0
  463. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/core/compile/googlesql/test_function.py +0 -0
  464. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/core/compile/googlesql/test_query.py +0 -0
  465. {bigframes-2.0.0.dev0/tests/unit/functions → bigframes-2.2.0/tests/unit/core/compile/sqlglot}/__init__.py +0 -0
  466. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/core/test_expression.py +0 -0
  467. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/core/test_indexes.py +0 -0
  468. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/core/test_rewrite.py +0 -0
  469. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/core/test_slices.py +0 -0
  470. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/core/test_windowspec.py +0 -0
  471. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/functions/test_function_template.py +0 -0
  472. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/functions/test_remote_function_utils.py +0 -0
  473. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/ml/__init__.py +0 -0
  474. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/ml/test_api_primitives.py +0 -0
  475. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/ml/test_forecasting.py +0 -0
  476. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/ml/test_pipeline.py +0 -0
  477. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/ml/test_sql.py +0 -0
  478. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/operations/__init__.py +0 -0
  479. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/polars_session.py +0 -0
  480. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/session/__init__.py +0 -0
  481. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/session/test_clients.py +0 -0
  482. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/test_clients.py +0 -0
  483. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/test_constants.py +0 -0
  484. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/test_daemon.py +0 -0
  485. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/test_features.py +0 -0
  486. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/test_formatting_helpers.py +0 -0
  487. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/test_notebook.py +0 -0
  488. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/test_pandas.py +0 -0
  489. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/test_planner.py +0 -0
  490. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/tests/unit/test_series.py +0 -0
  491. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/__init__.py +0 -0
  492. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/cpython/LICENSE +0 -0
  493. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/cpython/__init__.py +0 -0
  494. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/cpython/_pprint.py +0 -0
  495. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/db_benchmark/LICENSE +0 -0
  496. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/db_benchmark/METADATA +0 -0
  497. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/db_benchmark/README.md +0 -0
  498. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/db_benchmark/__init__.py +0 -0
  499. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/db_benchmark/groupby_queries.py +0 -0
  500. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/db_benchmark/join_queries.py +0 -0
  501. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/db_benchmark/sort_queries.py +0 -0
  502. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/geopandas/LICENSE.txt +0 -0
  503. {bigframes-2.0.0.dev0 → bigframes-2.2.0/third_party/bigframes_vendored/google_cloud_bigquery}/LICENSE +0 -0
  504. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/google_cloud_bigquery/__init__.py +0 -0
  505. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/google_cloud_bigquery/_pandas_helpers.py +0 -0
  506. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/google_cloud_bigquery/tests/__init__.py +0 -0
  507. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/google_cloud_bigquery/tests/unit/__init__.py +0 -0
  508. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/google_cloud_bigquery/tests/unit/test_pandas_helpers.py +0 -0
  509. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/LICENSE.txt +0 -0
  510. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/README.md +0 -0
  511. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/__init__.py +0 -0
  512. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/backends/__init__.py +0 -0
  513. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/backends/bigquery/backend.py +0 -0
  514. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/backends/bigquery/client.py +0 -0
  515. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/backends/bigquery/converter.py +0 -0
  516. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/backends/bigquery/datatypes.py +0 -0
  517. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/backends/bigquery/udf/__init__.py +0 -0
  518. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/backends/bigquery/udf/core.py +0 -0
  519. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/backends/bigquery/udf/find.py +0 -0
  520. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/backends/bigquery/udf/rewrite.py +0 -0
  521. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/backends/sql/__init__.py +0 -0
  522. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/backends/sql/compilers/__init__.py +0 -0
  523. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/backends/sql/datatypes.py +0 -0
  524. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/backends/sql/rewrites.py +0 -0
  525. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/common/__init__.py +0 -0
  526. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/common/annotations.py +0 -0
  527. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/common/bases.py +0 -0
  528. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/common/caching.py +0 -0
  529. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/common/collections.py +0 -0
  530. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/common/deferred.py +0 -0
  531. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/common/dispatch.py +0 -0
  532. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/common/egraph.py +0 -0
  533. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/common/exceptions.py +0 -0
  534. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/common/graph.py +0 -0
  535. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/common/grounds.py +0 -0
  536. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/common/numeric.py +0 -0
  537. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/common/patterns.py +0 -0
  538. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/common/selectors.py +0 -0
  539. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/common/temporal.py +0 -0
  540. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/common/typing.py +0 -0
  541. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/config.py +0 -0
  542. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/__init__.py +0 -0
  543. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/builders.py +0 -0
  544. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/datashape.py +0 -0
  545. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/datatypes/cast.py +0 -0
  546. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/decompile.py +0 -0
  547. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/format.py +0 -0
  548. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/__init__.py +0 -0
  549. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/analytic.py +0 -0
  550. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/arrays.py +0 -0
  551. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/core.py +0 -0
  552. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/generic.py +0 -0
  553. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/geospatial.py +0 -0
  554. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/histograms.py +0 -0
  555. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/json.py +0 -0
  556. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/logical.py +0 -0
  557. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/maps.py +0 -0
  558. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/numeric.py +0 -0
  559. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/reductions.py +0 -0
  560. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/relations.py +0 -0
  561. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/sortkeys.py +0 -0
  562. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/strings.py +0 -0
  563. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/structs.py +0 -0
  564. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/subqueries.py +0 -0
  565. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/temporal.py +0 -0
  566. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/udf.py +0 -0
  567. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/operations/window.py +0 -0
  568. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/rewrites.py +0 -0
  569. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/rules.py +0 -0
  570. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/schema.py +0 -0
  571. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/sql.py +0 -0
  572. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/__init__.py +0 -0
  573. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/binary.py +0 -0
  574. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/core.py +0 -0
  575. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/dataframe_interchange.py +0 -0
  576. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/groupby.py +0 -0
  577. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/joins.py +0 -0
  578. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/logical.py +0 -0
  579. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/maps.py +0 -0
  580. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/numeric.py +0 -0
  581. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/pretty.py +0 -0
  582. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/strings.py +0 -0
  583. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/structs.py +0 -0
  584. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/temporal.py +0 -0
  585. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/temporal_windows.py +0 -0
  586. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/typing.py +0 -0
  587. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/types/uuid.py +0 -0
  588. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/expr/visualize.py +0 -0
  589. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/formats/__init__.py +0 -0
  590. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/formats/numpy.py +0 -0
  591. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/formats/pandas.py +0 -0
  592. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/formats/polars.py +0 -0
  593. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/formats/pyarrow.py +0 -0
  594. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/selectors.py +0 -0
  595. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/ibis/util.py +0 -0
  596. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/AUTHORS.md +0 -0
  597. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/LICENSE +0 -0
  598. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/README.md +0 -0
  599. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/__init__.py +0 -0
  600. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/_config/config.py +0 -0
  601. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/arrays/__init__.py +0 -0
  602. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/arrays/arrow/__init__.py +0 -0
  603. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/arrays/arrow/accessors.py +0 -0
  604. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/arrays/datetimelike.py +0 -0
  605. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/common.py +0 -0
  606. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/computation/align.py +0 -0
  607. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/computation/common.py +0 -0
  608. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/computation/engines.py +0 -0
  609. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/computation/eval.py +0 -0
  610. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/computation/expr.py +0 -0
  611. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/computation/ops.py +0 -0
  612. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/computation/parsing.py +0 -0
  613. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/computation/scope.py +0 -0
  614. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/config_init.py +0 -0
  615. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/dtypes/inference.py +0 -0
  616. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/frame.py +0 -0
  617. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/indexes/__init__.py +0 -0
  618. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/indexes/accessor.py +0 -0
  619. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/indexes/base.py +0 -0
  620. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/indexes/multi.py +0 -0
  621. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/indexing.py +0 -0
  622. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/reshape/__init__.py +0 -0
  623. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/reshape/concat.py +0 -0
  624. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/reshape/encoding.py +0 -0
  625. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/reshape/merge.py +0 -0
  626. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/reshape/tile.py +0 -0
  627. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/series.py +0 -0
  628. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/strings/accessor.py +0 -0
  629. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/tools/__init__.py +0 -0
  630. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/tools/datetimes.py +0 -0
  631. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/tools/timedeltas.py +0 -0
  632. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/window/__init__.py +0 -0
  633. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/core/window/rolling.py +0 -0
  634. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/io/__init__.py +0 -0
  635. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/io/common.py +0 -0
  636. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/io/gbq.py +0 -0
  637. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/io/parquet.py +0 -0
  638. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/io/parsers/__init__.py +0 -0
  639. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/io/pickle.py +0 -0
  640. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/pandas/_typing.py +0 -0
  641. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/plotting/_core.py +0 -0
  642. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/util/_exceptions.py +0 -0
  643. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/pandas/util/_validators.py +0 -0
  644. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/py.typed +0 -0
  645. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/COPYING +0 -0
  646. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/__init__.py +0 -0
  647. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/base.py +0 -0
  648. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/cluster/_kmeans.py +0 -0
  649. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/compose/_column_transformer.py +0 -0
  650. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/decomposition/_pca.py +0 -0
  651. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/ensemble/__init__.py +0 -0
  652. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/ensemble/_forest.py +0 -0
  653. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/impute/_base.py +0 -0
  654. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/linear_model/_base.py +0 -0
  655. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/linear_model/_logistic.py +0 -0
  656. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/metrics/_classification.py +0 -0
  657. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/metrics/_ranking.py +0 -0
  658. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/metrics/_regression.py +0 -0
  659. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/metrics/pairwise.py +0 -0
  660. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/model_selection/_split.py +0 -0
  661. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/model_selection/_validation.py +0 -0
  662. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/pipeline.py +0 -0
  663. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/preprocessing/_data.py +0 -0
  664. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/preprocessing/_discretization.py +0 -0
  665. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/preprocessing/_encoder.py +0 -0
  666. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/preprocessing/_label.py +0 -0
  667. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/sklearn/preprocessing/_polynomial.py +0 -0
  668. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/LICENSE +0 -0
  669. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/METADATA +0 -0
  670. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/README.md +0 -0
  671. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/TPC-EULA.txt +0 -0
  672. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/__init__.py +0 -0
  673. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/__init__.py +0 -0
  674. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q1.py +0 -0
  675. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q10.py +0 -0
  676. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q12.py +0 -0
  677. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q13.py +0 -0
  678. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q14.py +0 -0
  679. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q15.py +0 -0
  680. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q16.py +0 -0
  681. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q17.py +0 -0
  682. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q18.py +0 -0
  683. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q19.py +0 -0
  684. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q2.py +0 -0
  685. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q20.py +0 -0
  686. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q21.py +0 -0
  687. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q22.py +0 -0
  688. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q3.py +0 -0
  689. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q4.py +0 -0
  690. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q5.py +0 -0
  691. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q6.py +0 -0
  692. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q7.py +0 -0
  693. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q8.py +0 -0
  694. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/queries/q9.py +0 -0
  695. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q1.sql +0 -0
  696. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q10.sql +0 -0
  697. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q11.sql +0 -0
  698. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q12.sql +0 -0
  699. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q13.sql +0 -0
  700. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q14.sql +0 -0
  701. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q15.sql +0 -0
  702. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q16.sql +0 -0
  703. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q17.sql +0 -0
  704. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q18.sql +0 -0
  705. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q19.sql +0 -0
  706. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q2.sql +0 -0
  707. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q20.sql +0 -0
  708. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q21.sql +0 -0
  709. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q22.sql +0 -0
  710. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q3.sql +0 -0
  711. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q4.sql +0 -0
  712. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q5.sql +0 -0
  713. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q6.sql +0 -0
  714. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q7.sql +0 -0
  715. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q8.sql +0 -0
  716. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/tpch/sql_queries/q9.sql +0 -0
  717. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/xgboost/LICENSE +0 -0
  718. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/xgboost/__init__.py +0 -0
  719. {bigframes-2.0.0.dev0 → bigframes-2.2.0}/third_party/bigframes_vendored/xgboost/sklearn.py +0 -0
@@ -1,3 +1,6 @@
1
+ Files: All files not covered by another license. Notably: the bigframes module,
2
+ tests/*, bigframes_vendored.google_cloud_bigquery module,
3
+ bigframes_vendored.ibis module, and bigframes_vendored.xgboost module.
1
4
 
2
5
  Apache License
3
6
  Version 2.0, January 2004
@@ -200,3 +203,118 @@
200
203
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
204
  See the License for the specific language governing permissions and
202
205
  limitations under the License.
206
+
207
+ ---
208
+
209
+ Files: For the bigframes_vendored.cpython module.
210
+
211
+ PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
212
+
213
+ 1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and the Individual or Organization ("Licensee") accessing and otherwise using this software ("Python") in source or binary form and its associated documentation.
214
+ 2. Subject to the terms and conditions of this License Agreement, PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright , i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation All Rights Reserved" are retained in Python alone or in any derivative version prepared by Licensee.
215
+ 3. In the event Licensee prepares a derivative work that is based on or incorporates Python or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python.
216
+ 4. PSF is making Python available to Licensee on an "AS IS" basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
217
+ 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
218
+ 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions.
219
+ 7. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between PSF and Licensee. This License Agreement does not grant permission to use PSF trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party.
220
+ 8. By copying, installing or otherwise using Python, Licensee agrees to be bound by the terms and conditions of this License Agreement.
221
+
222
+ ---
223
+
224
+ Files: for the bigframes_vendored.geopandas module.
225
+
226
+ Copyright (c) 2013-2022, GeoPandas developers.
227
+ All rights reserved.
228
+
229
+ Redistribution and use in source and binary forms, with or without
230
+ modification, are permitted provided that the following conditions are met:
231
+
232
+ * Redistributions of source code must retain the above copyright notice, this
233
+ list of conditions and the following disclaimer.
234
+ * Redistributions in binary form must reproduce the above copyright notice,
235
+ this list of conditions and the following disclaimer in the documentation
236
+ and/or other materials provided with the distribution.
237
+ * Neither the name of GeoPandas nor the names of its contributors may
238
+ be used to endorse or promote products derived from this software without
239
+ specific prior written permission.
240
+
241
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
242
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
243
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
244
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
245
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
246
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
247
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
248
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
249
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
250
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
251
+
252
+ ---
253
+
254
+ Files: The bigframes_vendored.pandas module.
255
+
256
+ BSD 3-Clause License
257
+
258
+ Copyright (c) 2008-2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
259
+ All rights reserved.
260
+
261
+ Copyright (c) 2011-2023, Open source contributors.
262
+
263
+ Redistribution and use in source and binary forms, with or without
264
+ modification, are permitted provided that the following conditions are met:
265
+
266
+ * Redistributions of source code must retain the above copyright notice, this
267
+ list of conditions and the following disclaimer.
268
+
269
+ * Redistributions in binary form must reproduce the above copyright notice,
270
+ this list of conditions and the following disclaimer in the documentation
271
+ and/or other materials provided with the distribution.
272
+
273
+ * Neither the name of the copyright holder nor the names of its
274
+ contributors may be used to endorse or promote products derived from
275
+ this software without specific prior written permission.
276
+
277
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
278
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
279
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
280
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
281
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
282
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
283
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
284
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
285
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
286
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
287
+
288
+ ---
289
+
290
+ Files: The bigframes_vendored.sklearn module.
291
+
292
+ BSD 3-Clause License
293
+
294
+ Copyright (c) 2007-2023 The scikit-learn developers.
295
+ All rights reserved.
296
+
297
+ Redistribution and use in source and binary forms, with or without
298
+ modification, are permitted provided that the following conditions are met:
299
+
300
+ * Redistributions of source code must retain the above copyright notice, this
301
+ list of conditions and the following disclaimer.
302
+
303
+ * Redistributions in binary form must reproduce the above copyright notice,
304
+ this list of conditions and the following disclaimer in the documentation
305
+ and/or other materials provided with the distribution.
306
+
307
+ * Neither the name of the copyright holder nor the names of its
308
+ contributors may be used to endorse or promote products derived from
309
+ this software without specific prior written permission.
310
+
311
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
312
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
313
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
314
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
315
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
316
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
317
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
318
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
319
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
320
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bigframes
3
- Version: 2.0.0.dev0
3
+ Version: 2.2.0
4
4
  Summary: BigQuery DataFrames -- scalable analytics and machine learning with BigQuery
5
5
  Home-page: https://github.com/googleapis/python-bigquery-dataframes
6
6
  Author: Google LLC
@@ -26,22 +26,23 @@ Requires-Dist: cloudpickle>=2.0.0
26
26
  Requires-Dist: fsspec>=2023.3.0
27
27
  Requires-Dist: gcsfs>=2023.3.0
28
28
  Requires-Dist: geopandas>=0.12.2
29
- Requires-Dist: google-auth<3.0dev,>=2.15.0
29
+ Requires-Dist: google-auth<3.0,>=2.15.0
30
30
  Requires-Dist: google-cloud-bigtable>=2.24.0
31
31
  Requires-Dist: google-cloud-pubsub>=2.21.4
32
32
  Requires-Dist: google-cloud-bigquery[bqstorage,pandas]>=3.31.0
33
+ Requires-Dist: google-cloud-bigquery-storage<3.0.0,>=2.30.0
33
34
  Requires-Dist: google-cloud-functions>=1.12.0
34
35
  Requires-Dist: google-cloud-bigquery-connection>=1.12.0
35
36
  Requires-Dist: google-cloud-iam>=2.12.1
36
37
  Requires-Dist: google-cloud-resource-manager>=1.10.3
37
38
  Requires-Dist: google-cloud-storage>=2.0.0
38
- Requires-Dist: jellyfish<1.1.2,>=0.8.9
39
39
  Requires-Dist: numpy>=1.24.0
40
40
  Requires-Dist: pandas>=1.5.3
41
41
  Requires-Dist: pandas-gbq>=0.26.1
42
42
  Requires-Dist: pyarrow>=15.0.2
43
43
  Requires-Dist: pydata-google-auth>=1.8.2
44
44
  Requires-Dist: requests>=2.27.1
45
+ Requires-Dist: shapely>=1.8.5
45
46
  Requires-Dist: sqlglot>=23.6.3
46
47
  Requires-Dist: tabulate>=0.9
47
48
  Requires-Dist: ipywidgets>=7.7.1
@@ -49,30 +50,31 @@ Requires-Dist: humanize>=4.6.0
49
50
  Requires-Dist: matplotlib>=3.7.1
50
51
  Requires-Dist: db-dtypes>=1.4.2
51
52
  Requires-Dist: atpublic<6,>=2.3
52
- Requires-Dist: parsy<3,>=2
53
53
  Requires-Dist: python-dateutil<3,>=2.8.2
54
54
  Requires-Dist: pytz>=2022.7
55
55
  Requires-Dist: toolz<2,>=0.11
56
56
  Requires-Dist: typing-extensions<5,>=4.5.0
57
57
  Requires-Dist: rich<14,>=12.4.4
58
58
  Provides-Extra: tests
59
+ Requires-Dist: freezegun; extra == "tests"
60
+ Requires-Dist: pytest-snapshot; extra == "tests"
59
61
  Provides-Extra: polars
60
62
  Requires-Dist: polars>=1.7.0; extra == "polars"
61
63
  Provides-Extra: scikit-learn
62
64
  Requires-Dist: scikit-learn>=1.2.2; extra == "scikit-learn"
63
65
  Provides-Extra: dev
64
66
  Requires-Dist: pytest; extra == "dev"
65
- Requires-Dist: pytest-mock; extra == "dev"
66
67
  Requires-Dist: pre-commit; extra == "dev"
67
68
  Requires-Dist: nox; extra == "dev"
68
69
  Requires-Dist: google-cloud-testutils; extra == "dev"
69
70
  Provides-Extra: all
71
+ Requires-Dist: freezegun; extra == "all"
70
72
  Requires-Dist: google-cloud-testutils; extra == "all"
71
73
  Requires-Dist: nox; extra == "all"
72
74
  Requires-Dist: polars>=1.7.0; extra == "all"
73
75
  Requires-Dist: pre-commit; extra == "all"
74
76
  Requires-Dist: pytest; extra == "all"
75
- Requires-Dist: pytest-mock; extra == "all"
77
+ Requires-Dist: pytest-snapshot; extra == "all"
76
78
  Requires-Dist: scikit-learn>=1.2.2; extra == "all"
77
79
 
78
80
  BigQuery DataFrames
@@ -102,6 +104,7 @@ Version 2.0 introduces breaking changes for improved security and performance. K
102
104
  ``cloud_function_service_account="default"``. And network ingress now defaults to ``"internal-only"``.
103
105
  * **@remote_function Argument Passing:** Arguments other than ``input_types``, ``output_type``, and ``dataset``
104
106
  to ``remote_function`` must now be passed using keyword syntax, as positional arguments are no longer supported.
107
+ * **@udf Argument Passing:** Arguments ``dataset`` and ``name`` to ``udf`` are now mandatory.
105
108
  * **Endpoint Connections:** Automatic fallback to locational endpoints in certain regions is removed.
106
109
  * **LLM Updates (Gemini Integration):** Integrations now default to the ``gemini-2.0-flash-001`` model.
107
110
  PaLM2 support has been removed; please migrate any existing PaLM2 usage to Gemini. **Note:** The current default
@@ -25,6 +25,7 @@ Version 2.0 introduces breaking changes for improved security and performance. K
25
25
  ``cloud_function_service_account="default"``. And network ingress now defaults to ``"internal-only"``.
26
26
  * **@remote_function Argument Passing:** Arguments other than ``input_types``, ``output_type``, and ``dataset``
27
27
  to ``remote_function`` must now be passed using keyword syntax, as positional arguments are no longer supported.
28
+ * **@udf Argument Passing:** Arguments ``dataset`` and ``name`` to ``udf`` are now mandatory.
28
29
  * **Endpoint Connections:** Automatic fallback to locational endpoints in certain regions is removed.
29
30
  * **LLM Updates (Gemini Integration):** Integrations now default to the ``gemini-2.0-flash-001`` model.
30
31
  PaLM2 support has been removed; please migrate any existing PaLM2 usage to Gemini. **Note:** The current default
@@ -21,7 +21,6 @@ import warnings
21
21
 
22
22
  import google.api_core.exceptions
23
23
  import google.auth.credentials
24
- import jellyfish
25
24
 
26
25
  import bigframes.constants
27
26
  import bigframes.enums
@@ -37,6 +36,7 @@ UNKNOWN_LOCATION_MESSAGE = "The location '{location}' is set to an unknown value
37
36
 
38
37
 
39
38
  def _get_validated_location(value: Optional[str]) -> Optional[str]:
39
+ import bigframes._tools.strings
40
40
 
41
41
  if value is None or value in bigframes.constants.ALL_BIGQUERY_LOCATIONS:
42
42
  return value
@@ -53,7 +53,7 @@ def _get_validated_location(value: Optional[str]) -> Optional[str]:
53
53
 
54
54
  possibility = min(
55
55
  bigframes.constants.ALL_BIGQUERY_LOCATIONS,
56
- key=lambda item: jellyfish.levenshtein_distance(location, item),
56
+ key=lambda item: bigframes._tools.strings.levenshtein_distance(location, item),
57
57
  )
58
58
  # There are many layers before we get to (possibly) the user's code:
59
59
  # -> bpd.options.bigquery.location = "us-central-1"
@@ -12,6 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from typing import Optional
15
16
  import warnings
16
17
 
17
18
  import bigframes.exceptions as bfe
@@ -26,6 +27,9 @@ class ExperimentOptions:
26
27
  self._semantic_operators: bool = False
27
28
  self._ai_operators: bool = False
28
29
  self._blob: bool = False
30
+ self._blob_display: bool = True
31
+ self._blob_display_width: Optional[int] = None
32
+ self._blob_display_height: Optional[int] = None
29
33
 
30
34
  @property
31
35
  def semantic_operators(self) -> bool:
@@ -67,3 +71,30 @@ class ExperimentOptions:
67
71
  )
68
72
  warnings.warn(msg, category=bfe.PreviewWarning)
69
73
  self._blob = value
74
+
75
+ @property
76
+ def blob_display(self) -> bool:
77
+ """Whether to display the blob content in notebook DataFrame preview. Default True."""
78
+ return self._blob_display
79
+
80
+ @blob_display.setter
81
+ def blob_display(self, value: bool):
82
+ self._blob_display = value
83
+
84
+ @property
85
+ def blob_display_width(self) -> Optional[int]:
86
+ """Width in pixels that the blob constrained to."""
87
+ return self._blob_display_width
88
+
89
+ @blob_display_width.setter
90
+ def blob_display_width(self, value: Optional[int]):
91
+ self._blob_display_width = value
92
+
93
+ @property
94
+ def blob_display_height(self) -> Optional[int]:
95
+ """Height in pixels that the blob constrained to."""
96
+ return self._blob_display_height
97
+
98
+ @blob_display_height.setter
99
+ def blob_display_height(self, value: Optional[int]):
100
+ self._blob_display_height = value
@@ -0,0 +1,19 @@
1
+ # Copyright 2025 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ """_tools is a collection of helper functions with minimal dependencies.
16
+
17
+ Please keep the dependencies used in this subpackage to a minimum to avoid the
18
+ risk of circular dependencies.
19
+ """
@@ -0,0 +1,66 @@
1
+ # Copyright 2025 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ """Helper methods for processing strings with minimal dependencies.
16
+
17
+ Please keep the dependencies used in this subpackage to a minimum to avoid the
18
+ risk of circular dependencies.
19
+ """
20
+
21
+ import numpy
22
+
23
+
24
+ def levenshtein_distance(left: str, right: str) -> int:
25
+ """Compute the edit distance between two strings.
26
+
27
+ This is the minumum number of substitutions, insertions, deletions
28
+ to get from left string to right string. See:
29
+ https://en.wikipedia.org/wiki/Levenshtein_distance
30
+ """
31
+ # TODO(tswast): accelerate with numba (if available) if we end up using this
32
+ # function in contexts other than when raising an exception or there are too
33
+ # many values to compare even in that context.
34
+
35
+ distances0 = numpy.zeros(len(right) + 1)
36
+ distances1 = numpy.zeros(len(right) + 1)
37
+
38
+ # Maximum distance is to drop all characters and then add the other string.
39
+ distances0[:] = range(len(right) + 1)
40
+
41
+ for left_index in range(len(left)):
42
+ # Calculate distance from distances0 to distances1.
43
+
44
+ # Edit distance is to delete (i + 1) chars from left to match empty right
45
+ distances1[0] = left_index + 1
46
+ # "ab"
47
+ for right_index in range(len(right)):
48
+ left_char = left[left_index]
49
+ right_char = right[right_index]
50
+
51
+ deletion_cost = distances0[right_index + 1] + 1
52
+ insertion_cost = distances1[right_index] + 1
53
+ if left_char == right_char:
54
+ substitution_cost = distances0[right_index]
55
+ else:
56
+ substitution_cost = distances0[right_index] + 1
57
+
58
+ distances1[right_index + 1] = min(
59
+ deletion_cost, insertion_cost, substitution_cost
60
+ )
61
+
62
+ temp = distances0
63
+ distances0 = distances1
64
+ distances1 = temp
65
+
66
+ return distances0[len(right)]
@@ -27,7 +27,12 @@ from bigframes.bigquery._operations.datetime import (
27
27
  unix_millis,
28
28
  unix_seconds,
29
29
  )
30
- from bigframes.bigquery._operations.geo import st_area, st_difference, st_intersection
30
+ from bigframes.bigquery._operations.geo import (
31
+ st_area,
32
+ st_difference,
33
+ st_distance,
34
+ st_intersection,
35
+ )
31
36
  from bigframes.bigquery._operations.json import (
32
37
  json_extract,
33
38
  json_extract_array,
@@ -49,6 +54,7 @@ __all__ = [
49
54
  # geo ops
50
55
  "st_area",
51
56
  "st_difference",
57
+ "st_distance",
52
58
  "st_intersection",
53
59
  # json ops
54
60
  "json_set",
@@ -14,8 +14,11 @@
14
14
 
15
15
  from __future__ import annotations
16
16
 
17
+ from typing import Union
18
+
19
+ import shapely # type: ignore
20
+
17
21
  from bigframes import operations as ops
18
- import bigframes.dtypes
19
22
  import bigframes.geopandas
20
23
  import bigframes.series
21
24
 
@@ -25,7 +28,9 @@ https://cloud.google.com/bigquery/docs/reference/standard-sql/geography_function
25
28
  """
26
29
 
27
30
 
28
- def st_area(series: bigframes.series.Series) -> bigframes.series.Series:
31
+ def st_area(
32
+ series: Union[bigframes.series.Series, bigframes.geopandas.GeoSeries],
33
+ ) -> bigframes.series.Series:
29
34
  """
30
35
  Returns the area in square meters covered by the polygons in the input
31
36
  `GEOGRAPHY`.
@@ -85,6 +90,10 @@ def st_area(series: bigframes.series.Series) -> bigframes.series.Series:
85
90
  4 0.0
86
91
  dtype: Float64
87
92
 
93
+ Args:
94
+ series (bigframes.pandas.Series | bigframes.geopandas.GeoSeries):
95
+ A series containing geography objects.
96
+
88
97
  Returns:
89
98
  bigframes.pandas.Series:
90
99
  Series of float representing the areas.
@@ -95,7 +104,12 @@ def st_area(series: bigframes.series.Series) -> bigframes.series.Series:
95
104
 
96
105
 
97
106
  def st_difference(
98
- series: bigframes.series.Series, other: bigframes.series.Series
107
+ series: Union[bigframes.series.Series, bigframes.geopandas.GeoSeries],
108
+ other: Union[
109
+ bigframes.series.Series,
110
+ bigframes.geopandas.GeoSeries,
111
+ shapely.geometry.base.BaseGeometry,
112
+ ],
99
113
  ) -> bigframes.series.Series:
100
114
  """
101
115
  Returns a `GEOGRAPHY` that represents the point set difference of
@@ -166,44 +180,23 @@ def st_difference(
166
180
  5 None
167
181
  dtype: geometry
168
182
 
169
- We can also check difference of single shapely geometries:
170
-
171
- >>> polygon_s1 = bigframes.geopandas.GeoSeries(
172
- ... [
173
- ... Polygon([(0, 0), (10, 0), (10, 10), (0, 0)])
174
- ... ]
175
- ... )
176
- >>> polygon_s2 = bigframes.geopandas.GeoSeries(
177
- ... [
178
- ... Polygon([(4, 2), (6, 2), (8, 6), (4, 2)])
179
- ... ]
180
- ... )
181
-
182
- >>> polygon_s1
183
- 0 POLYGON ((0 0, 10 0, 10 10, 0 0))
184
- dtype: geometry
185
-
186
- >>> polygon_s2
187
- 0 POLYGON ((4 2, 6 2, 8 6, 4 2))
188
- dtype: geometry
189
-
190
- >>> bbq.st_difference(polygon_s1, polygon_s2)
191
- 0 POLYGON ((0 0, 10 0, 10 10, 0 0), (8 6, 6 2, 4...
192
- dtype: geometry
193
-
194
183
  Additionally, we can check difference of a GeoSeries against a single shapely geometry:
195
184
 
196
- >>> bbq.st_difference(s1, polygon_s2)
197
- 0 POLYGON ((0 0, 2 2, 0 2, 0 0))
198
- 1 None
199
- 2 None
200
- 3 None
201
- 4 None
185
+ >>> polygon = Polygon([(0, 0), (10, 0), (10, 10), (0, 0)])
186
+ >>> bbq.st_difference(s1, polygon)
187
+ 0 POLYGON ((1.97082 2.00002, 0 2, 0 0, 1.97082 2...
188
+ 1 POLYGON ((1.97082 2.00002, 0 2, 0 0, 1.97082 2...
189
+ 2 GEOMETRYCOLLECTION EMPTY
190
+ 3 LINESTRING (0.99265 1.00781, 0 2)
191
+ 4 POINT (0 1)
202
192
  dtype: geometry
203
193
 
204
194
  Args:
205
- other (bigframes.series.Series or geometric object):
206
- The GeoSeries (elementwise) or geometric object to find the difference to.
195
+ series (bigframes.pandas.Series | bigframes.geopandas.GeoSeries):
196
+ A series containing geography objects.
197
+ other (bigframes.pandas.Series | bigframes.geopandas.GeoSeries | shapely.Geometry):
198
+ The series or geometric object to subtract from the geography
199
+ objects in ``series``.
207
200
 
208
201
  Returns:
209
202
  bigframes.series.Series:
@@ -213,8 +206,90 @@ def st_difference(
213
206
  return series._apply_binary_op(other, ops.geo_st_difference_op)
214
207
 
215
208
 
209
+ def st_distance(
210
+ series: Union[bigframes.series.Series, bigframes.geopandas.GeoSeries],
211
+ other: Union[
212
+ bigframes.series.Series,
213
+ bigframes.geopandas.GeoSeries,
214
+ shapely.geometry.base.BaseGeometry,
215
+ ],
216
+ *,
217
+ use_spheroid: bool = False,
218
+ ) -> bigframes.series.Series:
219
+ """
220
+ Returns the shortest distance in meters between two non-empty
221
+ ``GEOGRAPHY`` objects.
222
+
223
+ **Examples:**
224
+
225
+ >>> import bigframes as bpd
226
+ >>> import bigframes.bigquery as bbq
227
+ >>> import bigframes.geopandas
228
+ >>> from shapely.geometry import Polygon, LineString, Point
229
+ >>> bpd.options.display.progress_bar = None
230
+
231
+ We can check two GeoSeries against each other, row by row.
232
+
233
+ >>> s1 = bigframes.geopandas.GeoSeries(
234
+ ... [
235
+ ... Point(0, 0),
236
+ ... Point(0.00001, 0),
237
+ ... Point(0.00002, 0),
238
+ ... ],
239
+ ... )
240
+ >>> s2 = bigframes.geopandas.GeoSeries(
241
+ ... [
242
+ ... Point(0.00001, 0),
243
+ ... Point(0.00003, 0),
244
+ ... Point(0.00005, 0),
245
+ ... ],
246
+ ... )
247
+
248
+ >>> bbq.st_distance(s1, s2, use_spheroid=True)
249
+ 0 1.113195
250
+ 1 2.22639
251
+ 2 3.339585
252
+ dtype: Float64
253
+
254
+ We can also calculate the distance of each geometry and a single shapely geometry:
255
+
256
+ >>> bbq.st_distance(s2, Point(0.00001, 0))
257
+ 0 0.0
258
+ 1 2.223902
259
+ 2 4.447804
260
+ dtype: Float64
261
+
262
+ Args:
263
+ series (bigframes.pandas.Series | bigframes.geopandas.GeoSeries):
264
+ A series containing geography objects.
265
+ other (bigframes.pandas.Series | bigframes.geopandas.GeoSeries | shapely.Geometry):
266
+ The series or geometric object to calculate the distance in meters
267
+ to form the geography objects in ``series``.
268
+ use_spheroid (optional, default ``False``):
269
+ Determines how this function measures distance. If ``use_spheroid``
270
+ is False, the function measures distance on the surface of a perfect
271
+ sphere. If ``use_spheroid`` is True, the function measures distance
272
+ on the surface of the `WGS84 spheroid
273
+ <https://cloud.google.com/bigquery/docs/geospatial-data>`_. The
274
+ default value of ``use_spheroid`` is False.
275
+
276
+ Returns:
277
+ bigframes.pandas.Series:
278
+ The Series (elementwise) of the smallest distance between
279
+ each aligned geometry with other.
280
+ """
281
+ return series._apply_binary_op(
282
+ other, ops.GeoStDistanceOp(use_spheroid=use_spheroid)
283
+ )
284
+
285
+
216
286
  def st_intersection(
217
- series: bigframes.series.Series, other: bigframes.series.Series
287
+ series: Union[bigframes.series.Series, bigframes.geopandas.GeoSeries],
288
+ other: Union[
289
+ bigframes.series.Series,
290
+ bigframes.geopandas.GeoSeries,
291
+ shapely.geometry.base.BaseGeometry,
292
+ ],
218
293
  ) -> bigframes.series.Series:
219
294
  """
220
295
  Returns a `GEOGRAPHY` that represents the point set intersection of the two
@@ -284,18 +359,20 @@ def st_intersection(
284
359
 
285
360
  We can also do intersection of each geometry and a single shapely geometry:
286
361
 
287
- >>> bbq.st_intersection(s1, bigframes.geopandas.GeoSeries([Polygon([(0, 0), (1, 1), (0, 1)])]))
362
+ >>> bbq.st_intersection(s1, Polygon([(0, 0), (1, 1), (0, 1)]))
288
363
  0 POLYGON ((0 0, 0.99954 1, 0 1, 0 0))
289
- 1 None
290
- 2 None
291
- 3 None
292
- 4 None
364
+ 1 POLYGON ((0 0, 0.99954 1, 0 1, 0 0))
365
+ 2 LINESTRING (0 0, 0.99954 1)
366
+ 3 GEOMETRYCOLLECTION EMPTY
367
+ 4 POINT (0 1)
293
368
  dtype: geometry
294
369
 
295
370
  Args:
296
- other (GeoSeries or geometric object):
297
- The Geoseries (elementwise) or geometric object to find the
298
- intersection with.
371
+ series (bigframes.pandas.Series | bigframes.geopandas.GeoSeries):
372
+ A series containing geography objects.
373
+ other (bigframes.pandas.Series | bigframes.geopandas.GeoSeries | shapely.Geometry):
374
+ The series or geometric object to intersect with the geography
375
+ objects in ``series``.
299
376
 
300
377
  Returns:
301
378
  bigframes.geopandas.GeoSeries:
@@ -69,7 +69,7 @@ class TransformFunction:
69
69
  def _create_udf(self):
70
70
  """Create Python UDF in BQ. Return name of the UDF."""
71
71
  udf_name = str(
72
- self._session._loader._storage_manager.generate_unique_resource_id()
72
+ self._session._anon_dataset_manager.generate_unique_resource_id()
73
73
  )
74
74
 
75
75
  func_body = inspect.getsource(self._func)
@@ -102,6 +102,9 @@ AS r\"\"\"
102
102
  def udf(self):
103
103
  """Create and return the UDF object."""
104
104
  udf_name = self._create_udf()
105
+
106
+ # TODO(b/404605969): remove cleanups when UDF fixes dataset deletion.
107
+ self._session._function_session._update_temp_artifacts(udf_name, "")
105
108
  return self._session.read_gbq_function(udf_name)
106
109
 
107
110