google-cloud-bigquery 3.45.2__tar.gz → 3.46.1__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 (169) hide show
  1. {google_cloud_bigquery-3.45.2/google_cloud_bigquery.egg-info → google_cloud_bigquery-3.46.1}/PKG-INFO +3 -2
  2. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/schema.py +65 -17
  3. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/version.py +1 -1
  4. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1/google_cloud_bigquery.egg-info}/PKG-INFO +3 -2
  5. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/pyproject.toml +2 -1
  6. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_client.py +2 -2
  7. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_opentelemetry_tracing.py +1 -1
  8. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_schema.py +86 -4
  9. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/LICENSE +0 -0
  10. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/MANIFEST.in +0 -0
  11. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/README.rst +0 -0
  12. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/__init__.py +0 -0
  13. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/_helpers.py +0 -0
  14. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/_http.py +0 -0
  15. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/_job_helpers.py +0 -0
  16. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/_pandas_helpers.py +0 -0
  17. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/_pyarrow_helpers.py +0 -0
  18. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/_string_references.py +0 -0
  19. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/_tqdm_helpers.py +0 -0
  20. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/_versions_helpers.py +0 -0
  21. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/client.py +0 -0
  22. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/dataset.py +0 -0
  23. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/dbapi/__init__.py +0 -0
  24. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/dbapi/_helpers.py +0 -0
  25. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/dbapi/connection.py +0 -0
  26. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/dbapi/cursor.py +0 -0
  27. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/dbapi/exceptions.py +0 -0
  28. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/dbapi/types.py +0 -0
  29. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/encryption_configuration.py +0 -0
  30. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/enums.py +0 -0
  31. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/exceptions.py +0 -0
  32. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/external_config.py +0 -0
  33. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/format_options.py +0 -0
  34. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/iam.py +0 -0
  35. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/job/__init__.py +0 -0
  36. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/job/base.py +0 -0
  37. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/job/copy_.py +0 -0
  38. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/job/extract.py +0 -0
  39. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/job/load.py +0 -0
  40. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/job/query.py +0 -0
  41. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/magics/__init__.py +0 -0
  42. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/magics/line_arg_parser/__init__.py +0 -0
  43. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/magics/line_arg_parser/exceptions.py +0 -0
  44. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/magics/line_arg_parser/lexer.py +0 -0
  45. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/magics/line_arg_parser/parser.py +0 -0
  46. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/magics/line_arg_parser/visitors.py +0 -0
  47. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/magics/magics.py +0 -0
  48. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/model.py +0 -0
  49. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/opentelemetry_tracing.py +0 -0
  50. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/py.typed +0 -0
  51. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/query.py +0 -0
  52. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/retry.py +0 -0
  53. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/routine/__init__.py +0 -0
  54. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/routine/routine.py +0 -0
  55. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/standard_sql.py +0 -0
  56. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery/table.py +0 -0
  57. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery_v2/__init__.py +0 -0
  58. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery_v2/types/__init__.py +0 -0
  59. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery_v2/types/encryption_config.py +0 -0
  60. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery_v2/types/model.py +0 -0
  61. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery_v2/types/model_reference.py +0 -0
  62. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery_v2/types/standard_sql.py +0 -0
  63. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google/cloud/bigquery_v2/types/table_reference.py +0 -0
  64. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google_cloud_bigquery.egg-info/SOURCES.txt +0 -0
  65. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google_cloud_bigquery.egg-info/dependency_links.txt +0 -0
  66. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google_cloud_bigquery.egg-info/requires.txt +0 -0
  67. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/google_cloud_bigquery.egg-info/top_level.txt +0 -0
  68. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/setup.cfg +0 -0
  69. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/setup.py +0 -0
  70. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/__init__.py +0 -0
  71. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/data/characters.json +0 -0
  72. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/data/characters.jsonl +0 -0
  73. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/data/colors.avro +0 -0
  74. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/data/numeric_38_12.parquet +0 -0
  75. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/data/people.csv +0 -0
  76. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/data/pico.csv +0 -0
  77. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/data/pico_schema.json +0 -0
  78. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/data/scalars.csv +0 -0
  79. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/data/scalars.jsonl +0 -0
  80. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/data/scalars_extreme.jsonl +0 -0
  81. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/data/scalars_schema.json +0 -0
  82. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/data/scalars_schema_csv.json +0 -0
  83. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/data/schema.json +0 -0
  84. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/scrub_datasets.py +0 -0
  85. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/system/__init__.py +0 -0
  86. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/system/conftest.py +0 -0
  87. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/system/helpers.py +0 -0
  88. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/system/test_arrow.py +0 -0
  89. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/system/test_client.py +0 -0
  90. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/system/test_job_retry.py +0 -0
  91. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/system/test_list_rows.py +0 -0
  92. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/system/test_magics.py +0 -0
  93. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/system/test_pandas.py +0 -0
  94. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/system/test_query.py +0 -0
  95. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/system/test_ssl_retry.py +0 -0
  96. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/system/test_structs.py +0 -0
  97. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/__init__.py +0 -0
  98. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/_helpers/__init__.py +0 -0
  99. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/_helpers/test_cell_data_parser.py +0 -0
  100. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/_helpers/test_data_frame_cell_data_parser.py +0 -0
  101. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/_helpers/test_scalar_query_param_parser.py +0 -0
  102. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/conftest.py +0 -0
  103. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/helpers.py +0 -0
  104. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/job/__init__.py +0 -0
  105. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/job/helpers.py +0 -0
  106. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/job/test_async_job_retry.py +0 -0
  107. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/job/test_base.py +0 -0
  108. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/job/test_copy.py +0 -0
  109. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/job/test_extract.py +0 -0
  110. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/job/test_load.py +0 -0
  111. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/job/test_load_config.py +0 -0
  112. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/job/test_query.py +0 -0
  113. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/job/test_query_config.py +0 -0
  114. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/job/test_query_job_retry.py +0 -0
  115. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/job/test_query_pandas.py +0 -0
  116. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/job/test_query_stats.py +0 -0
  117. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/line_arg_parser/__init__.py +0 -0
  118. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/line_arg_parser/test_lexer.py +0 -0
  119. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/line_arg_parser/test_parser.py +0 -0
  120. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/line_arg_parser/test_visitors.py +0 -0
  121. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/model/__init__.py +0 -0
  122. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/model/test_model.py +0 -0
  123. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/model/test_model_reference.py +0 -0
  124. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/routine/__init__.py +0 -0
  125. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/routine/test_external_runtime_options.py +0 -0
  126. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/routine/test_remote_function_options.py +0 -0
  127. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/routine/test_routine.py +0 -0
  128. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/routine/test_routine_argument.py +0 -0
  129. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/routine/test_routine_reference.py +0 -0
  130. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test__helpers.py +0 -0
  131. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test__http.py +0 -0
  132. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test__job_helpers.py +0 -0
  133. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test__job_helpers_retry.py +0 -0
  134. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test__pandas_helpers.py +0 -0
  135. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test__pyarrow_helpers.py +0 -0
  136. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test__versions_helpers.py +0 -0
  137. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_client_bigframes.py +0 -0
  138. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_client_resumable_media_upload.py +0 -0
  139. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_client_retry.py +0 -0
  140. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_create_dataset.py +0 -0
  141. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_dataset.py +0 -0
  142. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_dbapi__helpers.py +0 -0
  143. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_dbapi_connection.py +0 -0
  144. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_dbapi_cursor.py +0 -0
  145. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_dbapi_types.py +0 -0
  146. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_delete_dataset.py +0 -0
  147. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_docs.py +0 -0
  148. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_encryption_configuration.py +0 -0
  149. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_external_config.py +0 -0
  150. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_format_options.py +0 -0
  151. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_job_retry.py +0 -0
  152. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_legacy_types.py +0 -0
  153. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_list_datasets.py +0 -0
  154. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_list_jobs.py +0 -0
  155. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_list_models.py +0 -0
  156. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_list_projects.py +0 -0
  157. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_list_routines.py +0 -0
  158. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_list_tables.py +0 -0
  159. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_magics.py +0 -0
  160. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_packaging.py +0 -0
  161. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_query.py +0 -0
  162. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_query_results_format_arrow.py +0 -0
  163. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_retry.py +0 -0
  164. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_signature_compatibility.py +0 -0
  165. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_standard_sql_types.py +0 -0
  166. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_string_references.py +0 -0
  167. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_table.py +0 -0
  168. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_table_arrow.py +0 -0
  169. {google_cloud_bigquery-3.45.2 → google_cloud_bigquery-3.46.1}/tests/unit/test_table_pandas.py +0 -0
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: google-cloud-bigquery
3
- Version: 3.45.2
3
+ Version: 3.46.1
4
4
  Summary: Google BigQuery API client library
