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.
Files changed (167) hide show
  1. {google_cloud_bigquery-3.42.3/google_cloud_bigquery.egg-info → google_cloud_bigquery-3.43.0}/PKG-INFO +22 -2
  2. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/README.rst +20 -0
  3. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_helpers.py +1 -1
  4. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_versions_helpers.py +50 -2
  5. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/dbapi/connection.py +6 -6
  6. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/query.py +0 -1
  7. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/version.py +1 -1
  8. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0/google_cloud_bigquery.egg-info}/PKG-INFO +22 -2
  9. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google_cloud_bigquery.egg-info/requires.txt +1 -1
  10. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/pyproject.toml +1 -1
  11. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_client.py +96 -49
  12. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test__versions_helpers.py +179 -24
  13. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_magics.py +8 -7
  14. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_query.py +7 -0
  15. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/LICENSE +0 -0
  16. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/MANIFEST.in +0 -0
  17. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/__init__.py +0 -0
  18. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_http.py +0 -0
  19. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_job_helpers.py +0 -0
  20. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_pandas_helpers.py +0 -0
  21. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_pyarrow_helpers.py +0 -0
  22. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_string_references.py +0 -0
  23. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/_tqdm_helpers.py +0 -0
  24. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/client.py +0 -0
  25. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/dataset.py +0 -0
  26. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/dbapi/__init__.py +0 -0
  27. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/dbapi/_helpers.py +0 -0
  28. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/dbapi/cursor.py +0 -0
  29. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/dbapi/exceptions.py +0 -0
  30. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/dbapi/types.py +0 -0
  31. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/encryption_configuration.py +0 -0
  32. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/enums.py +0 -0
  33. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/exceptions.py +0 -0
  34. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/external_config.py +0 -0
  35. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/format_options.py +0 -0
  36. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/iam.py +0 -0
  37. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/job/__init__.py +0 -0
  38. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/job/base.py +0 -0
  39. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/job/copy_.py +0 -0
  40. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/job/extract.py +0 -0
  41. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/job/load.py +0 -0
  42. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/job/query.py +0 -0
  43. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/magics/__init__.py +0 -0
  44. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/magics/line_arg_parser/__init__.py +0 -0
  45. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/magics/line_arg_parser/exceptions.py +0 -0
  46. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/magics/line_arg_parser/lexer.py +0 -0
  47. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/magics/line_arg_parser/parser.py +0 -0
  48. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/magics/line_arg_parser/visitors.py +0 -0
  49. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/magics/magics.py +0 -0
  50. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/model.py +0 -0
  51. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/opentelemetry_tracing.py +0 -0
  52. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/py.typed +0 -0
  53. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/retry.py +0 -0
  54. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/routine/__init__.py +0 -0
  55. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/routine/routine.py +0 -0
  56. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/schema.py +0 -0
  57. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/standard_sql.py +0 -0
  58. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery/table.py +0 -0
  59. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery_v2/__init__.py +0 -0
  60. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery_v2/types/__init__.py +0 -0
  61. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery_v2/types/encryption_config.py +0 -0
  62. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery_v2/types/model.py +0 -0
  63. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery_v2/types/model_reference.py +0 -0
  64. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery_v2/types/standard_sql.py +0 -0
  65. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google/cloud/bigquery_v2/types/table_reference.py +0 -0
  66. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google_cloud_bigquery.egg-info/SOURCES.txt +0 -0
  67. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google_cloud_bigquery.egg-info/dependency_links.txt +0 -0
  68. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/google_cloud_bigquery.egg-info/top_level.txt +0 -0
  69. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/setup.cfg +0 -0
  70. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/setup.py +0 -0
  71. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/__init__.py +0 -0
  72. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/characters.json +0 -0
  73. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/characters.jsonl +0 -0
  74. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/colors.avro +0 -0
  75. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/numeric_38_12.parquet +0 -0
  76. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/people.csv +0 -0
  77. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/pico.csv +0 -0
  78. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/pico_schema.json +0 -0
  79. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/scalars.csv +0 -0
  80. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/scalars.jsonl +0 -0
  81. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/scalars_extreme.jsonl +0 -0
  82. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/scalars_schema.json +0 -0
  83. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/scalars_schema_csv.json +0 -0
  84. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/data/schema.json +0 -0
  85. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/scrub_datasets.py +0 -0
  86. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/__init__.py +0 -0
  87. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/conftest.py +0 -0
  88. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/helpers.py +0 -0
  89. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_arrow.py +0 -0
  90. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_job_retry.py +0 -0
  91. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_list_rows.py +0 -0
  92. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_magics.py +0 -0
  93. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_pandas.py +0 -0
  94. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_query.py +0 -0
  95. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_ssl_retry.py +0 -0
  96. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/system/test_structs.py +0 -0
  97. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/__init__.py +0 -0
  98. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/_helpers/__init__.py +0 -0
  99. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/_helpers/test_cell_data_parser.py +0 -0
  100. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/_helpers/test_data_frame_cell_data_parser.py +0 -0
  101. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/_helpers/test_scalar_query_param_parser.py +0 -0
  102. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/conftest.py +0 -0
  103. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/helpers.py +0 -0
  104. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/__init__.py +0 -0
  105. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/helpers.py +0 -0
  106. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_async_job_retry.py +0 -0
  107. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_base.py +0 -0
  108. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_copy.py +0 -0
  109. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_extract.py +0 -0
  110. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_load.py +0 -0
  111. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_load_config.py +0 -0
  112. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_query.py +0 -0
  113. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_query_config.py +0 -0
  114. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_query_job_retry.py +0 -0
  115. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_query_pandas.py +0 -0
  116. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/job/test_query_stats.py +0 -0
  117. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/line_arg_parser/__init__.py +0 -0
  118. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/line_arg_parser/test_lexer.py +0 -0
  119. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/line_arg_parser/test_parser.py +0 -0
  120. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/line_arg_parser/test_visitors.py +0 -0
  121. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/model/__init__.py +0 -0
  122. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/model/test_model.py +0 -0
  123. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/model/test_model_reference.py +0 -0
  124. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/routine/__init__.py +0 -0
  125. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/routine/test_external_runtime_options.py +0 -0
  126. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/routine/test_remote_function_options.py +0 -0
  127. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/routine/test_routine.py +0 -0
  128. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/routine/test_routine_argument.py +0 -0
  129. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/routine/test_routine_reference.py +0 -0
  130. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test__helpers.py +0 -0
  131. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test__http.py +0 -0
  132. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test__job_helpers.py +0 -0
  133. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test__job_helpers_retry.py +0 -0
  134. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test__pandas_helpers.py +0 -0
  135. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test__pyarrow_helpers.py +0 -0
  136. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_client.py +0 -0
  137. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_client_bigframes.py +0 -0
  138. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_client_resumable_media_upload.py +0 -0
  139. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_client_retry.py +0 -0
  140. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_create_dataset.py +0 -0
  141. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_dataset.py +0 -0
  142. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_dbapi__helpers.py +0 -0
  143. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_dbapi_connection.py +0 -0
  144. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_dbapi_cursor.py +0 -0
  145. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_dbapi_types.py +0 -0
  146. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_delete_dataset.py +0 -0
  147. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_encryption_configuration.py +0 -0
  148. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_external_config.py +0 -0
  149. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_format_options.py +0 -0
  150. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_job_retry.py +0 -0
  151. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_legacy_types.py +0 -0
  152. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_list_datasets.py +0 -0
  153. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_list_jobs.py +0 -0
  154. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_list_models.py +0 -0
  155. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_list_projects.py +0 -0
  156. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_list_routines.py +0 -0
  157. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_list_tables.py +0 -0
  158. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_opentelemetry_tracing.py +0 -0
  159. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_packaging.py +0 -0
  160. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_retry.py +0 -0
  161. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_schema.py +0 -0
  162. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_signature_compatibility.py +0 -0
  163. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_standard_sql_types.py +0 -0
  164. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_string_references.py +0 -0
  165. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_table.py +0 -0
  166. {google_cloud_bigquery-3.42.3 → google_cloud_bigquery-3.43.0}/tests/unit/test_table_arrow.py +0 -0
  167. {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.42.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.25.0
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
 
@@ -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 date, if set or not nullable"""
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
- if self._owns_client:
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
 
@@ -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
 
@@ -12,4 +12,4 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- __version__ = "3.42.3"
15
+ __version__ = "3.43.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: google-cloud-bigquery
3
- Version: 3.42.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.25.0
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
 
@@ -1,4 +1,4 @@
1
- google-api-core[grpc]<3.0.0,>=2.25.0
1
+ google-api-core[grpc]<3.0.0,>=2.28.0
2
2
  google-auth[pyopenssl]<3.0.0,>=2.14.1
3
3
  google-cloud-core<3.0.0,>=2.4.1
4
4
  google-resumable-media<3.0.0,>=2.0.0
@@ -41,7 +41,7 @@ classifiers = [
41
41
  "Topic :: Internet",
42
42
  ]
43
43
  dependencies = [
44
- "google-api-core[grpc] >= 2.25.0, < 3.0.0",
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
- tag_values_client.delete_tag_value(name=tag_value.name).result()
209
- for tag_value in key_values
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
- tag_keys_client.delete_tag_key(name=tag_key.name).result()
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
- with helpers.patch_tracked_requests():
2190
- # Provide no explicit clients, so that the connection will create and own them.
2191
- connection = dbapi.connect()
2192
- cursor = connection.cursor()
2190
+ import google.api_core.grpc_helpers
2191
+ import requests
2193
2192
 
2194
- cursor.execute(
2195
- """
2196
- SELECT id, `by`, timestamp
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
- connection.close()
2206
- import gc
2197
+ original_session_init = requests.Session.__init__
2207
2198
 
2208
- gc.collect()
2209
- for _ in range(30): # Wait up to 3 seconds
2210
- conn_end = current_process.net_connections()
2211
- conn_count_end = len(conn_end)
2212
- if conn_count_end <= conn_count_start:
2213
- break
2214
- time.sleep(0.1)
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
- self.assertLessEqual(conn_count_end, conn_count_start)
2218
- except AssertionError as e:
2219
- # Due to flakiness in this test (likely caused by OS cleanup delays or
2220
- # non-deterministic garbage collection of sockets), we want to capture
2221
- # the detailed state of connections in future failing runs to help
2222
- # decrease false positives and identify the root cause.
2223
- conn_debug = [
2224
- f"Status: {c.status}, Laddr: {c.laddr}, Raddr: {c.raddr}"
2225
- for c in current_process.net_connections()
2226
- ]
2227
- debug_msg = "\n".join(conn_debug)
2228
-
2229
- raise AssertionError(
2230
- f"{e}\n\n"
2231
- f"--- Socket Leak Debug Info ---\n"
2232
- f"Start Count: {conn_count_start}\n"
2233
- f"End Count: {conn_count_end}\n"
2234
- f"Current Connections:\n{debug_msg}"
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 (