google-cloud-bigquery 3.41.0__tar.gz → 3.42.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 (166) hide show
  1. {google_cloud_bigquery-3.41.0/google_cloud_bigquery.egg-info → google_cloud_bigquery-3.42.0}/PKG-INFO +6 -9
  2. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/README.rst +2 -2
  3. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/__init__.py +4 -7
  4. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/_pyarrow_helpers.py +1 -1
  5. google_cloud_bigquery-3.42.0/google/cloud/bigquery/_string_references.py +166 -0
  6. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/_tqdm_helpers.py +1 -1
  7. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/_versions_helpers.py +0 -15
  8. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/dataset.py +9 -22
  9. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/table.py +10 -14
  10. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/version.py +1 -1
  11. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0/google_cloud_bigquery.egg-info}/PKG-INFO +6 -9
  12. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google_cloud_bigquery.egg-info/SOURCES.txt +2 -0
  13. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google_cloud_bigquery.egg-info/requires.txt +1 -6
  14. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/pyproject.toml +3 -6
  15. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/setup.cfg +1 -1
  16. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/system/test_client.py +24 -0
  17. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/system/test_pandas.py +10 -11
  18. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/system/test_query.py +9 -29
  19. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test__pandas_helpers.py +2 -2
  20. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_dataset.py +0 -48
  21. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_magics.py +61 -25
  22. google_cloud_bigquery-3.42.0/tests/unit/test_string_references.py +183 -0
  23. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_table.py +0 -55
  24. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/LICENSE +0 -0
  25. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/MANIFEST.in +0 -0
  26. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/_helpers.py +0 -0
  27. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/_http.py +0 -0
  28. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/_job_helpers.py +0 -0
  29. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/_pandas_helpers.py +0 -0
  30. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/client.py +0 -0
  31. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/dbapi/__init__.py +0 -0
  32. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/dbapi/_helpers.py +0 -0
  33. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/dbapi/connection.py +0 -0
  34. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/dbapi/cursor.py +0 -0
  35. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/dbapi/exceptions.py +0 -0
  36. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/dbapi/types.py +0 -0
  37. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/encryption_configuration.py +0 -0
  38. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/enums.py +0 -0
  39. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/exceptions.py +0 -0
  40. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/external_config.py +0 -0
  41. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/format_options.py +0 -0
  42. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/iam.py +0 -0
  43. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/job/__init__.py +0 -0
  44. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/job/base.py +0 -0
  45. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/job/copy_.py +0 -0
  46. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/job/extract.py +0 -0
  47. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/job/load.py +0 -0
  48. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/job/query.py +0 -0
  49. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/magics/__init__.py +0 -0
  50. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/magics/line_arg_parser/__init__.py +0 -0
  51. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/magics/line_arg_parser/exceptions.py +0 -0
  52. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/magics/line_arg_parser/lexer.py +0 -0
  53. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/magics/line_arg_parser/parser.py +0 -0
  54. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/magics/line_arg_parser/visitors.py +0 -0
  55. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/magics/magics.py +0 -0
  56. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/model.py +0 -0
  57. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/opentelemetry_tracing.py +0 -0
  58. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/py.typed +0 -0
  59. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/query.py +0 -0
  60. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/retry.py +0 -0
  61. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/routine/__init__.py +0 -0
  62. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/routine/routine.py +0 -0
  63. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/schema.py +0 -0
  64. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery/standard_sql.py +0 -0
  65. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery_v2/__init__.py +0 -0
  66. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery_v2/types/__init__.py +0 -0
  67. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery_v2/types/encryption_config.py +0 -0
  68. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery_v2/types/model.py +0 -0
  69. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery_v2/types/model_reference.py +0 -0
  70. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery_v2/types/standard_sql.py +0 -0
  71. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google/cloud/bigquery_v2/types/table_reference.py +0 -0
  72. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google_cloud_bigquery.egg-info/dependency_links.txt +0 -0
  73. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/google_cloud_bigquery.egg-info/top_level.txt +0 -0
  74. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/setup.py +0 -0
  75. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/__init__.py +0 -0
  76. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/data/characters.json +0 -0
  77. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/data/characters.jsonl +0 -0
  78. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/data/colors.avro +0 -0
  79. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/data/numeric_38_12.parquet +0 -0
  80. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/data/people.csv +0 -0
  81. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/data/pico.csv +0 -0
  82. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/data/pico_schema.json +0 -0
  83. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/data/scalars.csv +0 -0
  84. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/data/scalars.jsonl +0 -0
  85. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/data/scalars_extreme.jsonl +0 -0
  86. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/data/scalars_schema.json +0 -0
  87. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/data/scalars_schema_csv.json +0 -0
  88. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/data/schema.json +0 -0
  89. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/scrub_datasets.py +0 -0
  90. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/system/__init__.py +0 -0
  91. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/system/conftest.py +0 -0
  92. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/system/helpers.py +0 -0
  93. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/system/test_arrow.py +0 -0
  94. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/system/test_job_retry.py +0 -0
  95. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/system/test_list_rows.py +0 -0
  96. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/system/test_magics.py +0 -0
  97. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/system/test_structs.py +0 -0
  98. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/__init__.py +0 -0
  99. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/_helpers/__init__.py +0 -0
  100. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/_helpers/test_cell_data_parser.py +0 -0
  101. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/_helpers/test_data_frame_cell_data_parser.py +0 -0
  102. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/_helpers/test_scalar_query_param_parser.py +0 -0
  103. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/conftest.py +0 -0
  104. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/helpers.py +0 -0
  105. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/job/__init__.py +0 -0
  106. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/job/helpers.py +0 -0
  107. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/job/test_async_job_retry.py +0 -0
  108. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/job/test_base.py +0 -0
  109. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/job/test_copy.py +0 -0
  110. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/job/test_extract.py +0 -0
  111. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/job/test_load.py +0 -0
  112. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/job/test_load_config.py +0 -0
  113. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/job/test_query.py +0 -0
  114. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/job/test_query_config.py +0 -0
  115. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/job/test_query_job_retry.py +0 -0
  116. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/job/test_query_pandas.py +0 -0
  117. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/job/test_query_stats.py +0 -0
  118. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/line_arg_parser/__init__.py +0 -0
  119. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/line_arg_parser/test_lexer.py +0 -0
  120. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/line_arg_parser/test_parser.py +0 -0
  121. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/line_arg_parser/test_visitors.py +0 -0
  122. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/model/__init__.py +0 -0
  123. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/model/test_model.py +0 -0
  124. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/model/test_model_reference.py +0 -0
  125. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/routine/__init__.py +0 -0
  126. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/routine/test_external_runtime_options.py +0 -0
  127. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/routine/test_remote_function_options.py +0 -0
  128. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/routine/test_routine.py +0 -0
  129. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/routine/test_routine_argument.py +0 -0
  130. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/routine/test_routine_reference.py +0 -0
  131. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test__helpers.py +0 -0
  132. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test__http.py +0 -0
  133. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test__job_helpers.py +0 -0
  134. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test__job_helpers_retry.py +0 -0
  135. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test__pyarrow_helpers.py +0 -0
  136. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test__versions_helpers.py +0 -0
  137. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_client.py +0 -0
  138. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_client_bigframes.py +0 -0
  139. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_client_resumable_media_upload.py +0 -0
  140. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_client_retry.py +0 -0
  141. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_create_dataset.py +0 -0
  142. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_dbapi__helpers.py +0 -0
  143. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_dbapi_connection.py +0 -0
  144. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_dbapi_cursor.py +0 -0
  145. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_dbapi_types.py +0 -0
  146. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_delete_dataset.py +0 -0
  147. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_encryption_configuration.py +0 -0
  148. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_external_config.py +0 -0
  149. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_format_options.py +0 -0
  150. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_job_retry.py +0 -0
  151. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_legacy_types.py +0 -0
  152. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_list_datasets.py +0 -0
  153. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_list_jobs.py +0 -0
  154. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_list_models.py +0 -0
  155. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_list_projects.py +0 -0
  156. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_list_routines.py +0 -0
  157. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_list_tables.py +0 -0
  158. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_opentelemetry_tracing.py +0 -0
  159. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_packaging.py +0 -0
  160. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_query.py +0 -0
  161. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_retry.py +0 -0
  162. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_schema.py +0 -0
  163. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_signature_compatibility.py +0 -0
  164. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_standard_sql_types.py +0 -0
  165. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.0}/tests/unit/test_table_arrow.py +0 -0
  166. {google_cloud_bigquery-3.41.0 → google_cloud_bigquery-3.42.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.41.0
3
+ Version: 3.42.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
@@ -9,8 +9,6 @@ Classifier: Development Status :: 5 - Production/Stable
9
9
  Classifier: Intended Audience :: Developers
10
10
  Classifier: Programming Language :: Python
11
11
  Classifier: Programming Language :: Python :: 3
12
- Classifier: Programming Language :: Python :: 3.8
13
- Classifier: Programming Language :: Python :: 3.9
14
12
  Classifier: Programming Language :: Python :: 3.10
15
13
  Classifier: Programming Language :: Python :: 3.11
16
14
  Classifier: Programming Language :: Python :: 3.12
@@ -18,11 +16,11 @@ Classifier: Programming Language :: Python :: 3.13
18
16
  Classifier: Programming Language :: Python :: 3.14
19
17
  Classifier: Operating System :: OS Independent
20
18
  Classifier: Topic :: Internet
21
- Requires-Python: >=3.8
19
+ Requires-Python: >=3.10
22
20
  Description-Content-Type: text/x-rst
23
21
  License-File: LICENSE
24
22
  Requires-Dist: google-api-core[grpc]<3.0.0,>=2.11.1
25
- Requires-Dist: google-auth<3.0.0,>=2.14.1
23
+ Requires-Dist: google-auth[pyopenssl]<3.0.0,>=2.14.1
26
24
  Requires-Dist: google-cloud-core<3.0.0,>=2.4.1
27
25
  Requires-Dist: google-resumable-media<3.0.0,>=2.0.0
28
26
  Requires-Dist: packaging>=24.2.0
@@ -52,8 +50,7 @@ Provides-Extra: ipython
52
50
  Requires-Dist: ipython>=7.23.1; extra == "ipython"
53
51
  Requires-Dist: bigquery-magics>=0.6.0; extra == "ipython"
54
52
  Provides-Extra: matplotlib
55
- Requires-Dist: matplotlib<=3.9.2,>=3.7.1; python_version == "3.9" and extra == "matplotlib"
56
- Requires-Dist: matplotlib>=3.10.3; python_version >= "3.10" and extra == "matplotlib"
53
+ Requires-Dist: matplotlib>=3.10.3; extra == "matplotlib"
57
54
  Provides-Extra: tqdm
58
55
  Requires-Dist: tqdm<5.0.0,>=4.23.4; extra == "tqdm"
59
56
  Provides-Extra: opentelemetry
@@ -121,11 +118,11 @@ dependencies.
121
118
 
122
119
  Supported Python Versions
123
120
  ^^^^^^^^^^^^^^^^^^^^^^^^^
124
- Python >= 3.9
121
+ Python >= 3.10
125
122
 
126
123
  Unsupported Python Versions
127
124
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
128
- Python == 2.7, Python == 3.5, Python == 3.6, Python == 3.7, and Python == 3.8.
125
+ Python <= 3.9.
129
126
 
130
127
  The last version of this library compatible with Python 2.7 and 3.5 is
131
128
  `google-cloud-bigquery==1.28.0`.
@@ -52,11 +52,11 @@ dependencies.
52
52
 
53
53
  Supported Python Versions
54
54
  ^^^^^^^^^^^^^^^^^^^^^^^^^
55
- Python >= 3.9
55
+ Python >= 3.10
56
56
 
57
57
  Unsupported Python Versions
58
58
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
59
- Python == 2.7, Python == 3.5, Python == 3.6, Python == 3.7, and Python == 3.8.
59
+ Python <= 3.9.
60
60
 
61
61
  The last version of this library compatible with Python 2.7 and 3.5 is
62
62
  `google-cloud-bigquery==1.28.0`.
@@ -27,6 +27,7 @@ The main concepts with this API are:
27
27
  - :class:`~google.cloud.bigquery.table.Table` represents a single "relation".
28
28
  """
29
29
 
30
+ import sys
30
31
  import warnings
31
32
 
32
33
  from google.cloud.bigquery import version as bigquery_version
@@ -116,20 +117,16 @@ from google.cloud.bigquery.table import TableReference
116
117
  from google.cloud.bigquery.table import TimePartitioningType
117
118
  from google.cloud.bigquery.table import TimePartitioning
118
119
  from google.cloud.bigquery.encryption_configuration import EncryptionConfiguration
119
- from google.cloud.bigquery import _versions_helpers
120
120
 
121
121
  try:
122
122
  import bigquery_magics # type: ignore
123
123
  except ImportError:
124
124
  bigquery_magics = None
125
125
 
126
- sys_major, sys_minor, sys_micro = _versions_helpers.extract_runtime_version()
127
-
128
- if sys_major == 3 and sys_minor in (7, 8):
126
+ if sys.version_info < (3, 10):
129
127
  warnings.warn(
130
- "The python-bigquery library no longer supports Python 3.7 "
131
- "and Python 3.8. "
132
- f"Your Python version is {sys_major}.{sys_minor}.{sys_micro}. We "
128
+ "The python-bigquery library no longer supports Python <= 3.9. "
129
+ f"Your Python version is {sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}. We "
133
130
  "recommend that you update soon to ensure ongoing support. For "
134
131
  "more details, see: [Google Cloud Client Libraries Supported Python Versions policy](https://cloud.google.com/python/docs/supported-python-versions)",
135
132
  FutureWarning,
@@ -26,7 +26,7 @@ from typing import Any
26
26
  try:
27
27
  import pyarrow # type: ignore
28
28
  except ImportError:
29
- pyarrow = None
29
+ pyarrow = None # type: ignore[assignment]
30
30
 
31
31
  try:
32
32
  import db_dtypes # type: ignore
@@ -0,0 +1,166 @@
1
+ # Copyright 2026 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ """Helper to turn string references into REST resources."""
16
+
17
+ # TODO(b/513204277): Consolidate these transformations with pandas-gbq and bigframes.
18
+
19
+ from __future__ import annotations
20
+
21
+ import re
22
+ from typing import TypedDict, Union
23
+
24
+
25
+ ParsedDatasetReference = TypedDict(
26
+ "ParsedDatasetReference",
27
+ {
28
+ "projectId": str,
29
+ "datasetId": str,
30
+ },
31
+ )
32
+
33
+
34
+ ParsedTableReference = TypedDict(
35
+ "ParsedTableReference",
36
+ {
37
+ "projectId": str,
38
+ "datasetId": str,
39
+ "tableId": str,
40
+ },
41
+ )
42
+
43
+
44
+ _FULLY_QUALIFIED_DATASET_REFERENCE_PATTERN = re.compile(
45
+ # In the past, organizations could prefix their project IDs with a domain
46
+ # name. Such projects still exist, especially at Google.
47
+ r"^(?P<legacy_project_domain>[^:]+:)?"
48
+ r"(?P<project>[^.]+)\."
49
+ # Match dataset or catalog + namespace.
50
+ #
51
+ # Namespace could be arbitrarily deeply nested in Iceberg/BigLake. Support
52
+ # this without catastrophic backtracking by moving the trailing "." to the
53
+ # table group.
54
+ r"(?P<inner_parts>.*)"
55
+ )
56
+
57
+
58
+ _FULLY_QUALIFIED_TABLE_REFERENCE_PATTERN = re.compile(
59
+ # In the past, organizations could prefix their project IDs with a domain
60
+ # name. Such projects still exist, especially at Google.
61
+ r"^(?P<legacy_project_domain>[^:]+:)?"
62
+ r"(?P<project>[^.]+)\."
63
+ # Match dataset or catalog + namespace.
64
+ #
65
+ # Namespace could be arbitrarily deeply nested in Iceberg/BigLake. Support
66
+ # this without catastrophic backtracking by moving the trailing "." to the
67
+ # table group.
68
+ r"(?P<inner_parts>.*)"
69
+ # Table names can't contain ".", as that's used as the separator.
70
+ r"\.(?P<table>[^.]+)$"
71
+ )
72
+
73
+
74
+ _RELATIVE_TABLE_REFERENCE_PATTERN = re.compile(
75
+ # Match dataset or catalog + namespace.
76
+ #
77
+ # Namespace could be arbitrarily deeply nested in Iceberg/BigLake. Support
78
+ # this without catastrophic backtracking by moving the trailing "." to the
79
+ # table group.
80
+ r"(?P<inner_parts>.*)"
81
+ # Table names can't contain ".", as that's used as the separator.
82
+ r"\.(?P<table>[^.]+)$"
83
+ )
84
+
85
+
86
+ def parse_dataset_reference(
87
+ dataset_id: str, *, default_project: Union[str, None]
88
+ ) -> ParsedDatasetReference:
89
+ """Parse a dataset ID string.
90
+
91
+ Returns:
92
+ ParsedDatasetReference: A typed dictionary (to avoid circular dependencies).
93
+
94
+ Raises:
95
+ ValueError: When a fully-qualified dataset ID can't be determined.
96
+ """
97
+ regex_match = _FULLY_QUALIFIED_DATASET_REFERENCE_PATTERN.match(dataset_id)
98
+ if regex_match:
99
+ legacy_project_domain = regex_match.group("legacy_project_domain")
100
+ project = regex_match.group("project")
101
+
102
+ if legacy_project_domain:
103
+ output_project_id = f"{legacy_project_domain}{project}"
104
+ else:
105
+ output_project_id = project
106
+
107
+ return {
108
+ "projectId": output_project_id,
109
+ "datasetId": regex_match.group("inner_parts"),
110
+ }
111
+
112
+ if not default_project:
113
+ raise ValueError(
114
+ "When default_project is not set, dataset_id must be a "
115
+ "fully-qualified dataset ID in standard SQL format, "
116
+ 'e.g., "project.dataset_id" got {}'.format(dataset_id)
117
+ )
118
+
119
+ return {"datasetId": dataset_id, "projectId": default_project}
120
+
121
+
122
+ def parse_table_reference(
123
+ table_id: str, *, default_project: Union[str, None]
124
+ ) -> ParsedTableReference:
125
+ """Parse a table ID string.
126
+
127
+ Returns:
128
+ ParsedTableReference: A typed dictionary (to avoid circular dependencies).
129
+
130
+ Raises:
131
+ ValueError: When a fully-qualified table ID can't be determined.
132
+ """
133
+ regex_match = _FULLY_QUALIFIED_TABLE_REFERENCE_PATTERN.match(table_id)
134
+ if regex_match:
135
+ legacy_project_domain = regex_match.group("legacy_project_domain")
136
+ project = regex_match.group("project")
137
+
138
+ if legacy_project_domain:
139
+ output_project_id = f"{legacy_project_domain}{project}"
140
+ else:
141
+ output_project_id = project
142
+
143
+ return {
144
+ "projectId": output_project_id,
145
+ "datasetId": regex_match.group("inner_parts"),
146
+ "tableId": regex_match.group("table"),
147
+ }
148
+
149
+ if not default_project:
150
+ raise ValueError(
151
+ "Could not determine project ID. Supply a default project or a fully-qualified table ID, "
152
+ f"such as 'project.dataset.table'. Got {table_id}."
153
+ )
154
+
155
+ regex_match = _RELATIVE_TABLE_REFERENCE_PATTERN.match(table_id)
156
+ if not regex_match:
157
+ raise ValueError(
158
+ "Could not parse table_id. Expected a table ID"
159
+ f"such as 'project.dataset.table', but got {table_id}."
160
+ )
161
+
162
+ return {
163
+ "projectId": default_project,
164
+ "datasetId": regex_match.group("inner_parts"),
165
+ "tableId": regex_match.group("table"),
166
+ }
@@ -70,7 +70,7 @@ def get_progress_bar(progress_bar_type, description, total, unit):
70
70
  )
71
71
  elif progress_bar_type == "tqdm_gui":
72
72
  return tqdm.tqdm_gui(desc=description, total=total, unit=unit)
73
- except (KeyError, TypeError): # pragma: NO COVER
73
+ except (KeyError, TypeError, ImportError): # pragma: NO COVER
74
74
  # Protect ourselves from any tqdm errors. In case of
75
75
  # unexpected tqdm behavior, just fall back to showing
76
76
  # no progress bar.
@@ -11,10 +11,8 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
-
15
14
  """Shared helper functions for verifying versions of installed modules."""
16
15
 
17
- import sys
18
16
  from typing import Any
19
17
 
20
18
  import packaging.version
@@ -249,16 +247,3 @@ SUPPORTS_RANGE_PYARROW = (
249
247
  and PYARROW_VERSIONS.try_import() is not None
250
248
  and PYARROW_VERSIONS.installed_version >= _MIN_PYARROW_VERSION_RANGE
251
249
  )
252
-
253
-
254
- def extract_runtime_version():
255
- # Retrieve the version information
256
- version_info = sys.version_info
257
-
258
- # Extract the major, minor, and micro components
259
- major = version_info.major
260
- minor = version_info.minor
261
- micro = version_info.micro
262
-
263
- # Display the version number in a clear format
264
- return major, minor, micro
@@ -30,6 +30,7 @@ from google.cloud.bigquery.routine import Routine, RoutineReference
30
30
  from google.cloud.bigquery.table import Table, TableReference
31
31
  from google.cloud.bigquery.encryption_configuration import EncryptionConfiguration
32
32
  from google.cloud.bigquery import external_config
33
+ from google.cloud.bigquery import _string_references
33
34
 
34
35
 
35
36
  def _get_table_reference(self, table_id: str) -> TableReference:
@@ -123,7 +124,9 @@ class DatasetReference(object):
123
124
  routine = _get_routine_reference
124
125
 
125
126
  @classmethod
126
- def from_api_repr(cls, resource: dict) -> "DatasetReference":
127
+ def from_api_repr(
128
+ cls, resource: Union[dict, _string_references.ParsedDatasetReference]
129
+ ) -> "DatasetReference":
127
130
  """Factory: construct a dataset reference given its API representation
128
131
 
129
132
  Args:
@@ -166,28 +169,12 @@ class DatasetReference(object):
166
169
  If ``dataset_id`` is not a fully-qualified dataset ID in
167
170
  standard SQL format.
168
171
  """
169
- output_dataset_id = dataset_id
170
- parts = _helpers._split_id(dataset_id)
171
-
172
- if len(parts) == 1:
173
- if default_project is not None:
174
- output_project_id = default_project
175
- else:
176
- raise ValueError(
177
- "When default_project is not set, dataset_id must be a "
178
- "fully-qualified dataset ID in standard SQL format, "
179
- 'e.g., "project.dataset_id" got {}'.format(dataset_id)
180
- )
181
- elif len(parts) == 2:
182
- output_project_id, output_dataset_id = parts
183
- else:
184
- raise ValueError(
185
- "Too many parts in dataset_id. Expected a fully-qualified "
186
- "dataset ID in standard SQL format, "
187
- 'e.g. "project.dataset_id", got {}'.format(dataset_id)
172
+ return cls.from_api_repr(
173
+ _string_references.parse_dataset_reference(
174
+ dataset_id=dataset_id,
175
+ default_project=default_project,
188
176
  )
189
-
190
- return cls(output_project_id, output_dataset_id)
177
+ )
191
178
 
192
179
  def to_api_repr(self) -> dict:
193
180
  """Construct the API resource representation of this dataset reference
@@ -33,7 +33,7 @@ except ImportError:
33
33
  try:
34
34
  import pyarrow # type: ignore
35
35
  except ImportError:
36
- pyarrow = None
36
+ pyarrow = None # type: ignore[assignment]
37
37
 
38
38
  try:
39
39
  import db_dtypes # type: ignore
@@ -72,6 +72,7 @@ from google.cloud.bigquery.schema import _build_schema_resource
72
72
  from google.cloud.bigquery.schema import _parse_schema_resource
73
73
  from google.cloud.bigquery.schema import _to_schema_fields
74
74
  from google.cloud.bigquery import external_config
75
+ from google.cloud.bigquery import _string_references
75
76
 
76
77
  if typing.TYPE_CHECKING: # pragma: NO COVER
77
78
  # Unconditionally import optional dependencies again to tell pytype that
@@ -281,22 +282,17 @@ class TableReference(_TableBase):
281
282
  If ``table_id`` is not a fully-qualified table ID in
282
283
  standard SQL format.
283
284
  """
284
- from google.cloud.bigquery.dataset import DatasetReference
285
-
286
- (
287
- output_project_id,
288
- output_dataset_id,
289
- output_table_id,
290
- ) = _helpers._parse_3_part_id(
291
- table_id, default_project=default_project, property_name="table_id"
292
- )
293
-
294
- return cls(
295
- DatasetReference(output_project_id, output_dataset_id), output_table_id
285
+ return cls.from_api_repr(
286
+ _string_references.parse_table_reference(
287
+ table_id=table_id,
288
+ default_project=default_project,
289
+ )
296
290
  )
297
291
 
298
292
  @classmethod
299
- def from_api_repr(cls, resource: dict) -> "TableReference":
293
+ def from_api_repr(
294
+ cls, resource: Union[dict, _string_references.ParsedTableReference]
295
+ ) -> "TableReference":
300
296
  """Factory: construct a table reference given its API representation
301
297
 
302
298
  Args:
@@ -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.41.0"
15
+ __version__ = "3.42.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: google-cloud-bigquery
3
- Version: 3.41.0
3
+ Version: 3.42.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
@@ -9,8 +9,6 @@ Classifier: Development Status :: 5 - Production/Stable
9
9
  Classifier: Intended Audience :: Developers
10
10
  Classifier: Programming Language :: Python
11
11
  Classifier: Programming Language :: Python :: 3
12
- Classifier: Programming Language :: Python :: 3.8
13
- Classifier: Programming Language :: Python :: 3.9
14
12
  Classifier: Programming Language :: Python :: 3.10
15
13
  Classifier: Programming Language :: Python :: 3.11
16
14
  Classifier: Programming Language :: Python :: 3.12
@@ -18,11 +16,11 @@ Classifier: Programming Language :: Python :: 3.13
18
16
  Classifier: Programming Language :: Python :: 3.14
19
17
  Classifier: Operating System :: OS Independent
20
18
  Classifier: Topic :: Internet
21
- Requires-Python: >=3.8
19
+ Requires-Python: >=3.10
22
20
  Description-Content-Type: text/x-rst
23
21
  License-File: LICENSE
24
22
  Requires-Dist: google-api-core[grpc]<3.0.0,>=2.11.1
25
- Requires-Dist: google-auth<3.0.0,>=2.14.1
23
+ Requires-Dist: google-auth[pyopenssl]<3.0.0,>=2.14.1
26
24
  Requires-Dist: google-cloud-core<3.0.0,>=2.4.1
27
25
  Requires-Dist: google-resumable-media<3.0.0,>=2.0.0
28
26
  Requires-Dist: packaging>=24.2.0
@@ -52,8 +50,7 @@ Provides-Extra: ipython
52
50
  Requires-Dist: ipython>=7.23.1; extra == "ipython"
53
51
  Requires-Dist: bigquery-magics>=0.6.0; extra == "ipython"
54
52
  Provides-Extra: matplotlib
55
- Requires-Dist: matplotlib<=3.9.2,>=3.7.1; python_version == "3.9" and extra == "matplotlib"
56
- Requires-Dist: matplotlib>=3.10.3; python_version >= "3.10" and extra == "matplotlib"
53
+ Requires-Dist: matplotlib>=3.10.3; extra == "matplotlib"
57
54
  Provides-Extra: tqdm
58
55
  Requires-Dist: tqdm<5.0.0,>=4.23.4; extra == "tqdm"
59
56
  Provides-Extra: opentelemetry
@@ -121,11 +118,11 @@ dependencies.
121
118
 
122
119
  Supported Python Versions
123
120
  ^^^^^^^^^^^^^^^^^^^^^^^^^
124
- Python >= 3.9
121
+ Python >= 3.10
125
122
 
126
123
  Unsupported Python Versions
127
124
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
128
- Python == 2.7, Python == 3.5, Python == 3.6, Python == 3.7, and Python == 3.8.
125
+ Python <= 3.9.
129
126
 
130
127
  The last version of this library compatible with Python 2.7 and 3.5 is
131
128
  `google-cloud-bigquery==1.28.0`.
@@ -10,6 +10,7 @@ google/cloud/bigquery/_http.py
10
10
  google/cloud/bigquery/_job_helpers.py
11
11
  google/cloud/bigquery/_pandas_helpers.py
12
12
  google/cloud/bigquery/_pyarrow_helpers.py
13
+ google/cloud/bigquery/_string_references.py
13
14
  google/cloud/bigquery/_tqdm_helpers.py
14
15
  google/cloud/bigquery/_versions_helpers.py
15
16
  google/cloud/bigquery/client.py
@@ -128,6 +129,7 @@ tests/unit/test_retry.py
128
129
  tests/unit/test_schema.py
129
130
  tests/unit/test_signature_compatibility.py
130
131
  tests/unit/test_standard_sql_types.py
132
+ tests/unit/test_string_references.py
131
133
  tests/unit/test_table.py
132
134
  tests/unit/test_table_arrow.py
133
135
  tests/unit/test_table_pandas.py
@@ -1,5 +1,5 @@
1
1
  google-api-core[grpc]<3.0.0,>=2.11.1
2
- google-auth<3.0.0,>=2.14.1
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
5
5
  packaging>=24.2.0
@@ -37,11 +37,6 @@ ipywidgets>=7.7.1
37
37
  ipykernel>=6.2.0
38
38
 
39
39
  [matplotlib]
40
-
41
- [matplotlib:python_version == "3.9"]
42
- matplotlib<=3.9.2,>=3.7.1
43
-
44
- [matplotlib:python_version >= "3.10"]
45
40
  matplotlib>=3.10.3
46
41
 
47
42
  [opentelemetry]
@@ -20,7 +20,7 @@ build-backend = "setuptools.build_meta"
20
20
  name = "google-cloud-bigquery"
21
21
  authors = [{ name = "Google LLC", email = "googleapis-packages@google.com" }]
22
22
  license = { text = "Apache 2.0" }
23
- requires-python = ">=3.8"
23
+ requires-python = ">=3.10"
24
24
  description = "Google BigQuery API client library"
25
25
  readme = "README.rst"
26
26
  classifiers = [
@@ -32,8 +32,6 @@ classifiers = [
32
32
  "Intended Audience :: Developers",
33
33
  "Programming Language :: Python",
34
34
  "Programming Language :: Python :: 3",
35
- "Programming Language :: Python :: 3.8",
36
- "Programming Language :: Python :: 3.9",
37
35
  "Programming Language :: Python :: 3.10",
38
36
  "Programming Language :: Python :: 3.11",
39
37
  "Programming Language :: Python :: 3.12",
@@ -44,7 +42,7 @@ classifiers = [
44
42
  ]
45
43
  dependencies = [
46
44
  "google-api-core[grpc] >= 2.11.1, < 3.0.0",
47
- "google-auth >= 2.14.1, < 3.0.0",
45
+ "google-auth[pyopenssl] >= 2.14.1, < 3.0.0",
48
46
  "google-cloud-core >= 2.4.1, < 3.0.0",
49
47
  "google-resumable-media >= 2.0.0, < 3.0.0",
50
48
  "packaging >= 24.2.0",
@@ -86,8 +84,7 @@ ipywidgets = ["ipywidgets >= 7.7.1", "ipykernel >= 6.2.0"]
86
84
  geopandas = ["geopandas >= 0.9.0, < 2.0.0", "Shapely >= 1.8.4, < 3.0.0"]
87
85
  ipython = ["ipython >= 7.23.1", "bigquery-magics >= 0.6.0"]
88
86
  matplotlib = [
89
- "matplotlib >= 3.7.1, <= 3.9.2; python_version == '3.9'",
90
- "matplotlib >= 3.10.3; python_version >= '3.10'",
87
+ "matplotlib >= 3.10.3",
91
88
  ]
92
89
  tqdm = ["tqdm >= 4.23.4, < 5.0.0"]
93
90
  opentelemetry = [
@@ -1,5 +1,5 @@
1
1
  [pytype]
2
- python_version = 3.8
2
+ python_version = 3.10
3
3
  inputs =
4
4
  google/cloud/
5
5
  exclude =
@@ -304,6 +304,18 @@ class TestBigQuery(unittest.TestCase):
304
304
  self.assertEqual(got.friendly_name, "Friendly")
305
305
  self.assertEqual(got.description, "Description")
306
306
 
307
+ def test_get_dataset_w_public_biglake(self):
308
+ dataset_id = "bigquery-public-data.biglake-public-nyc-taxi-iceberg.public_data"
309
+
310
+ dataset = Config.CLIENT.get_dataset(dataset_id)
311
+ self.assertEqual(
312
+ dataset.dataset_id, "biglake-public-nyc-taxi-iceberg.public_data"
313
+ )
314
+ self.assertEqual(dataset.project, "bigquery-public-data")
315
+ self.assertGreater(
316
+ dataset.created, datetime.datetime(2025, 1, 1, tzinfo=datetime.timezone.utc)
317
+ )
318
+
307
319
  def test_create_dataset_with_default_rounding_mode(self):
308
320
  DATASET_ID = _make_dataset_id("create_dataset_rounding_mode")
309
321
  dataset = self.temp_dataset(DATASET_ID, default_rounding_mode="ROUND_HALF_EVEN")
@@ -693,6 +705,18 @@ class TestBigQuery(unittest.TestCase):
693
705
  with self.assertRaises(exceptions.BadRequest):
694
706
  Config.CLIENT.delete_dataset(dataset)
695
707
 
708
+ def test_get_table_w_public_biglake(self):
709
+ table_id = "bigquery-public-data.biglake-public-nyc-taxi-iceberg.public_data.nyc_taxicab"
710
+
711
+ table = Config.CLIENT.get_table(table_id)
712
+ self.assertEqual(table.table_id, "nyc_taxicab")
713
+ self.assertEqual(
714
+ table.dataset_id, "biglake-public-nyc-taxi-iceberg.public_data"
715
+ )
716
+ self.assertEqual(table.project, "bigquery-public-data")
717
+ schema_names = [field.name for field in table.schema]
718
+ self.assertGreater(len(schema_names), 0)
719
+
696
720
  def test_get_table_w_public_dataset(self):
697
721
  public = "bigquery-public-data"
698
722
  dataset_id = "samples"