5
5
  Author-email: Google LLC <googleapis-packages@google.com>
6
6
  License: Apache 2.0
7
- Project-URL: Repository, https://github.com/googleapis/python-bigquery
7
+ Project-URL: Repository, https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-bigquery
8
8
  Classifier: Development Status :: 5 - Production/Stable
9
9
  Classifier: Intended Audience :: Developers
10
10
  Classifier: Programming Language :: Python
@@ -14,6 +14,7 @@ Classifier: Programming Language :: Python :: 3.11
14
14
  Classifier: Programming Language :: Python :: 3.12
15
15
  Classifier: Programming Language :: Python :: 3.13
16
16
  Classifier: Programming Language :: Python :: 3.14
17
+ Classifier: Programming Language :: Python :: 3.15
17
18
  Classifier: Operating System :: OS Independent
18
19
  Classifier: Topic :: Internet
19
20
  Requires-Python: >=3.10
@@ -15,16 +15,14 @@
15
15
  """Schemas for BigQuery tables / queries."""
16
16
 
17
17
  from __future__ import annotations
18
+
18
19
  import enum
19
20
  import typing
20
- from typing import Any, cast, Dict, Iterable, Optional, Union, Sequence
21
+ from typing import Any, Dict, Iterable, Optional, Sequence, Union, cast
21
22
 
