bigframes 2.2.0__tar.gz → 2.4.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.
- {bigframes-2.2.0/bigframes.egg-info → bigframes-2.4.0}/PKG-INFO +5 -3
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/_config/__init__.py +18 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/_config/bigquery_options.py +20 -9
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/_config/compute_options.py +9 -1
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/_config/display_options.py +4 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/_config/experiment_options.py +46 -18
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/bigquery/__init__.py +2 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/bigquery/_operations/json.py +34 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/blob/_functions.py +32 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/array_value.py +0 -27
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/blocks.py +31 -71
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/__init__.py +6 -2
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/api.py +2 -32
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/scalar_op_compiler.py +57 -13
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/sqlglot/compiler.py +67 -54
- bigframes-2.4.0/bigframes/core/compile/sqlglot/scalar_compiler.py +77 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/sqlglot/sqlglot_ir.py +52 -7
- bigframes-2.4.0/bigframes/core/guid.py +46 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/indexes/__init__.py +2 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/indexes/base.py +24 -5
- bigframes-2.4.0/bigframes/core/indexes/datetimes.py +56 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/local_data.py +20 -4
- bigframes-2.4.0/bigframes/core/pyarrow_utils.py +87 -0
- bigframes-2.4.0/bigframes/core/pyformat.py +111 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/rewrite/identifiers.py +8 -10
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/sql.py +15 -3
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/tools/datetimes.py +6 -1
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/utils.py +20 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/dataframe.py +76 -21
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/forecasting.py +21 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/llm.py +27 -12
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/loader.py +1 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/metrics/_metrics.py +2 -2
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/__init__.py +16 -7
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/blob.py +48 -65
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/date_ops.py +19 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/datetime_ops.py +4 -4
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/datetimes.py +49 -1
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/numeric_ops.py +22 -2
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/string_ops.py +27 -12
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/strings.py +16 -10
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/pandas/__init__.py +2 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/pandas/io/api.py +104 -3
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/series.py +68 -7
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/__init__.py +186 -15
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/_io/bigquery/__init__.py +1 -9
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/_io/bigquery/read_gbq_table.py +10 -1
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/bq_caching_executor.py +163 -148
- bigframes-2.4.0/bigframes/session/dry_runs.py +138 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/executor.py +36 -19
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/loader.py +120 -11
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/local_scan_executor.py +10 -16
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/read_api_execution.py +21 -22
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/testing/mocks.py +19 -3
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/version.py +2 -2
- {bigframes-2.2.0 → bigframes-2.4.0/bigframes.egg-info}/PKG-INFO +5 -3
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes.egg-info/SOURCES.txt +19 -1
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes.egg-info/requires.txt +4 -2
- {bigframes-2.2.0 → bigframes-2.4.0}/setup.py +6 -3
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/conftest.py +4 -12
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/blob/test_function.py +24 -22
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/ml/test_forecasting.py +3 -0
- bigframes-2.4.0/tests/system/large/streaming/test_bigtable.py +104 -0
- bigframes-2.4.0/tests/system/large/streaming/test_pubsub.py +114 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/test_dataframe_io.py +7 -13
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/load/test_llm.py +2 -1
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/bigquery/test_array.py +50 -6
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/bigquery/test_datetime.py +49 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/bigquery/test_json.py +28 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/blob/test_io.py +0 -6
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/blob/test_properties.py +21 -37
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/blob/test_urls.py +0 -5
- bigframes-2.4.0/tests/system/small/core/indexes/test_datetimes.py +46 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/conftest.py +0 -18
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_llm.py +19 -32
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_multimodal_llm.py +53 -5
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/operations/test_datetimes.py +73 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/operations/test_strings.py +66 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/operations/test_timedeltas.py +25 -0
- bigframes-2.4.0/tests/system/small/session/test_read_gbq_colab.py +75 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_dataframe.py +38 -1
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_dataframe_io.py +70 -2
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_index_io.py +2 -2
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_progress_bar.py +1 -1
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_series.py +26 -1
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_series_io.py +1 -1
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_session.py +107 -5
- bigframes-2.4.0/tests/unit/_config/test_compute_options.py +22 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/_config/test_experiment_options.py +0 -15
- bigframes-2.4.0/tests/unit/core/compile/sqlglot/__init__.py +13 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/compile/sqlglot/compiler_session.py +4 -2
- bigframes-2.4.0/tests/unit/core/compile/sqlglot/snapshots/test_compile_projection/test_compile_projection/out.sql +12 -0
- bigframes-2.4.0/tests/unit/core/compile/sqlglot/snapshots/test_compile_readlocal/test_compile_readlocal/out.sql +176 -0
- bigframes-2.4.0/tests/unit/core/compile/sqlglot/snapshots/test_compile_readlocal/test_compile_readlocal_w_json_df/out.sql +9 -0
- bigframes-2.4.0/tests/unit/core/compile/sqlglot/snapshots/test_compile_readlocal/test_compile_readlocal_w_lists_df/out.sql +46 -0
- bigframes-2.4.0/tests/unit/core/compile/sqlglot/snapshots/test_compile_readlocal/test_compile_readlocal_w_structs_df/out.sql +26 -0
- bigframes-2.4.0/tests/unit/core/compile/sqlglot/test_compile_projection.py +31 -0
- bigframes-2.4.0/tests/unit/core/test_pyarrow_utils.py +65 -0
- bigframes-2.4.0/tests/unit/core/test_pyformat.py +145 -0
- bigframes-2.4.0/tests/unit/core/tools/__init__.py +13 -0
- bigframes-2.4.0/tests/unit/core/tools/test_datetimes.py +43 -0
- bigframes-2.4.0/tests/unit/functions/__init__.py +13 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/polars_session.py +1 -1
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/session/test_io_bigquery.py +3 -4
- bigframes-2.4.0/tests/unit/session/test_read_gbq_colab.py +68 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/test_local_data.py +20 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/config_init.py +6 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/frame.py +22 -6
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/indexes/accessor.py +131 -0
- bigframes-2.4.0/third_party/bigframes_vendored/pandas/core/indexes/datetimes.py +106 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/series.py +8 -2
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/strings/accessor.py +32 -7
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q11.py +1 -1
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/version.py +2 -2
- bigframes-2.2.0/bigframes/core/compile/sqlglot/scalar_compiler.py +0 -33
- bigframes-2.2.0/bigframes/core/guid.py +0 -21
- bigframes-2.2.0/tests/system/large/test_streaming.py +0 -81
- bigframes-2.2.0/tests/unit/core/compile/sqlglot/snapshots/test_compile_readlocal/test_compile_readlocal/out.sql +0 -171
- bigframes-2.2.0/tests/unit/core/compile/sqlglot/snapshots/test_compile_readlocal/test_compile_readlocal_w_json_df/out.sql +0 -4
- bigframes-2.2.0/tests/unit/core/compile/sqlglot/snapshots/test_compile_readlocal/test_compile_readlocal_w_lists_df/out.sql +0 -41
- bigframes-2.2.0/tests/unit/core/compile/sqlglot/snapshots/test_compile_readlocal/test_compile_readlocal_w_structs_df/out.sql +0 -21
- {bigframes-2.2.0 → bigframes-2.4.0}/LICENSE +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/MANIFEST.in +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/README.rst +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/_config/sampling_options.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/_tools/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/_tools/strings.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/bigquery/_operations/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/bigquery/_operations/approx_agg.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/bigquery/_operations/array.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/bigquery/_operations/datetime.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/bigquery/_operations/geo.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/bigquery/_operations/search.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/bigquery/_operations/sql.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/bigquery/_operations/struct.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/clients.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/constants.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/bigframe_node.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/block_transforms.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/aggregate_compiler.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/compiled.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/compiler.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/concat.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/configs.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/constants.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/default_ordering.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/explode.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/googlesql/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/googlesql/abc.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/googlesql/datatype.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/googlesql/expression.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/googlesql/function.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/googlesql/query.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/ibis_types.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/polars/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/polars/compiler.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/schema_translator.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/sqlglot/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/compile/sqlglot/sqlglot_types.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/convert.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/eval.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/explode.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/expression.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/global_session.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/groupby/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/groupby/aggs.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/groupby/dataframe_group_by.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/groupby/series_group_by.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/identifiers.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/indexers.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/indexes/multi.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/join_def.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/log_adapter.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/nodes.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/ordering.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/pruning.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/reshape/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/reshape/api.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/reshape/concat.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/reshape/encoding.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/reshape/merge.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/reshape/tile.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/rewrite/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/rewrite/fold_row_count.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/rewrite/implicit_align.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/rewrite/legacy_align.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/rewrite/order.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/rewrite/pruning.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/rewrite/scan_reduction.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/rewrite/slices.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/rewrite/timedeltas.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/rewrite/windows.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/scalar.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/schema.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/sequences.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/slices.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/tools/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/tree_properties.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/validations.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/window/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/window/ordering.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/window/rolling.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/core/window_spec.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/dtypes.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/enums.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/exceptions.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/features.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/formatting_helpers.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/functions/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/functions/_function_client.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/functions/_function_session.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/functions/_utils.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/functions/function.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/functions/function_template.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/geopandas/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/geopandas/geoseries.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/base.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/cluster.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/compose.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/core.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/decomposition.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/ensemble.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/globals.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/imported.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/impute.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/linear_model.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/metrics/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/metrics/pairwise.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/model_selection.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/pipeline.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/preprocessing.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/remote.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/sql.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/ml/utils.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/_matplotlib/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/_matplotlib/core.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/_matplotlib/hist.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/_op_converters.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/aggregations.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/ai.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/array_ops.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/base.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/base_ops.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/blob_ops.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/bool_ops.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/comparison_ops.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/distance_ops.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/frequency_ops.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/generic_ops.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/geo_ops.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/json_ops.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/lists.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/numpy_op_maps.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/plotting.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/remote_function_ops.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/semantics.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/struct_ops.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/structs.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/time_ops.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/timedelta_ops.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/operations/type.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/pandas/core/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/pandas/core/api.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/pandas/core/tools/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/pandas/core/tools/timedeltas.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/pandas/io/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/py.typed +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/_io/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/_io/pandas.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/anonymous_dataset.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/bigquery_session.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/clients.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/environment.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/metrics.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/planner.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/semi_executor.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/temporary_storage.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/time.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/session/validation.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/streaming/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/streaming/dataframe.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes/testing/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes.egg-info/dependency_links.txt +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes.egg-info/not-zip-safe +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/bigframes.egg-info/top_level.txt +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/pyproject.toml +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/setup.cfg +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/README.md +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/groupby/config.jsonl +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/groupby/q1.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/groupby/q10.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/groupby/q2.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/groupby/q3.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/groupby/q4.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/groupby/q5.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/groupby/q6.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/groupby/q7.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/groupby/q8.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/join/config.jsonl +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/join/q1.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/join/q2.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/join/q3.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/join/q4.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/join/q5.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/sort/config.jsonl +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/db_benchmark/sort/q1.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/config.jsonl +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q1.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q10.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q11.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q12.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q13.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q14.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q15.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q16.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q17.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q18.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q19.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q2.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q20.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q21.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q22.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q3.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q4.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q5.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q6.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q7.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q8.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/tpch/q9.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/benchmark/utils.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/hockey_players.json +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/hockey_players.jsonl +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/json.jsonl +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/json_schema.json +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/matrix_2by3.json +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/matrix_2by3.jsonl +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/matrix_3by4.json +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/matrix_3by4.jsonl +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/nested.jsonl +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/nested_schema.json +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/nested_structs.jsonl +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/nested_structs_schema.json +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/penguins.jsonl +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/penguins_schema.json +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/people.csv +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/ratings.jsonl +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/ratings_schema.json +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/repeated.jsonl +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/repeated_schema.json +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/scalars.jsonl +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/scalars_schema.json +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/time_series.jsonl +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/time_series_schema.json +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/urban_areas.jsonl +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/data/urban_areas_schema.json +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/functions/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/functions/test_managed_function.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/functions/test_remote_function.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/ml/test_cluster.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/ml/test_compose.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/ml/test_core.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/ml/test_decomposition.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/ml/test_ensemble.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/ml/test_linear_model.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/ml/test_model_selection.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/ml/test_pipeline.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/operations/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/operations/conftest.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/operations/test_ai.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/operations/test_semantics.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/test_dataframe.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/test_location.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/large/test_session.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/load/conftest.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/load/test_large_tables.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/bigquery/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/bigquery/test_approx_agg.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/bigquery/test_geo.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/bigquery/test_sql.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/bigquery/test_struct.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/bigquery/test_vector_search.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/core/__init__.py +0 -0
- {bigframes-2.2.0/tests/system/small/functions → bigframes-2.4.0/tests/system/small/core/indexes}/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/core/test_convert.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/core/test_indexers.py +0 -0
- {bigframes-2.2.0/tests/unit/bigquery → bigframes-2.4.0/tests/system/small/functions}/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/functions/test_remote_function.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/geopandas/test_geoseries.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_cluster.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_core.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_decomposition.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_ensemble.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_forecasting.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_imported.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_impute.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_linear_model.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_metrics.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_metrics_pairwise.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_model_selection.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_preprocessing.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_register.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_remote.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/ml/test_utils.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/operations/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/operations/test_ai.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/operations/test_dates.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/operations/test_lists.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/operations/test_plotting.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/operations/test_semantics.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/operations/test_struct.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/regression/test_issue355_merge_after_filter.py +0 -0
- {bigframes-2.2.0/tests/unit/core/compile/sqlglot → bigframes-2.4.0/tests/system/small/session}/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_bq_sessions.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_encryption.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_groupby.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_index.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_ipython.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_multiindex.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_null_index.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_numpy.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_pandas.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_pandas_options.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_scalar.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_unordered.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/small/test_window.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/system/utils.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/_config/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/_config/test_bigquery_options.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/_config/test_threaded_options.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/_tools/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/_tools/test_strings.py +0 -0
- {bigframes-2.2.0/tests/unit/functions → bigframes-2.4.0/tests/unit/bigquery}/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/bigquery/test_json.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/compile/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/compile/googlesql/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/compile/googlesql/test_expression.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/compile/googlesql/test_function.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/compile/googlesql/test_query.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/compile/sqlglot/conftest.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/compile/sqlglot/snapshots/test_compile_readlocal/test_compile_readlocal_w_nested_structs_df/out.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/compile/sqlglot/test_compile_readlocal.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/compile/sqlglot/test_sqlglot_types.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/test_bf_utils.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/test_blocks.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/test_dtypes.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/test_expression.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/test_indexes.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/test_log_adapter.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/test_rewrite.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/test_slices.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/test_sql.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/core/test_windowspec.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/functions/test_function_template.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/functions/test_remote_function.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/functions/test_remote_function_utils.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/ml/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/ml/test_api_primitives.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/ml/test_compose.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/ml/test_forecasting.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/ml/test_golden_sql.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/ml/test_matrix_factorization.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/ml/test_pipeline.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/ml/test_sql.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/operations/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/session/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/session/test_clients.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/session/test_io_pandas.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/session/test_read_gbq_table.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/session/test_session.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/session/test_time.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/test_clients.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/test_constants.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/test_daemon.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/test_dataframe.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/test_dataframe_io.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/test_features.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/test_formatting_helpers.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/test_local_engine.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/test_notebook.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/test_pandas.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/test_planner.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/test_sequences.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/test_series.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/tests/unit/test_series_io.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/constants.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/cpython/LICENSE +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/cpython/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/cpython/_pprint.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/db_benchmark/LICENSE +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/db_benchmark/METADATA +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/db_benchmark/README.md +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/db_benchmark/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/db_benchmark/groupby_queries.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/db_benchmark/join_queries.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/db_benchmark/sort_queries.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/geopandas/LICENSE.txt +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/geopandas/geoseries.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/google_cloud_bigquery/LICENSE +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/google_cloud_bigquery/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/google_cloud_bigquery/_pandas_helpers.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/google_cloud_bigquery/tests/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/google_cloud_bigquery/tests/unit/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/google_cloud_bigquery/tests/unit/test_pandas_helpers.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/LICENSE.txt +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/README.md +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/backends/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/backends/bigquery/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/backends/bigquery/backend.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/backends/bigquery/client.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/backends/bigquery/converter.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/backends/bigquery/datatypes.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/backends/bigquery/udf/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/backends/bigquery/udf/core.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/backends/bigquery/udf/find.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/backends/bigquery/udf/rewrite.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/backends/sql/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/backends/sql/compilers/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/backends/sql/compilers/base.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/backends/sql/compilers/bigquery/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/backends/sql/datatypes.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/backends/sql/rewrites.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/common/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/common/annotations.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/common/bases.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/common/caching.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/common/collections.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/common/deferred.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/common/dispatch.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/common/egraph.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/common/exceptions.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/common/graph.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/common/grounds.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/common/numeric.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/common/patterns.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/common/selectors.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/common/temporal.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/common/typing.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/config.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/api.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/builders.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/datashape.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/datatypes/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/datatypes/cast.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/datatypes/core.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/datatypes/value.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/decompile.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/format.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/analytic.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/arrays.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/core.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/generic.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/geospatial.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/histograms.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/json.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/logical.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/maps.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/numeric.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/reductions.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/relations.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/sortkeys.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/strings.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/structs.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/subqueries.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/temporal.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/udf.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/operations/window.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/rewrites.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/rules.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/schema.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/sql.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/arrays.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/binary.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/core.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/dataframe_interchange.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/generic.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/geospatial.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/groupby.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/joins.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/json.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/logical.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/maps.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/numeric.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/pretty.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/relations.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/strings.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/structs.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/temporal.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/temporal_windows.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/typing.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/types/uuid.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/expr/visualize.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/formats/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/formats/numpy.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/formats/pandas.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/formats/polars.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/formats/pyarrow.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/selectors.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/ibis/util.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/AUTHORS.md +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/LICENSE +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/README.md +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/_config/config.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/arrays/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/arrays/arrow/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/arrays/arrow/accessors.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/arrays/datetimelike.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/common.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/computation/align.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/computation/common.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/computation/engines.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/computation/eval.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/computation/expr.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/computation/ops.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/computation/parsing.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/computation/scope.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/dtypes/inference.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/generic.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/groupby/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/indexes/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/indexes/base.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/indexes/multi.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/indexing.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/reshape/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/reshape/concat.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/reshape/encoding.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/reshape/merge.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/reshape/tile.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/tools/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/tools/datetimes.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/tools/timedeltas.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/window/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/core/window/rolling.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/io/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/io/common.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/io/gbq.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/io/parquet.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/io/parsers/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/io/parsers/readers.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/io/pickle.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/pandas/_typing.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/plotting/_core.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/util/_exceptions.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/pandas/util/_validators.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/py.typed +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/COPYING +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/base.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/cluster/_kmeans.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/compose/_column_transformer.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/decomposition/_mf.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/decomposition/_pca.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/ensemble/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/ensemble/_forest.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/impute/_base.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/linear_model/_base.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/linear_model/_logistic.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/metrics/_classification.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/metrics/_ranking.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/metrics/_regression.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/metrics/pairwise.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/model_selection/_split.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/model_selection/_validation.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/pipeline.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/preprocessing/_data.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/preprocessing/_discretization.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/preprocessing/_encoder.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/preprocessing/_label.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/sklearn/preprocessing/_polynomial.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/LICENSE +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/METADATA +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/README.md +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/TPC-EULA.txt +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q1.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q10.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q12.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q13.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q14.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q15.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q16.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q17.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q18.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q19.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q2.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q20.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q21.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q22.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q3.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q4.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q5.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q6.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q7.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q8.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/queries/q9.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q1.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q10.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q11.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q12.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q13.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q14.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q15.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q16.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q17.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q18.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q19.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q2.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q20.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q21.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q22.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q3.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q4.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q5.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q6.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q7.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q8.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/tpch/sql_queries/q9.sql +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/xgboost/LICENSE +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/xgboost/__init__.py +0 -0
- {bigframes-2.2.0 → bigframes-2.4.0}/third_party/bigframes_vendored/xgboost/sklearn.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: bigframes
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.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
|
|
@@ -27,8 +27,6 @@ Requires-Dist: fsspec>=2023.3.0
|
|
|
27
27
|
Requires-Dist: gcsfs>=2023.3.0
|
|
28
28
|
Requires-Dist: geopandas>=0.12.2
|
|
29
29
|
Requires-Dist: google-auth<3.0,>=2.15.0
|
|
30
|
-
Requires-Dist: google-cloud-bigtable>=2.24.0
|
|
31
|
-
Requires-Dist: google-cloud-pubsub>=2.21.4
|
|
32
30
|
Requires-Dist: google-cloud-bigquery[bqstorage,pandas]>=3.31.0
|
|
33
31
|
Requires-Dist: google-cloud-bigquery-storage<3.0.0,>=2.30.0
|
|
34
32
|
Requires-Dist: google-cloud-functions>=1.12.0
|
|
@@ -58,6 +56,8 @@ Requires-Dist: rich<14,>=12.4.4
|
|
|
58
56
|
Provides-Extra: tests
|
|
59
57
|
Requires-Dist: freezegun; extra == "tests"
|
|
60
58
|
Requires-Dist: pytest-snapshot; extra == "tests"
|
|
59
|
+
Requires-Dist: google-cloud-bigtable>=2.24.0; extra == "tests"
|
|
60
|
+
Requires-Dist: google-cloud-pubsub>=2.21.4; extra == "tests"
|
|
61
61
|
Provides-Extra: polars
|
|
62
62
|
Requires-Dist: polars>=1.7.0; extra == "polars"
|
|
63
63
|
Provides-Extra: scikit-learn
|
|
@@ -69,6 +69,8 @@ Requires-Dist: nox; extra == "dev"
|
|
|
69
69
|
Requires-Dist: google-cloud-testutils; extra == "dev"
|
|
70
70
|
Provides-Extra: all
|
|
71
71
|
Requires-Dist: freezegun; extra == "all"
|
|
72
|
+
Requires-Dist: google-cloud-bigtable>=2.24.0; extra == "all"
|
|
73
|
+
Requires-Dist: google-cloud-pubsub>=2.21.4; extra == "all"
|
|
72
74
|
Requires-Dist: google-cloud-testutils; extra == "all"
|
|
73
75
|
Requires-Dist: nox; extra == "all"
|
|
74
76
|
Requires-Dist: polars>=1.7.0; extra == "all"
|
|
@@ -150,6 +150,24 @@ class Options:
|
|
|
150
150
|
"""
|
|
151
151
|
return self._local.bigquery_options is not None
|
|
152
152
|
|
|
153
|
+
@property
|
|
154
|
+
def _allow_large_results(self) -> bool:
|
|
155
|
+
"""The effective 'allow_large_results' setting.
|
|
156
|
+
|
|
157
|
+
This value is `self.compute.allow_large_results` if set (not `None`),
|
|
158
|
+
otherwise it defaults to `self.bigquery.allow_large_results`.
|
|
159
|
+
|
|
160
|
+
Returns:
|
|
161
|
+
bool:
|
|
162
|
+
Whether large query results are permitted.
|
|
163
|
+
- `True`: The BigQuery result size limit (e.g., 10 GB) is removed.
|
|
164
|
+
- `False`: Results are restricted to this limit (potentially faster).
|
|
165
|
+
BigQuery will raise an error if this limit is exceeded.
|
|
166
|
+
"""
|
|
167
|
+
if self.compute.allow_large_results is None:
|
|
168
|
+
return self.bigquery.allow_large_results
|
|
169
|
+
return self.compute.allow_large_results
|
|
170
|
+
|
|
153
171
|
|
|
154
172
|
options = Options()
|
|
155
173
|
"""Global options for default session."""
|
|
@@ -19,10 +19,8 @@ from __future__ import annotations
|
|
|
19
19
|
from typing import Literal, Optional
|
|
20
20
|
import warnings
|
|
21
21
|
|
|
22
|
-
import google.api_core.exceptions
|
|
23
22
|
import google.auth.credentials
|
|
24
23
|
|
|
25
|
-
import bigframes.constants
|
|
26
24
|
import bigframes.enums
|
|
27
25
|
import bigframes.exceptions as bfe
|
|
28
26
|
|
|
@@ -239,21 +237,34 @@ class BigQueryOptions:
|
|
|
239
237
|
@property
|
|
240
238
|
def allow_large_results(self) -> bool:
|
|
241
239
|
"""
|
|
242
|
-
|
|
240
|
+
DEPRECATED: Checks the legacy global setting for allowing large results.
|
|
241
|
+
Use ``bpd.options.compute.allow_large_results`` instead.
|
|
243
242
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
is exceeded.
|
|
243
|
+
Warning: Accessing ``bpd.options.bigquery.allow_large_results`` is deprecated
|
|
244
|
+
and this property will be removed in a future version. The configuration for
|
|
245
|
+
handling large results has moved.
|
|
248
246
|
|
|
249
247
|
Returns:
|
|
250
|
-
bool:
|
|
251
|
-
False if results are limited to 10 GB and errors are raised when exceeded.
|
|
248
|
+
bool: The value of the deprecated setting.
|
|
252
249
|
"""
|
|
253
250
|
return self._allow_large_results
|
|
254
251
|
|
|
255
252
|
@allow_large_results.setter
|
|
256
253
|
def allow_large_results(self, value: bool):
|
|
254
|
+
warnings.warn(
|
|
255
|
+
"Setting `bpd.options.bigquery.allow_large_results` is deprecated, "
|
|
256
|
+
"and will be removed in the future. "
|
|
257
|
+
"Please use `bpd.options.compute.allow_large_results = <value>` instead. "
|
|
258
|
+
"The `bpd.options.bigquery.allow_large_results` option is ignored if "
|
|
259
|
+
"`bpd.options.compute.allow_large_results` is set.",
|
|
260
|
+
FutureWarning,
|
|
261
|
+
stacklevel=2,
|
|
262
|
+
)
|
|
263
|
+
if self._session_started and self._allow_large_results != value:
|
|
264
|
+
raise ValueError(
|
|
265
|
+
SESSION_STARTED_MESSAGE.format(attribute="allow_large_results")
|
|
266
|
+
)
|
|
267
|
+
|
|
257
268
|
self._allow_large_results = value
|
|
258
269
|
|
|
259
270
|
@property
|
|
@@ -86,6 +86,12 @@ class ComputeOptions:
|
|
|
86
86
|
ai_ops_threshold_autofail (bool):
|
|
87
87
|
Guards against unexpected processing of large amount of rows by semantic operators.
|
|
88
88
|
When set to True, the operation automatically fails without asking for user inputs.
|
|
89
|
+
|
|
90
|
+
allow_large_results (bool):
|
|
91
|
+
Specifies whether query results can exceed 10 GB. Defaults to False. Setting this
|
|
92
|
+
to False (the default) restricts results to 10 GB for potentially faster execution;
|
|
93
|
+
BigQuery will raise an error if this limit is exceeded. Setting to True removes
|
|
94
|
+
this result size limit.
|
|
89
95
|
"""
|
|
90
96
|
|
|
91
97
|
maximum_bytes_billed: Optional[int] = None
|
|
@@ -97,7 +103,9 @@ class ComputeOptions:
|
|
|
97
103
|
semantic_ops_threshold_autofail = False
|
|
98
104
|
|
|
99
105
|
ai_ops_confirmation_threshold: Optional[int] = 0
|
|
100
|
-
ai_ops_threshold_autofail = False
|
|
106
|
+
ai_ops_threshold_autofail: bool = False
|
|
107
|
+
|
|
108
|
+
allow_large_results: Optional[bool] = None
|
|
101
109
|
|
|
102
110
|
def assign_extra_query_labels(self, **kwargs: Any) -> None:
|
|
103
111
|
"""
|
|
@@ -35,6 +35,10 @@ class DisplayOptions:
|
|
|
35
35
|
max_info_rows: Optional[int] = 200000
|
|
36
36
|
memory_usage: bool = True
|
|
37
37
|
|
|
38
|
+
blob_display: bool = True
|
|
39
|
+
blob_display_width: Optional[int] = None
|
|
40
|
+
blob_display_height: Optional[int] = None
|
|
41
|
+
|
|
38
42
|
|
|
39
43
|
@contextlib.contextmanager
|
|
40
44
|
def pandas_repr(display_options: DisplayOptions):
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
from typing import Optional
|
|
16
16
|
import warnings
|
|
17
17
|
|
|
18
|
+
import bigframes
|
|
18
19
|
import bigframes.exceptions as bfe
|
|
19
20
|
|
|
20
21
|
|
|
@@ -26,10 +27,6 @@ class ExperimentOptions:
|
|
|
26
27
|
def __init__(self):
|
|
27
28
|
self._semantic_operators: bool = False
|
|
28
29
|
self._ai_operators: bool = False
|
|
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
|
|
33
30
|
|
|
34
31
|
@property
|
|
35
32
|
def semantic_operators(self) -> bool:
|
|
@@ -60,41 +57,72 @@ class ExperimentOptions:
|
|
|
60
57
|
|
|
61
58
|
@property
|
|
62
59
|
def blob(self) -> bool:
|
|
63
|
-
|
|
60
|
+
msg = bfe.format_message(
|
|
61
|
+
"BigFrames Blob is in preview now. This flag is no longer needed."
|
|
62
|
+
)
|
|
63
|
+
warnings.warn(msg, category=bfe.ApiDeprecationWarning)
|
|
64
|
+
return True
|
|
64
65
|
|
|
65
66
|
@blob.setter
|
|
66
67
|
def blob(self, value: bool):
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
)
|
|
72
|
-
warnings.warn(msg, category=bfe.PreviewWarning)
|
|
73
|
-
self._blob = value
|
|
68
|
+
msg = bfe.format_message(
|
|
69
|
+
"BigFrames Blob is in preview now. This flag is no longer needed."
|
|
70
|
+
)
|
|
71
|
+
warnings.warn(msg, category=bfe.ApiDeprecationWarning)
|
|
74
72
|
|
|
75
73
|
@property
|
|
76
74
|
def blob_display(self) -> bool:
|
|
77
75
|
"""Whether to display the blob content in notebook DataFrame preview. Default True."""
|
|
78
|
-
|
|
76
|
+
msg = bfe.format_message(
|
|
77
|
+
"BigFrames Blob is in preview now. The option has been moved to bigframes.options.display.blob_display."
|
|
78
|
+
)
|
|
79
|
+
warnings.warn(msg, category=bfe.ApiDeprecationWarning)
|
|
80
|
+
|
|
81
|
+
return bigframes.options.display.blob_display
|
|
79
82
|
|
|
80
83
|
@blob_display.setter
|
|
81
84
|
def blob_display(self, value: bool):
|
|
82
|
-
|
|
85
|
+
msg = bfe.format_message(
|
|
86
|
+
"BigFrames Blob is in preview now. The option has been moved to bigframes.options.display.blob_display."
|
|
87
|
+
)
|
|
88
|
+
warnings.warn(msg, category=bfe.ApiDeprecationWarning)
|
|
89
|
+
|
|
90
|
+
bigframes.options.display.blob_display = value
|
|
83
91
|
|
|
84
92
|
@property
|
|
85
93
|
def blob_display_width(self) -> Optional[int]:
|
|
86
94
|
"""Width in pixels that the blob constrained to."""
|
|
87
|
-
|
|
95
|
+
msg = bfe.format_message(
|
|
96
|
+
"BigFrames Blob is in preview now. The option has been moved to bigframes.options.display.blob_display_width."
|
|
97
|
+
)
|
|
98
|
+
warnings.warn(msg, category=bfe.ApiDeprecationWarning)
|
|
99
|
+
|
|
100
|
+
return bigframes.options.display.blob_display_width
|
|
88
101
|
|
|
89
102
|
@blob_display_width.setter
|
|
90
103
|
def blob_display_width(self, value: Optional[int]):
|
|
91
|
-
|
|
104
|
+
msg = bfe.format_message(
|
|
105
|
+
"BigFrames Blob is in preview now. The option has been moved to bigframes.options.display.blob_display_width."
|
|
106
|
+
)
|
|
107
|
+
warnings.warn(msg, category=bfe.ApiDeprecationWarning)
|
|
108
|
+
|
|
109
|
+
bigframes.options.display.blob_display_width = value
|
|
92
110
|
|
|
93
111
|
@property
|
|
94
112
|
def blob_display_height(self) -> Optional[int]:
|
|
95
113
|
"""Height in pixels that the blob constrained to."""
|
|
96
|
-
|
|
114
|
+
msg = bfe.format_message(
|
|
115
|
+
"BigFrames Blob is in preview now. The option has been moved to bigframes.options.display.blob_display_height."
|
|
116
|
+
)
|
|
117
|
+
warnings.warn(msg, category=bfe.ApiDeprecationWarning)
|
|
118
|
+
|
|
119
|
+
return bigframes.options.display.blob_display_height
|
|
97
120
|
|
|
98
121
|
@blob_display_height.setter
|
|
99
122
|
def blob_display_height(self, value: Optional[int]):
|
|
100
|
-
|
|
123
|
+
msg = bfe.format_message(
|
|
124
|
+
"BigFrames Blob is in preview now. The option has been moved to bigframes.options.display.blob_display_height."
|
|
125
|
+
)
|
|
126
|
+
warnings.warn(msg, category=bfe.ApiDeprecationWarning)
|
|
127
|
+
|
|
128
|
+
bigframes.options.display.blob_display_height = value
|
|
@@ -38,6 +38,7 @@ from bigframes.bigquery._operations.json import (
|
|
|
38
38
|
json_extract_array,
|
|
39
39
|
json_extract_string_array,
|
|
40
40
|
json_set,
|
|
41
|
+
json_value,
|
|
41
42
|
parse_json,
|
|
42
43
|
)
|
|
43
44
|
from bigframes.bigquery._operations.search import create_vector_index, vector_search
|
|
@@ -61,6 +62,7 @@ __all__ = [
|
|
|
61
62
|
"json_extract",
|
|
62
63
|
"json_extract_array",
|
|
63
64
|
"json_extract_string_array",
|
|
65
|
+
"json_value",
|
|
64
66
|
"parse_json",
|
|
65
67
|
# search ops
|
|
66
68
|
"create_vector_index",
|
|
@@ -231,6 +231,40 @@ def json_extract_string_array(
|
|
|
231
231
|
return array_series
|
|
232
232
|
|
|
233
233
|
|
|
234
|
+
def json_value(
|
|
235
|
+
input: series.Series,
|
|
236
|
+
json_path: str,
|
|
237
|
+
) -> series.Series:
|
|
238
|
+
"""Extracts a JSON scalar value and converts it to a SQL ``STRING`` value. In
|
|
239
|
+
addtion, this function:
|
|
240
|
+
- Removes the outermost quotes and unescapes the values.
|
|
241
|
+
- Returns a SQL ``NULL`` if a non-scalar value is selected.
|
|
242
|
+
- Uses double quotes to escape invalid ``JSON_PATH`` characters in JSON keys.
|
|
243
|
+
|
|
244
|
+
**Examples:**
|
|
245
|
+
|
|
246
|
+
>>> import bigframes.pandas as bpd
|
|
247
|
+
>>> import bigframes.bigquery as bbq
|
|
248
|
+
>>> bpd.options.display.progress_bar = None
|
|
249
|
+
|
|
250
|
+
>>> s = bpd.Series(['{"name": "Jakob", "age": "6"}', '{"name": "Jakob", "age": []}'])
|
|
251
|
+
>>> bbq.json_value(s, json_path="$.age")
|
|
252
|
+
0 6
|
|
253
|
+
1 <NA>
|
|
254
|
+
dtype: string
|
|
255
|
+
|
|
256
|
+
Args:
|
|
257
|
+
input (bigframes.series.Series):
|
|
258
|
+
The Series containing JSON data (as native JSON objects or JSON-formatted strings).
|
|
259
|
+
json_path (str):
|
|
260
|
+
The JSON path identifying the data that you want to obtain from the input.
|
|
261
|
+
|
|
262
|
+
Returns:
|
|
263
|
+
bigframes.series.Series: A new Series with the JSON-formatted STRING.
|
|
264
|
+
"""
|
|
265
|
+
return input._apply_unary_op(ops.JSONValue(json_path=json_path))
|
|
266
|
+
|
|
267
|
+
|
|
234
268
|
@utils.preview(name="The JSON-related API `parse_json`")
|
|
235
269
|
def parse_json(
|
|
236
270
|
input: series.Series,
|
|
@@ -108,6 +108,38 @@ AS r\"\"\"
|
|
|
108
108
|
return self._session.read_gbq_function(udf_name)
|
|
109
109
|
|
|
110
110
|
|
|
111
|
+
def exif_func(src_obj_ref_rt: str) -> str:
|
|
112
|
+
import io
|
|
113
|
+
import json
|
|
114
|
+
|
|
115
|
+
from PIL import ExifTags, Image
|
|
116
|
+
import requests
|
|
117
|
+
from requests import adapters
|
|
118
|
+
|
|
119
|
+
session = requests.Session()
|
|
120
|
+
session.mount("https://", adapters.HTTPAdapter(max_retries=3))
|
|
121
|
+
|
|
122
|
+
src_obj_ref_rt_json = json.loads(src_obj_ref_rt)
|
|
123
|
+
|
|
124
|
+
src_url = src_obj_ref_rt_json["access_urls"]["read_url"]
|
|
125
|
+
|
|
126
|
+
response = session.get(src_url, timeout=30)
|
|
127
|
+
bts = response.content
|
|
128
|
+
|
|
129
|
+
image = Image.open(io.BytesIO(bts))
|
|
130
|
+
exif_data = image.getexif()
|
|
131
|
+
exif_dict = {}
|
|
132
|
+
if exif_data:
|
|
133
|
+
for tag, value in exif_data.items():
|
|
134
|
+
tag_name = ExifTags.TAGS.get(tag, tag)
|
|
135
|
+
exif_dict[tag_name] = value
|
|
136
|
+
|
|
137
|
+
return json.dumps(exif_dict)
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
exif_func_def = FunctionDef(exif_func, ["pillow", "requests"])
|
|
141
|
+
|
|
142
|
+
|
|
111
143
|
# Blur images. Takes ObjectRefRuntime as JSON string. Outputs ObjectRefRuntime JSON string.
|
|
112
144
|
def image_blur_func(
|
|
113
145
|
src_obj_ref_rt: str, dst_obj_ref_rt: str, ksize_x: int, ksize_y: int, ext: str
|
|
@@ -172,33 +172,6 @@ class ArrayValue:
|
|
|
172
172
|
def supports_fast_peek(self) -> bool:
|
|
173
173
|
return bigframes.core.tree_properties.can_fast_peek(self.node)
|
|
174
174
|
|
|
175
|
-
def as_cached(
|
|
176
|
-
self: ArrayValue,
|
|
177
|
-
cache_table: google.cloud.bigquery.Table,
|
|
178
|
-
ordering: Optional[orderings.RowOrdering],
|
|
179
|
-
) -> ArrayValue:
|
|
180
|
-
"""
|
|
181
|
-
Replace the node with an equivalent one that references a table where the value has been materialized to.
|
|
182
|
-
"""
|
|
183
|
-
table = nodes.GbqTable.from_table(cache_table)
|
|
184
|
-
source = nodes.BigqueryDataSource(
|
|
185
|
-
table, ordering=ordering, n_rows=cache_table.num_rows
|
|
186
|
-
)
|
|
187
|
-
# Assumption: GBQ cached table uses field name as bq column name
|
|
188
|
-
scan_list = nodes.ScanList(
|
|
189
|
-
tuple(
|
|
190
|
-
nodes.ScanItem(field.id, field.dtype, field.id.name)
|
|
191
|
-
for field in self.node.fields
|
|
192
|
-
)
|
|
193
|
-
)
|
|
194
|
-
node = nodes.CachedTableNode(
|
|
195
|
-
original_node=self.node,
|
|
196
|
-
source=source,
|
|
197
|
-
table_session=self.session,
|
|
198
|
-
scan_list=scan_list,
|
|
199
|
-
)
|
|
200
|
-
return ArrayValue(node)
|
|
201
|
-
|
|
202
175
|
def get_column_type(self, key: str) -> bigframes.dtypes.Dtype:
|
|
203
176
|
return self.schema.get_type(key)
|
|
204
177
|
|
|
@@ -22,7 +22,6 @@ circular dependencies.
|
|
|
22
22
|
from __future__ import annotations
|
|
23
23
|
|
|
24
24
|
import ast
|
|
25
|
-
import copy
|
|
26
25
|
import dataclasses
|
|
27
26
|
import datetime
|
|
28
27
|
import functools
|
|
@@ -30,17 +29,7 @@ import itertools
|
|
|
30
29
|
import random
|
|
31
30
|
import textwrap
|
|
32
31
|
import typing
|
|
33
|
-
from typing import
|
|
34
|
-
Any,
|
|
35
|
-
Iterable,
|
|
36
|
-
List,
|
|
37
|
-
Literal,
|
|
38
|
-
Mapping,
|
|
39
|
-
Optional,
|
|
40
|
-
Sequence,
|
|
41
|
-
Tuple,
|
|
42
|
-
Union,
|
|
43
|
-
)
|
|
32
|
+
from typing import Iterable, List, Literal, Mapping, Optional, Sequence, Tuple, Union
|
|
44
33
|
import warnings
|
|
45
34
|
|
|
46
35
|
import bigframes_vendored.constants as constants
|
|
@@ -69,6 +58,8 @@ import bigframes.dtypes
|
|
|
69
58
|
import bigframes.exceptions as bfe
|
|
70
59
|
import bigframes.operations as ops
|
|
71
60
|
import bigframes.operations.aggregations as agg_ops
|
|
61
|
+
from bigframes.session import dry_runs
|
|
62
|
+
from bigframes.session import executor as executors
|
|
72
63
|
|
|
73
64
|
# Type constraint for wherever column labels are used
|
|
74
65
|
Label = typing.Hashable
|
|
@@ -595,10 +586,10 @@ class Block:
|
|
|
595
586
|
self.expr,
|
|
596
587
|
ordered=True,
|
|
597
588
|
use_explicit_destination=allow_large_results,
|
|
598
|
-
page_size=page_size,
|
|
599
|
-
max_results=max_results,
|
|
600
589
|
)
|
|
601
|
-
for df in execute_result.to_pandas_batches(
|
|
590
|
+
for df in execute_result.to_pandas_batches(
|
|
591
|
+
page_size=page_size, max_results=max_results
|
|
592
|
+
):
|
|
602
593
|
self._copy_index_to_pandas(df)
|
|
603
594
|
if squeeze:
|
|
604
595
|
yield df.squeeze(axis=1)
|
|
@@ -821,59 +812,18 @@ class Block:
|
|
|
821
812
|
if sampling.enable_downsampling:
|
|
822
813
|
raise NotImplementedError("Dry run with sampling is not supported")
|
|
823
814
|
|
|
824
|
-
index: List[Any] = []
|
|
825
|
-
values: List[Any] = []
|
|
826
|
-
|
|
827
|
-
index.append("columnCount")
|
|
828
|
-
values.append(len(self.value_columns))
|
|
829
|
-
index.append("columnDtypes")
|
|
830
|
-
values.append(
|
|
831
|
-
{
|
|
832
|
-
col: self.expr.get_column_type(self.resolve_label_exact_or_error(col))
|
|
833
|
-
for col in self.column_labels
|
|
834
|
-
}
|
|
835
|
-
)
|
|
836
|
-
|
|
837
|
-
index.append("indexLevel")
|
|
838
|
-
values.append(self.index.nlevels)
|
|
839
|
-
index.append("indexDtypes")
|
|
840
|
-
values.append(self.index.dtypes)
|
|
841
|
-
|
|
842
815
|
expr = self._apply_value_keys_to_expr(value_keys=value_keys)
|
|
843
816
|
query_job = self.session._executor.dry_run(expr, ordered)
|
|
844
|
-
job_api_repr = copy.deepcopy(query_job._properties)
|
|
845
|
-
|
|
846
|
-
job_ref = job_api_repr["jobReference"]
|
|
847
|
-
for key, val in job_ref.items():
|
|
848
|
-
index.append(key)
|
|
849
|
-
values.append(val)
|
|
850
|
-
|
|
851
|
-
index.append("jobType")
|
|
852
|
-
values.append(job_api_repr["configuration"]["jobType"])
|
|
853
|
-
|
|
854
|
-
query_config = job_api_repr["configuration"]["query"]
|
|
855
|
-
for key in ("destinationTable", "useLegacySql"):
|
|
856
|
-
index.append(key)
|
|
857
|
-
values.append(query_config.get(key))
|
|
858
|
-
|
|
859
|
-
query_stats = job_api_repr["statistics"]["query"]
|
|
860
|
-
for key in (
|
|
861
|
-
"referencedTables",
|
|
862
|
-
"totalBytesProcessed",
|
|
863
|
-
"cacheHit",
|
|
864
|
-
"statementType",
|
|
865
|
-
):
|
|
866
|
-
index.append(key)
|
|
867
|
-
values.append(query_stats.get(key))
|
|
868
817
|
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
)
|
|
874
|
-
)
|
|
818
|
+
column_dtypes = {
|
|
819
|
+
col: self.expr.get_column_type(self.resolve_label_exact_or_error(col))
|
|
820
|
+
for col in self.column_labels
|
|
821
|
+
}
|
|
875
822
|
|
|
876
|
-
|
|
823
|
+
dry_run_stats = dry_runs.get_query_stats_with_dtypes(
|
|
824
|
+
query_job, column_dtypes, self.index.dtypes
|
|
825
|
+
)
|
|
826
|
+
return dry_run_stats, query_job
|
|
877
827
|
|
|
878
828
|
def _apply_value_keys_to_expr(self, value_keys: Optional[Iterable[str]] = None):
|
|
879
829
|
expr = self._expr
|
|
@@ -1560,12 +1510,19 @@ class Block:
|
|
|
1560
1510
|
"""
|
|
1561
1511
|
|
|
1562
1512
|
# head caches full underlying expression, so row_count will be free after
|
|
1563
|
-
|
|
1513
|
+
executor = self.session._executor
|
|
1514
|
+
executor.cached(
|
|
1515
|
+
array_value=self.expr,
|
|
1516
|
+
config=executors.CacheConfig(optimize_for="head", if_cached="reuse-strict"),
|
|
1517
|
+
)
|
|
1518
|
+
head_result = self.session._executor.execute(
|
|
1519
|
+
self.expr.slice(start=None, stop=max_results, step=None)
|
|
1520
|
+
)
|
|
1564
1521
|
row_count = self.session._executor.execute(self.expr.row_count()).to_py_scalar()
|
|
1565
1522
|
|
|
1566
|
-
|
|
1567
|
-
self._copy_index_to_pandas(
|
|
1568
|
-
return
|
|
1523
|
+
head_df = head_result.to_pandas()
|
|
1524
|
+
self._copy_index_to_pandas(head_df)
|
|
1525
|
+
return head_df, row_count, head_result.query_job
|
|
1569
1526
|
|
|
1570
1527
|
def promote_offsets(self, label: Label = None) -> typing.Tuple[Block, str]:
|
|
1571
1528
|
expr, result_id = self._expr.promote_offsets()
|
|
@@ -2535,9 +2492,12 @@ class Block:
|
|
|
2535
2492
|
# use a heuristic for whether something needs to be cached
|
|
2536
2493
|
self.session._executor.cached(
|
|
2537
2494
|
self.expr,
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2495
|
+
config=executors.CacheConfig(
|
|
2496
|
+
optimize_for="auto"
|
|
2497
|
+
if session_aware
|
|
2498
|
+
else executors.HierarchicalKey(tuple(self.index_columns)),
|
|
2499
|
+
if_cached="replace" if force else "reuse-any",
|
|
2500
|
+
),
|
|
2541
2501
|
)
|
|
2542
2502
|
|
|
2543
2503
|
def _is_monotonic(
|
|
@@ -13,9 +13,13 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
from __future__ import annotations
|
|
15
15
|
|
|
16
|
-
from bigframes.core.compile.api import
|
|
16
|
+
from bigframes.core.compile.api import test_only_ibis_inferred_schema
|
|
17
|
+
from bigframes.core.compile.compiler import compile_sql
|
|
18
|
+
from bigframes.core.compile.configs import CompileRequest, CompileResult
|
|
17
19
|
|
|
18
20
|
__all__ = [
|
|
19
|
-
"SQLCompiler",
|
|
20
21
|
"test_only_ibis_inferred_schema",
|
|
22
|
+
"compile_sql",
|
|
23
|
+
"CompileRequest",
|
|
24
|
+
"CompileResult",
|
|
21
25
|
]
|
|
@@ -13,43 +13,13 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
from __future__ import annotations
|
|
15
15
|
|
|
16
|
-
from typing import
|
|
17
|
-
|
|
18
|
-
import google.cloud.bigquery as bigquery
|
|
16
|
+
from typing import TYPE_CHECKING
|
|
19
17
|
|
|
20
18
|
from bigframes.core import rewrite
|
|
21
|
-
from bigframes.core.compile import compiler
|
|
19
|
+
from bigframes.core.compile import compiler
|
|
22
20
|
|
|
23
21
|
if TYPE_CHECKING:
|
|
24
22
|
import bigframes.core.nodes
|
|
25
|
-
import bigframes.core.ordering
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
class SQLCompiler:
|
|
29
|
-
def compile(
|
|
30
|
-
self,
|
|
31
|
-
node: bigframes.core.nodes.BigFrameNode,
|
|
32
|
-
*,
|
|
33
|
-
ordered: bool = True,
|
|
34
|
-
limit: Optional[int] = None,
|
|
35
|
-
) -> str:
|
|
36
|
-
"""Compile node into sql where rows are sorted with ORDER BY."""
|
|
37
|
-
request = configs.CompileRequest(node, sort_rows=ordered, peek_count=limit)
|
|
38
|
-
return compiler.compile_sql(request).sql
|
|
39
|
-
|
|
40
|
-
def compile_raw(
|
|
41
|
-
self,
|
|
42
|
-
node: bigframes.core.nodes.BigFrameNode,
|
|
43
|
-
) -> Tuple[
|
|
44
|
-
str, Sequence[bigquery.SchemaField], bigframes.core.ordering.RowOrdering
|
|
45
|
-
]:
|
|
46
|
-
"""Compile node into sql that exposes all columns, including hidden ordering-only columns."""
|
|
47
|
-
request = configs.CompileRequest(
|
|
48
|
-
node, sort_rows=False, materialize_all_order_keys=True
|
|
49
|
-
)
|
|
50
|
-
result = compiler.compile_sql(request)
|
|
51
|
-
assert result.row_order is not None
|
|
52
|
-
return result.sql, result.sql_schema, result.row_order
|
|
53
23
|
|
|
54
24
|
|
|
55
25
|
def test_only_ibis_inferred_schema(node: bigframes.core.nodes.BigFrameNode):
|