google-cloud-bigquery 3.42.3__tar.gz → 3.43.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.
- {google_cloud_bigquery-3.42.3/google_cloud_bigquery.egg-info → google_cloud_bigquery-3.43.0}/PKG-INFO +22 -2
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/README.rst +20 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_helpers.py +1 -1
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_versions_helpers.py +50 -2
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/dbapi/connection.py +6 -6
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/query.py +0 -1
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/version.py +1 -1
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0/google_cloud_bigquery.egg-info}/PKG-INFO +22 -2
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google_cloud_bigquery.egg-info/requires.txt +1 -1
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/pyproject.toml +1 -1
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_client.py +96 -49
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test__versions_helpers.py +179 -24
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_magics.py +8 -7
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_query.py +7 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/LICENSE +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/MANIFEST.in +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/__init__.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_http.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_job_helpers.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_pandas_helpers.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_pyarrow_helpers.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_string_references.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_tqdm_helpers.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/client.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/dataset.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/dbapi/__init__.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/dbapi/_helpers.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/dbapi/cursor.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/dbapi/exceptions.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/dbapi/types.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/encryption_configuration.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/enums.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/exceptions.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/external_config.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/format_options.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/iam.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/job/__init__.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/job/base.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/job/copy_.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/job/extract.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/job/load.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/job/query.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/magics/__init__.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/magics/line_arg_parser/__init__.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/magics/line_arg_parser/exceptions.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/magics/line_arg_parser/lexer.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/magics/line_arg_parser/parser.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/magics/line_arg_parser/visitors.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/magics/magics.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/model.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/opentelemetry_tracing.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/py.typed +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/retry.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/routine/__init__.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/routine/routine.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/schema.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/standard_sql.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/table.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery_v2/__init__.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery_v2/types/__init__.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery_v2/types/encryption_config.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery_v2/types/model.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery_v2/types/model_reference.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery_v2/types/standard_sql.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery_v2/types/table_reference.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google_cloud_bigquery.egg-info/SOURCES.txt +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google_cloud_bigquery.egg-info/dependency_links.txt +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google_cloud_bigquery.egg-info/top_level.txt +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/setup.cfg +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/setup.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/__init__.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/characters.json +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/characters.jsonl +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/colors.avro +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/numeric_38_12.parquet +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/people.csv +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/pico.csv +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/pico_schema.json +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/scalars.csv +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/scalars.jsonl +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/scalars_extreme.jsonl +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/scalars_schema.json +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/scalars_schema_csv.json +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/schema.json +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/scrub_datasets.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/__init__.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/conftest.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/helpers.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_arrow.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_job_retry.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_list_rows.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_magics.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_pandas.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_query.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_ssl_retry.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_structs.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/__init__.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/_helpers/__init__.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/_helpers/test_cell_data_parser.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/_helpers/test_data_frame_cell_data_parser.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/_helpers/test_scalar_query_param_parser.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/conftest.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/helpers.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/__init__.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/helpers.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_async_job_retry.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_base.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_copy.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_extract.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_load.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_load_config.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_query.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_query_config.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_query_job_retry.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_query_pandas.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_query_stats.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/line_arg_parser/__init__.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/line_arg_parser/test_lexer.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/line_arg_parser/test_parser.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/line_arg_parser/test_visitors.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/model/__init__.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/model/test_model.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/model/test_model_reference.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/routine/__init__.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/routine/test_external_runtime_options.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/routine/test_remote_function_options.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/routine/test_routine.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/routine/test_routine_argument.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/routine/test_routine_reference.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test__helpers.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test__http.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test__job_helpers.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test__job_helpers_retry.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test__pandas_helpers.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test__pyarrow_helpers.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_client.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_client_bigframes.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_client_resumable_media_upload.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_client_retry.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_create_dataset.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_dataset.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_dbapi__helpers.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_dbapi_connection.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_dbapi_cursor.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_dbapi_types.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_delete_dataset.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_encryption_configuration.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_external_config.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_format_options.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_job_retry.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_legacy_types.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_list_datasets.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_list_jobs.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_list_models.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_list_projects.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_list_routines.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_list_tables.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_opentelemetry_tracing.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_packaging.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_retry.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_schema.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_signature_compatibility.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_standard_sql_types.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_string_references.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_table.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_table_arrow.py +0 -0
- {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_table_pandas.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: google-cloud-bigquery
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.43.0
|
|
4
4
|
Summary: Google BigQuery API client library
|
|
5
5
|
Author-email: Google LLC <googleapis-packages@google.com>
|
|
6
6
|
License: Apache 2.0
|
|
@@ -19,7 +19,7 @@ Classifier: Topic :: Internet
|
|
|
19
19
|
Requires-Python: >=3.10
|
|
20
20
|
Description-Content-Type: text/x-rst
|
|
21
21
|
License-File: LICENSE
|
|
22
|
-
Requires-Dist: google-api-core[grpc]<3.0.0,>=2.
|
|
22
|
+
Requires-Dist: google-api-core[grpc]<3.0.0,>=2.28.0
|
|
23
23
|
Requires-Dist: google-auth[pyopenssl]<3.0.0,>=2.14.1
|
|
24
24
|
Requires-Dist: google-cloud-core<3.0.0,>=2.4.1
|
|
25
25
|
Requires-Dist: google-resumable-media<3.0.0,>=2.0.0
|
|
@@ -85,6 +85,26 @@ processing power of Google's infrastructure.
|
|
|
85
85
|
.. _Client Library Documentation: https://cloud.google.com/python/docs/reference/bigquery/latest/summary_overview
|
|
86
86
|
.. _Product Documentation: https://cloud.google.com/bigquery/docs/reference/v2/
|
|
87
87
|
|
|
88
|
+
|
|
89
|
+
Related Libraries
|
|
90
|
+
-----------------
|
|
91
|
+
|
|
92
|
+
For higher-level data analysis and DataFrame operations, consider using one of the following connector libraries:
|
|
93
|
+
|
|
94
|
+
.. list-table::
|
|
95
|
+
:header-rows: 1
|
|
96
|
+
|
|
97
|
+
* - Library
|
|
98
|
+
- Description
|
|
99
|
+
- Documentation
|
|
100
|
+
* - `BigQuery DataFrames (bigframes) <https://dataframes.bigquery.dev/>`_
|
|
101
|
+
- Flexible pandas-like and scikit-learn-like API powered by BigQuery engine for large-scale data analysis and ML.
|
|
102
|
+
- `BigFrames Docs <https://dataframes.bigquery.dev/>`_
|
|
103
|
+
* - `pandas-gbq <https://pandas-gbq.readthedocs.io/>`_
|
|
104
|
+
- Convenient integration allowing pandas DataFrames to load from and write to BigQuery.
|
|
105
|
+
- `pandas-gbq Docs <https://pandas-gbq.readthedocs.io/>`_
|
|
106
|
+
|
|
107
|
+
|
|
88
108
|
Quick Start
|
|
89
109
|
-----------
|
|
90
110
|
|
|
@@ -21,6 +21,26 @@ processing power of Google's infrastructure.
|
|
|
21
21
|
.. _Client Library Documentation: https://cloud.google.com/python/docs/reference/bigquery/latest/summary_overview
|
|
22
22
|
.. _Product Documentation: https://cloud.google.com/bigquery/docs/reference/v2/
|
|
23
23
|
|
|
24
|
+
|
|
25
|
+
Related Libraries
|
|
26
|
+
-----------------
|
|
27
|
+
|
|
28
|
+
For higher-level data analysis and DataFrame operations, consider using one of the following connector libraries:
|
|
29
|
+
|
|
30
|
+
.. list-table::
|
|
31
|
+
:header-rows: 1
|
|
32
|
+
|
|
33
|
+
* - Library
|
|
34
|
+
- Description
|
|
35
|
+
- Documentation
|
|
36
|
+
* - `BigQuery DataFrames (bigframes) <https://dataframes.bigquery.dev/>`_
|
|
37
|
+
- Flexible pandas-like and scikit-learn-like API powered by BigQuery engine for large-scale data analysis and ML.
|
|
38
|
+
- `BigFrames Docs <https://dataframes.bigquery.dev/>`_
|
|
39
|
+
* - `pandas-gbq <https://pandas-gbq.readthedocs.io/>`_
|
|
40
|
+
- Convenient integration allowing pandas DataFrames to load from and write to BigQuery.
|
|
41
|
+
- `pandas-gbq Docs <https://pandas-gbq.readthedocs.io/>`_
|
|
42
|
+
|
|
43
|
+
|
|
24
44
|
Quick Start
|
|
25
45
|
-----------
|
|
26
46
|
|
{google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_helpers.py
RENAMED
|
@@ -295,7 +295,7 @@ class CellDataParser:
|
|
|
295
295
|
return _date_from_iso8601_date(value)
|
|
296
296
|
|
|
297
297
|
def time_to_py(self, value, field):
|
|
298
|
-
"""Coerce 'value' to a datetime
|
|
298
|
+
"""Coerce 'value' to a datetime time, if set or not nullable"""
|
|
299
299
|
if _not_null(value, field):
|
|
300
300
|
if len(value) == 8: # HH:MM:SS
|
|
301
301
|
fmt = _TIMEONLY_WO_MICROS
|
|
@@ -16,10 +16,8 @@
|
|
|
16
16
|
from typing import Any
|
|
17
17
|
|
|
18
18
|
import packaging.version
|
|
19
|
-
|
|
20
19
|
from google.cloud.bigquery import exceptions
|
|
21
20
|
|
|
22
|
-
|
|
23
21
|
_MIN_PYARROW_VERSION = packaging.version.Version("3.0.0")
|
|
24
22
|
_MIN_BQ_STORAGE_VERSION = packaging.version.Version("2.0.0")
|
|
25
23
|
_BQ_STORAGE_OPTIONAL_READ_SESSION_VERSION = packaging.version.Version("2.6.0")
|
|
@@ -27,6 +25,7 @@ _MIN_PANDAS_VERSION = packaging.version.Version("1.1.0")
|
|
|
27
25
|
|
|
28
26
|
_MIN_PANDAS_VERSION_RANGE = packaging.version.Version("1.5.0")
|
|
29
27
|
_MIN_PYARROW_VERSION_RANGE = packaging.version.Version("10.0.1")
|
|
28
|
+
_MIN_PANDAS_GBQ_DELEGATION_VERSION = packaging.version.Version("1.0.0")
|
|
30
29
|
|
|
31
30
|
|
|
32
31
|
class PyarrowVersions:
|
|
@@ -247,3 +246,52 @@ SUPPORTS_RANGE_PYARROW = (
|
|
|
247
246
|
and PYARROW_VERSIONS.try_import() is not None
|
|
248
247
|
and PYARROW_VERSIONS.installed_version >= _MIN_PYARROW_VERSION_RANGE
|
|
249
248
|
)
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
class PandasGBQVersions:
|
|
252
|
+
"""Version and delegation comparisons for pandas-gbq package."""
|
|
253
|
+
|
|
254
|
+
def __init__(self):
|
|
255
|
+
self._installed_version = None
|
|
256
|
+
self._delegation_api_version = None
|
|
257
|
+
|
|
258
|
+
@property
|
|
259
|
+
def installed_version(self) -> packaging.version.Version:
|
|
260
|
+
"""Return the parsed version of pandas-gbq."""
|
|
261
|
+
if self._installed_version is not None:
|
|
262
|
+
return self._installed_version
|
|
263
|
+
|
|
264
|
+
try:
|
|
265
|
+
import pandas_gbq # type: ignore
|
|
266
|
+
|
|
267
|
+
self._installed_version = packaging.version.parse(
|
|
268
|
+
getattr(pandas_gbq, "__version__", "0.0.0")
|
|
269
|
+
)
|
|
270
|
+
except Exception:
|
|
271
|
+
self._installed_version = packaging.version.parse("0.0.0")
|
|
272
|
+
return self._installed_version
|
|
273
|
+
|
|
274
|
+
@property
|
|
275
|
+
def delegation_api_version(self) -> packaging.version.Version:
|
|
276
|
+
"""Return the delegation API version of pandas-gbq if installed, otherwise 0.0.0."""
|
|
277
|
+
if self._delegation_api_version is not None:
|
|
278
|
+
return self._delegation_api_version
|
|
279
|
+
|
|
280
|
+
try:
|
|
281
|
+
import pandas_gbq # type: ignore
|
|
282
|
+
|
|
283
|
+
raw_version = getattr(
|
|
284
|
+
pandas_gbq, "_internal_delegation_api_version", "0.0.0"
|
|
285
|
+
)
|
|
286
|
+
self._delegation_api_version = packaging.version.parse(str(raw_version))
|
|
287
|
+
except Exception:
|
|
288
|
+
self._delegation_api_version = packaging.version.parse("0.0.0")
|
|
289
|
+
return self._delegation_api_version
|
|
290
|
+
|
|
291
|
+
@property
|
|
292
|
+
def is_delegation_supported(self) -> bool:
|
|
293
|
+
"""True if the installed pandas-gbq version supports query delegation API."""
|
|
294
|
+
return self.delegation_api_version >= _MIN_PANDAS_GBQ_DELEGATION_VERSION
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
PANDAS_GBQ_VERSIONS = PandasGBQVersions()
|
|
@@ -78,10 +78,14 @@ class Connection(object):
|
|
|
78
78
|
"""
|
|
79
79
|
self._closed = True
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
for cursor_ in list(self._cursors_created):
|
|
82
|
+
if not cursor_._closed:
|
|
83
|
+
cursor_.close()
|
|
84
|
+
|
|
85
|
+
if self._owns_client and self._client is not None:
|
|
82
86
|
self._client.close()
|
|
83
87
|
|
|
84
|
-
if self._owns_bqstorage_client:
|
|
88
|
+
if self._owns_bqstorage_client and self._bqstorage_client is not None:
|
|
85
89
|
# There is no close() on the BQ Storage client itself.
|
|
86
90
|
transport = self._bqstorage_client.transport
|
|
87
91
|
transport.close()
|
|
@@ -95,10 +99,6 @@ class Connection(object):
|
|
|
95
99
|
if channel is not None:
|
|
96
100
|
channel.close()
|
|
97
101
|
|
|
98
|
-
for cursor_ in self._cursors_created:
|
|
99
|
-
if not cursor_._closed:
|
|
100
|
-
cursor_.close()
|
|
101
|
-
|
|
102
102
|
def commit(self):
|
|
103
103
|
"""No-op, but for consistency raise an error if connection is closed."""
|
|
104
104
|
|
{google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/query.py
RENAMED
|
@@ -1020,7 +1020,6 @@ class RangeQueryParameter(_AbstractQueryParameter):
|
|
|
1020
1020
|
):
|
|
1021
1021
|
self.name = name
|
|
1022
1022
|
self.range_element_type = self._parse_range_element_type(range_element_type)
|
|
1023
|
-
print(self.range_element_type.type_._type)
|
|
1024
1023
|
self.start = start
|
|
1025
1024
|
self.end = end
|
|
1026
1025
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: google-cloud-bigquery
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.43.0
|
|
4
4
|
Summary: Google BigQuery API client library
|
|
5
5
|
Author-email: Google LLC <googleapis-packages@google.com>
|
|
6
6
|
License: Apache 2.0
|
|
@@ -19,7 +19,7 @@ Classifier: Topic :: Internet
|
|
|
19
19
|
Requires-Python: >=3.10
|
|
20
20
|
Description-Content-Type: text/x-rst
|
|
21
21
|
License-File: LICENSE
|
|
22
|
-
Requires-Dist: google-api-core[grpc]<3.0.0,>=2.
|
|
22
|
+
Requires-Dist: google-api-core[grpc]<3.0.0,>=2.28.0
|
|
23
23
|
Requires-Dist: google-auth[pyopenssl]<3.0.0,>=2.14.1
|
|
24
24
|
Requires-Dist: google-cloud-core<3.0.0,>=2.4.1
|
|
25
25
|
Requires-Dist: google-resumable-media<3.0.0,>=2.0.0
|
|
@@ -85,6 +85,26 @@ processing power of Google's infrastructure.
|
|
|
85
85
|
.. _Client Library Documentation: https://cloud.google.com/python/docs/reference/bigquery/latest/summary_overview
|
|
86
86
|
.. _Product Documentation: https://cloud.google.com/bigquery/docs/reference/v2/
|
|
87
87
|
|
|
88
|
+
|
|
89
|
+
Related Libraries
|
|
90
|
+
-----------------
|
|
91
|
+
|
|
92
|
+
For higher-level data analysis and DataFrame operations, consider using one of the following connector libraries:
|
|
93
|
+
|
|
94
|
+
.. list-table::
|
|
95
|
+
:header-rows: 1
|
|
96
|
+
|
|
97
|
+
* - Library
|
|
98
|
+
- Description
|
|
99
|
+
- Documentation
|
|
100
|
+
* - `BigQuery DataFrames (bigframes) <https://dataframes.bigquery.dev/>`_
|
|
101
|
+
- Flexible pandas-like and scikit-learn-like API powered by BigQuery engine for large-scale data analysis and ML.
|
|
102
|
+
- `BigFrames Docs <https://dataframes.bigquery.dev/>`_
|
|
103
|
+
* - `pandas-gbq <https://pandas-gbq.readthedocs.io/>`_
|
|
104
|
+
- Convenient integration allowing pandas DataFrames to load from and write to BigQuery.
|
|
105
|
+
- `pandas-gbq Docs <https://pandas-gbq.readthedocs.io/>`_
|
|
106
|
+
|
|
107
|
+
|
|
88
108
|
Quick Start
|
|
89
109
|
-----------
|
|
90
110
|
|
|
@@ -41,7 +41,7 @@ classifiers = [
|
|
|
41
41
|
"Topic :: Internet",
|
|
42
42
|
]
|
|
43
43
|
dependencies = [
|
|
44
|
-
"google-api-core[grpc] >= 2.
|
|
44
|
+
"google-api-core[grpc] >= 2.28.0, < 3.0.0",
|
|
45
45
|
"google-auth[pyopenssl] >= 2.14.1, < 3.0.0",
|
|
46
46
|
"google-cloud-core >= 2.4.1, < 3.0.0",
|
|
47
47
|
"google-resumable-media >= 2.0.0, < 3.0.0",
|
|
@@ -204,12 +204,16 @@ class TestBigQuery(unittest.TestCase):
|
|
|
204
204
|
tag_key = key_values.pop()
|
|
205
205
|
|
|
206
206
|
# Delete tag values first
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
207
|
+
for tag_value in key_values:
|
|
208
|
+
try:
|
|
209
|
+
tag_values_client.delete_tag_value(name=tag_value.name).result()
|
|
210
|
+
except NotFound:
|
|
211
|
+
pass
|
|
211
212
|
|
|
212
|
-
|
|
213
|
+
try:
|
|
214
|
+
tag_keys_client.delete_tag_key(name=tag_key.name).result()
|
|
215
|
+
except NotFound:
|
|
216
|
+
pass
|
|
213
217
|
|
|
214
218
|
def test_get_service_account_email(self):
|
|
215
219
|
client = Config.CLIENT
|
|
@@ -2182,58 +2186,101 @@ class TestBigQuery(unittest.TestCase):
|
|
|
2182
2186
|
|
|
2183
2187
|
def test_dbapi_connection_does_not_leak_sockets(self):
|
|
2184
2188
|
pytest.importorskip("google.cloud.bigquery_storage")
|
|
2185
|
-
current_process = psutil.Process()
|
|
2186
|
-
conn_start = current_process.net_connections()
|
|
2187
|
-
conn_count_start = len(conn_start)
|
|
2188
2189
|
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
connection = dbapi.connect()
|
|
2192
|
-
cursor = connection.cursor()
|
|
2190
|
+
import google.api_core.grpc_helpers
|
|
2191
|
+
import requests
|
|
2193
2192
|
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
FROM `bigquery-public-data.hacker_news.full`
|
|
2198
|
-
ORDER BY `id` ASC
|
|
2199
|
-
LIMIT 100000
|
|
2200
|
-
"""
|
|
2201
|
-
)
|
|
2202
|
-
rows = cursor.fetchall()
|
|
2203
|
-
self.assertEqual(len(rows), 100000)
|
|
2193
|
+
# Track HTTP Sessions
|
|
2194
|
+
created_sessions = set()
|
|
2195
|
+
closed_sessions = set()
|
|
2204
2196
|
|
|
2205
|
-
|
|
2206
|
-
import gc
|
|
2197
|
+
original_session_init = requests.Session.__init__
|
|
2207
2198
|
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2199
|
+
def patched_session_init(self, *args, **kwargs):
|
|
2200
|
+
original_session_init(self, *args, **kwargs)
|
|
2201
|
+
created_sessions.add(self)
|
|
2202
|
+
|
|
2203
|
+
original_close = self.close
|
|
2204
|
+
|
|
2205
|
+
def patched_close(*s_args, **s_kwargs):
|
|
2206
|
+
original_close(*s_args, **s_kwargs)
|
|
2207
|
+
closed_sessions.add(self)
|
|
2208
|
+
|
|
2209
|
+
self.close = patched_close
|
|
2210
|
+
|
|
2211
|
+
# Track gRPC Channels
|
|
2212
|
+
created_channels = set()
|
|
2213
|
+
closed_channels = set()
|
|
2214
|
+
|
|
2215
|
+
original_create_channel = google.api_core.grpc_helpers.create_channel
|
|
2216
|
+
|
|
2217
|
+
def patched_create_channel(*args, **kwargs):
|
|
2218
|
+
channel = original_create_channel(*args, **kwargs)
|
|
2219
|
+
created_channels.add(channel)
|
|
2220
|
+
|
|
2221
|
+
original_channel_close = channel.close
|
|
2222
|
+
|
|
2223
|
+
def patched_channel_close(*c_args, **c_kwargs):
|
|
2224
|
+
original_channel_close(*c_args, **c_kwargs)
|
|
2225
|
+
closed_channels.add(channel)
|
|
2226
|
+
|
|
2227
|
+
channel.close = patched_channel_close
|
|
2228
|
+
return channel
|
|
2229
|
+
|
|
2230
|
+
# Apply patches
|
|
2231
|
+
requests.Session.__init__ = patched_session_init
|
|
2232
|
+
google.api_core.grpc_helpers.create_channel = patched_create_channel
|
|
2215
2233
|
|
|
2216
2234
|
try:
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
+
with helpers.patch_tracked_requests():
|
|
2236
|
+
# Provide no explicit clients, so that the connection will create and own them.
|
|
2237
|
+
connection = dbapi.connect()
|
|
2238
|
+
cursor = connection.cursor()
|
|
2239
|
+
|
|
2240
|
+
cursor.execute(
|
|
2241
|
+
"""
|
|
2242
|
+
SELECT id, `by`, timestamp
|
|
2243
|
+
FROM `bigquery-public-data.hacker_news.full`
|
|
2244
|
+
ORDER BY `id` ASC
|
|
2245
|
+
LIMIT 100000
|
|
2246
|
+
"""
|
|
2247
|
+
)
|
|
2248
|
+
rows = cursor.fetchall()
|
|
2249
|
+
self.assertEqual(len(rows), 100000)
|
|
2250
|
+
|
|
2251
|
+
connection.close()
|
|
2252
|
+
|
|
2253
|
+
# Assertions
|
|
2254
|
+
self.assertEqual(
|
|
2255
|
+
created_sessions,
|
|
2256
|
+
closed_sessions,
|
|
2257
|
+
f"HTTP Sessions leak detected! Leaked: {created_sessions - closed_sessions}",
|
|
2258
|
+
)
|
|
2259
|
+
|
|
2260
|
+
self.assertEqual(
|
|
2261
|
+
created_channels,
|
|
2262
|
+
closed_channels,
|
|
2263
|
+
f"gRPC Channels leak detected! Leaked: {created_channels - closed_channels}",
|
|
2235
2264
|
)
|
|
2236
2265
|
|
|
2266
|
+
finally:
|
|
2267
|
+
# Revert patches
|
|
2268
|
+
requests.Session.__init__ = original_session_init
|
|
2269
|
+
google.api_core.grpc_helpers.create_channel = original_create_channel
|
|
2270
|
+
|
|
2271
|
+
# Clean up any unclosed sessions/channels to avoid leaking in the test runner
|
|
2272
|
+
for s in created_sessions - closed_sessions:
|
|
2273
|
+
try:
|
|
2274
|
+
s.close()
|
|
2275
|
+
except Exception:
|
|
2276
|
+
pass
|
|
2277
|
+
|
|
2278
|
+
for c in created_channels - closed_channels:
|
|
2279
|
+
try:
|
|
2280
|
+
c.close()
|
|
2281
|
+
except Exception:
|
|
2282
|
+
pass
|
|
2283
|
+
|
|
2237
2284
|
def _load_table_for_dml(self, rows, dataset_id, table_id):
|
|
2238
2285
|
from google.cloud._testing import _NamedTemporaryFile
|
|
2239
2286
|
from google.cloud.bigquery.job import (
|