22
- from google.cloud.bigquery import _helpers
23
- from google.cloud.bigquery import standard_sql
24
- from google.cloud.bigquery import enums
23
+ from google.cloud.bigquery import _helpers, enums, standard_sql
25
24
  from google.cloud.bigquery.enums import StandardSqlTypeNames
26
25
 
27
-
28
26
  _STRUCT_TYPES = ("RECORD", "STRUCT")
29
27
 
30
28
  # SQL types reference:
@@ -109,6 +107,43 @@ class FieldElementType(object):
109
107
  """
110
108
  return self._properties
111
109
 
110
+ def _key(self):
111
+ """A tuple key that uniquely describes this FieldElementType.
112
+
113
+ Used to compute this instance's hashcode and evaluate equality.
114
+
115
+ Returns:
116
+ Tuple: The contents of this :class:`~google.cloud.bigquery.schema.FieldElementType`.
117
+ """
118
+ return (self.element_type,)
119
+
120
+ def __eq__(self, other):
121
+ if not isinstance(other, FieldElementType):
122
+ return NotImplemented
123
+ return self._key() == other._key()
124
+
125
+ def __ne__(self, other):
126
+ return not self == other
127
+
128
+ def __hash__(self):
129
+ return hash(self._key())
130
+
131
+ def __repr__(self):
132
+ return f"{self.__class__.__name__}(element_type={self.element_type!r})"
133
+
134
+
135
+ class _SchemaFieldKey(typing.NamedTuple):
136
+ name: str
137
+ field_type: str
138
+ mode: str
139
+ default_value_expression: Optional[str]
140
+ description: Optional[str]
141
+ fields: tuple
142
+ policy_tags: Optional[tuple[str, ...]]
143
+ timestamp_precision: Optional[int]
144
+ rounding_mode: Optional[str]
145
+ foreign_type_definition: Optional[str]
146
+
112
147
 
113
148
  class SchemaField(object):
114
149
  """Describe a single field within a table schema.
@@ -436,6 +471,9 @@ class SchemaField(object):
436
471
  field_type = f"{field_type}({self.precision}, {self.scale})"
437
472
  else:
438
473
  field_type = f"{field_type}({self.precision})"
474
+ elif field_type == "RANGE":
475
+ if self.range_element_type is not None:
476
+ field_type = f"{field_type}<{self.range_element_type.element_type}>"
439
477
 
440
478
  policy_tags = (
441
479
  None if self.policy_tags is None else tuple(sorted(self.policy_tags.names))
@@ -443,16 +481,24 @@ class SchemaField(object):
443
481
 
444
482
  timestamp_precision = self._properties.get("timestampPrecision")
445
483
 
446
- return (
447
- self.name,
448
- field_type,
484
+ rounding_mode = (
485
+ self.rounding_mode.value
486
+ if isinstance(self.rounding_mode, enums.RoundingMode)
487
+ else self.rounding_mode
488
+ )
489
+
490
+ return _SchemaFieldKey(
491
+ name=self.name,
492
+ field_type=field_type,
449
493
  # Mode is always str, if not given it defaults to a str value
450
- self.mode.upper(), # pytype: disable=attribute-error
451
- self.default_value_expression,
452
- self.description,
453
- self.fields,
454
- policy_tags,
455
- timestamp_precision,
494
+ mode=self.mode.upper(), # pytype: disable=attribute-error
495
+ default_value_expression=self.default_value_expression,
496
+ description=self.description,
497
+ fields=self.fields,
498
+ policy_tags=policy_tags,
499
+ timestamp_precision=timestamp_precision,
500
+ rounding_mode=rounding_mode,
501
+ foreign_type_definition=self.foreign_type_definition,
456
502
  )
457
503
 
458
504
  def to_standard_sql(self) -> standard_sql.StandardSqlField:
@@ -503,9 +549,11 @@ class SchemaField(object):
503
549
  return hash(self._key())
504
550
 
505
551
  def __repr__(self):
506
- *initial_tags, policy_tags, timestamp_precision_tag = self._key()
507
- policy_tags_inst = None if policy_tags is None else PolicyTagList(policy_tags)
508
- adjusted_key = (*initial_tags, policy_tags_inst, timestamp_precision_tag)
552
+ key = self._key()
553
+ policy_tags_inst = (
554
+ None if key.policy_tags is None else PolicyTagList(key.policy_tags)
555
+ )
556
+ adjusted_key = tuple(key._replace(policy_tags=policy_tags_inst))
509
557
  return f"{self.__class__.__name__}{adjusted_key}"
510
558
 
511
559
 
@@ -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.45.2"
15
+ __version__ = "3.46.1"
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: google-cloud-bigquery
3
- Version: 3.45.2
3
+ Version: 3.46.1
4
4
  Summary: Google BigQuery API client library
5
5
  Author-email: Google LLC <googleapis-packages@google.com>
6
6
  License: Apache 2.0
7
- Project-URL: Repository, https://github.com/googleapis/python-bigquery
7
+ Project-URL: Repository, https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-bigquery
8
8
  Classifier: Development Status :: 5 - Production/Stable
9
9
  Classifier: Intended Audience :: Developers
10
10
  Classifier: Programming Language :: Python
@@ -14,6 +14,7 @@ Classifier: Programming Language :: Python :: 3.11
14
14
  Classifier: Programming Language :: Python :: 3.12
15
15
  Classifier: Programming Language :: Python :: 3.13
16
16
  Classifier: Programming Language :: Python :: 3.14
17
+ Classifier: Programming Language :: Python :: 3.15
17
18
  Classifier: Operating System :: OS Independent
18
19
  Classifier: Topic :: Internet
19
20
  Requires-Python: >=3.10
@@ -37,6 +37,7 @@ classifiers = [
37
37
  "Programming Language :: Python :: 3.12",
38
38
  "Programming Language :: Python :: 3.13",
39
39
  "Programming Language :: Python :: 3.14",
40
+ "Programming Language :: Python :: 3.15",
40
41
  "Operating System :: OS Independent",
41
42
  "Topic :: Internet",
42
43
  ]
@@ -52,7 +53,7 @@ dependencies = [
52
53
  dynamic = ["version"]
53
54
 
54
55
  [project.urls]
55
- Repository = "https://github.com/googleapis/python-bigquery"
56
+ Repository = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-bigquery"
56
57
 
57
58
  [project.optional-dependencies]
58
59
  # bqstorage had a period where it was a required dependency, and has been
@@ -32,7 +32,7 @@ import pytest
32
32
  import requests
33
33
 
34
34
  try:
35
- import opentelemetry
35
+ import opentelemetry.sdk as opentelemetry
36
36
  except ImportError:
37
37
  opentelemetry = None
38
38
 
@@ -1101,7 +1101,7 @@ class TestClient(unittest.TestCase):
1101
1101
  )
1102
1102
 
1103
1103
  def test_span_status_is_set(self):
1104
- pytest.importorskip("opentelemetry")
1104
+ pytest.importorskip("opentelemetry.sdk")
1105
1105
  from google.cloud.bigquery.routine import Routine
1106
1106
 
1107
1107
  tracer_provider = TracerProvider()
@@ -18,7 +18,7 @@ import sys
18
18
  from unittest import mock
19
19
 
20
20
  try:
21
- import opentelemetry
21
+ import opentelemetry.sdk as opentelemetry
22
22
  except ImportError:
23
23
  opentelemetry = None
24
24
 
@@ -19,10 +19,9 @@ from unittest import mock
19
19
  import pytest
20
20
 
21
21
  from google.cloud import bigquery
22
- from google.cloud.bigquery import enums
23
- from google.cloud.bigquery.standard_sql import StandardSqlStructType
24
- from google.cloud.bigquery import schema
22
+ from google.cloud.bigquery import enums, schema
25
23
  from google.cloud.bigquery.schema import PolicyTagList
24
+ from google.cloud.bigquery.standard_sql import StandardSqlStructType
26
25
 
27
26
 
28
27
  class TestSchemaField(unittest.TestCase):
@@ -635,6 +634,44 @@ class TestSchemaField(unittest.TestCase):
635
634
  )
636
635
  self.assertEqual(field, other) # Policy tags order does not matter.
637
636
 
637
+ def test___eq___range_element_type_mismatch(self):
638
+ field = self._make_one("R", "RANGE", range_element_type="DATE")
639
+ other = self._make_one("R", "RANGE", range_element_type="DATETIME")
640
+ self.assertNotEqual(field, other)
641
+
642
+ def test___eq___range_element_type_hit(self):
643
+ field = self._make_one("R", "RANGE", range_element_type="DATE")
644
+ other = self._make_one(
645
+ "R", "RANGE", range_element_type=schema.FieldElementType("DATE")
646
+ )
647
+ self.assertEqual(field, other)
648
+
649
+ def test___eq___rounding_mode_mismatch(self):
650
+ field = self._make_one(
651
+ "num", "NUMERIC", rounding_mode="ROUND_HALF_AWAY_FROM_ZERO"
652
+ )
653
+ other = self._make_one("num", "NUMERIC", rounding_mode="ROUND_HALF_EVEN")
654
+ self.assertNotEqual(field, other)
655
+
656
+ def test___eq___rounding_mode_hit(self):
657
+ field = self._make_one(
658
+ "num", "NUMERIC", rounding_mode=enums.RoundingMode.ROUND_HALF_AWAY_FROM_ZERO
659
+ )
660
+ other = self._make_one(
661
+ "num", "NUMERIC", rounding_mode="ROUND_HALF_AWAY_FROM_ZERO"
662
+ )
663
+ self.assertEqual(field, other)
664
+
665
+ def test___eq___foreign_type_definition_mismatch(self):
666
+ field = self._make_one("f", "FOREIGN", foreign_type_definition="type1")
667
+ other = self._make_one("f", "FOREIGN", foreign_type_definition="type2")
668
+ self.assertNotEqual(field, other)
669
+
670
+ def test___eq___foreign_type_definition_hit(self):
671
+ field = self._make_one("f", "FOREIGN", foreign_type_definition="type1")
672
+ other = self._make_one("f", "FOREIGN", foreign_type_definition="type1")
673
+ self.assertEqual(field, other)
674
+
638
675
  def test___ne___wrong_type(self):
639
676
  field = self._make_one("toast", "INTEGER")
640
677
  other = object()
@@ -695,7 +732,8 @@ class TestSchemaField(unittest.TestCase):
695
732
  def test___repr__(self):
696
733
  field1 = self._make_one("field1", "STRING")
697
734
  expected = (
698
- "SchemaField('field1', 'STRING', 'NULLABLE', None, None, (), None, None)"
735
+ "SchemaField('field1', 'STRING', 'NULLABLE', None, None, (), "
736
+ "None, None, None, None)"
699
737
  )
700
738
  self.assertEqual(repr(field1), expected)
701
739
 
@@ -758,6 +796,35 @@ class TestFieldElementType(unittest.TestCase):
758
796
  def test_from_api_repr_none(self):
759
797
  self.assertEqual(None, self._get_target_class().from_api_repr(None))
760
798
 
799
+ def test___eq___wrong_type(self):
800
+ element_type = self._make_one("DATE")
801
+ self.assertNotEqual(element_type, "DATE")
802
+ self.assertNotEqual(element_type, object())
803
+
804
+ def test___eq___hit(self):
805
+ element_type1 = self._make_one("DATE")
806
+ element_type2 = self._make_one("DATE")
807
+ self.assertEqual(element_type1, element_type2)
808
+
809
+ def test___eq___case_insensitive(self):
810
+ element_type1 = self._make_one("date")
811
+ element_type2 = self._make_one("DATE")
812
+ self.assertEqual(element_type1, element_type2)
813
+
814
+ def test___eq___mismatch(self):
815
+ element_type1 = self._make_one("DATE")
816
+ element_type2 = self._make_one("DATETIME")
817
+ self.assertNotEqual(element_type1, element_type2)
818
+
819
+ def test___hash__(self):
820
+ element_type1 = self._make_one("DATE")
821
+ element_type2 = self._make_one("DATE")
822
+ self.assertEqual(hash(element_type1), hash(element_type2))
823
+
824
+ def test___repr__(self):
825
+ element_type = self._make_one("DATE")
826
+ self.assertEqual(repr(element_type), "FieldElementType(element_type='DATE')")
827
+
761
828
 
762
829
  # TODO: dedup with the same class in test_table.py.
763
830
  class _SchemaBase(object):
@@ -1188,6 +1255,21 @@ class TestPolicyTags(unittest.TestCase):
1188
1255
  ("n", "BYTES", None, None, 9),
1189
1256
  ("n", "BYTES(9)"),
1190
1257
  ),
1258
+ (
1259
+ dict(name="n", type="RANGE", rangeElementType=dict(type="DATE")),
1260
+ ("n", "RANGE", None, None, None),
1261
+ ("n", "RANGE<DATE>"),
1262
+ ),
1263
+ (
1264
+ dict(name="n", type="RANGE", rangeElementType=dict(type="DATETIME")),
1265
+ ("n", "RANGE", None, None, None),
1266
+ ("n", "RANGE<DATETIME>"),
1267
+ ),
1268
+ (
1269
+ dict(name="n", type="RANGE", rangeElementType=dict(type="TIMESTAMP")),
1270
+ ("n", "RANGE", None, None, None),
1271
+ ("n", "RANGE<TIMESTAMP>"),
1272
+ ),
1191
1273
  ],
1192
1274
  )
1193
1275
  def test_from_api_repr_parameterized(api, expect, key2):