snowflake-connector-python 5.0.0rc4__tar.gz → 5.1.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 (548) hide show
  1. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/Cargo.lock +7 -16
  2. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/Cargo.toml +5 -0
  3. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/PKG-INFO +5 -6
  4. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/README.md +1 -4
  5. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/hatch_build.py +56 -20
  6. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/protobuf/database_driver_v1.proto +29 -0
  7. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/pyproject.toml +29 -27
  8. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/Cargo.toml +3 -8
  9. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/build.rs +3 -0
  10. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/context.rs +2 -0
  11. snowflake_connector_python-5.1.0/python_bridge/src/arrow/converters/map.rs +187 -0
  12. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/mod.rs +10 -1
  13. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/number.rs +37 -1
  14. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/timezone.rs +7 -3
  15. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/util.rs +61 -4
  16. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/error.rs +67 -0
  17. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/iterator.rs +58 -2
  18. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/mod.rs +3 -0
  19. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/plan.rs +113 -17
  20. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/scaled_f64.rs +1 -1
  21. snowflake_connector_python-5.1.0/python_bridge/src/arrow/table/fixed.rs +49 -0
  22. snowflake_connector_python-5.1.0/python_bridge/src/arrow/table/int_values.rs +99 -0
  23. snowflake_connector_python-5.1.0/python_bridge/src/arrow/table/interval.rs +19 -0
  24. snowflake_connector_python-5.1.0/python_bridge/src/arrow/table/mod.rs +222 -0
  25. snowflake_connector_python-5.1.0/python_bridge/src/arrow/table/tests.rs +1178 -0
  26. snowflake_connector_python-5.1.0/python_bridge/src/arrow/table/time.rs +54 -0
  27. snowflake_connector_python-5.1.0/python_bridge/src/arrow/table/timestamp/mod.rs +72 -0
  28. snowflake_connector_python-5.1.0/python_bridge/src/arrow/table/timestamp/scale.rs +244 -0
  29. snowflake_connector_python-5.1.0/python_bridge/src/arrow/table/timestamp/tz.rs +36 -0
  30. snowflake_connector_python-5.1.0/python_bridge/src/arrow/table/utils.rs +43 -0
  31. snowflake_connector_python-5.1.0/python_bridge/src/arrow/table_iterator.rs +361 -0
  32. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/lib.rs +4 -2
  33. snowflake_connector_python-5.1.0/rust-toolchain.toml +4 -0
  34. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/CHANGELOG.md +48 -2
  35. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/Cargo.toml +39 -46
  36. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/README.md +27 -0
  37. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/connection.rs +383 -142
  38. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/database.rs +4 -2
  39. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/error_kind.rs +38 -1
  40. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/global_state.rs +170 -86
  41. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/logout.rs +5 -0
  42. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/query.rs +10 -7
  43. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/result_set.rs +112 -11
  44. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/statement.rs +84 -63
  45. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/stream_transfer.rs +32 -10
  46. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/validation.rs +218 -20
  47. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/auth.rs +96 -23
  48. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/bin/collect_chunk_data.rs +21 -9
  49. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/bin/tls_client.rs +8 -4
  50. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/connection_config.rs +403 -45
  51. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/ini_loader.rs +58 -18
  52. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/mod.rs +2 -2
  53. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/private_key.rs +1 -1
  54. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/resolver.rs +31 -0
  55. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/rest_parameters.rs +255 -18
  56. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/token.rs +30 -0
  57. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/crl/cache.rs +144 -150
  58. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/crl/disk_tests.rs +8 -1
  59. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/crl/error.rs +7 -0
  60. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/crl/integration_test.rs +7 -4
  61. snowflake_connector_python-5.1.0/sf_core/src/crl/manager.rs +161 -0
  62. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/crl/mod.rs +2 -0
  63. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/crl/validator.rs +7 -8
  64. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/crl/worker.rs +1 -10
  65. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/crypto/private_key.rs +77 -90
  66. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/diagnostic/mod.rs +9 -10
  67. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/env_vars.rs +4 -5
  68. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/file_manager/azure_transfer.rs +19 -13
  69. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/file_manager/cloud_http.rs +22 -24
  70. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/file_manager/gcs_transfer.rs +82 -16
  71. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/file_manager/mod.rs +14 -8
  72. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/file_manager/s3_transfer.rs +157 -65
  73. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/file_manager/types.rs +19 -20
  74. snowflake_connector_python-5.1.0/sf_core/src/handle_manager.rs +335 -0
  75. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/logging/error.rs +8 -1
  76. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/logging/log_manager.rs +312 -84
  77. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/logging/mod.rs +299 -1
  78. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/protobuf/apis/database_driver_v1/converter.rs +98 -9
  79. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/protobuf/apis/database_driver_v1/mod.rs +56 -46
  80. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/query_types/statement_type.rs +24 -3
  81. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/async_exec.rs +65 -51
  82. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/auth.rs +37 -8
  83. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/error_context.rs +2 -0
  84. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/heartbeat.rs +17 -10
  85. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/mod.rs +436 -66
  86. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/oauth/dpop.rs +1 -1
  87. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/oauth/error.rs +1 -1
  88. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/oauth/random.rs +1 -1
  89. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/query_response.rs +130 -90
  90. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/telemetry.rs +5 -4
  91. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/workload_identity/aws.rs +573 -110
  92. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/workload_identity/azure.rs +67 -1
  93. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/workload_identity/gcp.rs +4 -0
  94. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/workload_identity/mod.rs +12 -20
  95. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/workload_identity/oidc.rs +2 -0
  96. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/stage_binding.rs +10 -5
  97. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/telemetry/environment.rs +67 -0
  98. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/telemetry/mod.rs +21 -15
  99. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/telemetry/platform_detection/aws.rs +9 -3
  100. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/telemetry/platform_detection/mod.rs +112 -62
  101. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/telemetry/platform_detection/tests.rs +34 -28
  102. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/telemetry/serialization.rs +65 -3
  103. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/telemetry/session_batch.rs +13 -13
  104. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/telemetry/session_telemetry.rs +70 -62
  105. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/telemetry/snowflake_exporter.rs +33 -19
  106. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/telemetry/snowflake_processor.rs +38 -11
  107. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/tls/aws_http_client.rs +211 -55
  108. snowflake_connector_python-5.1.0/sf_core/src/tls/client.rs +1953 -0
  109. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/tls/config.rs +80 -4
  110. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/tls/crl_verifier.rs +111 -59
  111. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/tls/crypto_module.rs +25 -14
  112. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/tls/error.rs +18 -2
  113. snowflake_connector_python-5.1.0/sf_core/src/tls/mod.rs +220 -0
  114. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/tls/test_helpers.rs +19 -23
  115. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/tls/x509_utils.rs +8 -29
  116. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/token_cache/mod.rs +2 -2
  117. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/config.rs +2 -0
  118. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/mocks/oauth.rs +17 -0
  119. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/mocks/password.rs +2 -1
  120. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/snowflake_test_client.rs +11 -0
  121. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/tls_proxy.rs +4 -0
  122. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/xp_backend/fixtures.rs +1 -0
  123. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/Cargo.lock +843 -0
  124. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/Cargo.toml +172 -0
  125. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/LICENSE +19 -0
  126. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/README.md +79 -0
  127. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/alg_tests.rs +648 -0
  128. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/aws_lc_rs_algs.rs +381 -0
  129. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/cert.rs +749 -0
  130. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/crl/mod.rs +374 -0
  131. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/crl/types.rs +1291 -0
  132. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/data/alg-rsa-pkcs1-sha256-absent-params.der +1 -0
  133. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/data/alg-rsa-pkcs1-sha384-absent-params.der +1 -0
  134. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/data/alg-rsa-pkcs1-sha512-absent-params.der +1 -0
  135. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/data/distrusted/EMDVTLSCAG3B.spki.der +0 -0
  136. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/data/distrusted/EMDVTLSCAG3C.spki.der +0 -0
  137. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/data/distrusted/EMEVTLSCAG3B.spki.der +0 -0
  138. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/data/distrusted/EMEVTLSCAG3C.spki.der +0 -0
  139. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/data/distrusted/EMOVCSCAG3B.spki.der +0 -0
  140. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/data/distrusted/EMOVCSCAG3C.spki.der +0 -0
  141. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/data/distrusted/EMOVTLSCAG3B.spki.der +0 -0
  142. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/data/distrusted/EMOVTLSCAG3C.spki.der +0 -0
  143. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/der.rs +908 -0
  144. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/end_entity.rs +241 -0
  145. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/error.rs +466 -0
  146. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/lib.rs +221 -0
  147. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/ring_algs.rs +303 -0
  148. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/rpk_entity.rs +84 -0
  149. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/signed_data.rs +269 -0
  150. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/subject_name/dns_name.rs +1059 -0
  151. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/subject_name/ip_address.rs +706 -0
  152. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/subject_name/mod.rs +472 -0
  153. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/test_utils.rs +47 -0
  154. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/time.rs +283 -0
  155. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/trust_anchor.rs +141 -0
  156. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/verify_cert.rs +1523 -0
  157. snowflake_connector_python-5.1.0/sf_core/third_party/rustls-webpki/src/x509.rs +119 -0
  158. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_params_spec/src/lib.rs +557 -223
  159. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_params_spec/tests/odbc_legacy_compatibility.rs +26 -23
  160. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/text.rs +2 -2
  161. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/__init__.py +5 -1
  162. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_common/wif_util.py +5 -0
  163. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/api_client/client_api.py +11 -0
  164. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/arrow.py +14 -1
  165. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/arrow_stream_async.py +8 -7
  166. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/arrow_stream_utils.py +34 -11
  167. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/authenticator_type.py +1 -0
  168. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/connection/connection.py +1 -1
  169. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/connection_config_mixin.py +7 -1
  170. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/cursor/base.py +8 -5
  171. snowflake_connector_python-5.1.0/src/snowflake/connector/_internal/fips.py +28 -0
  172. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/DateConverter.cpp +5 -2
  173. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/DecimalConverter.cpp +5 -2
  174. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/TimeConverter.cpp +6 -2
  175. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/arrow_stream_iterator.cpp +220 -220
  176. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/arrow_stream_iterator.pyx +1 -0
  177. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/Logging/logging.cpp +1 -3
  178. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/Logging/logging.hpp +3 -0
  179. snowflake_connector_python-5.1.0/src/snowflake/connector/_internal/protobuf_gen/database_driver_v1_pb2.py +408 -0
  180. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/protobuf_gen/database_driver_v1_pb2.pyi +95 -6
  181. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/protobuf_gen/database_driver_v1_services.py +33 -0
  182. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/result_batch.py +4 -0
  183. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/utils.py +11 -0
  184. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/aio/connection/_connection.py +2 -0
  185. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/aio/cursor/_base.py +51 -10
  186. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/aio/result_batch.py +2 -0
  187. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/connection/_connection.py +2 -0
  188. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/connection_config.py +44 -13
  189. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/cursor/_base.py +47 -5
  190. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/network.py +2 -0
  191. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/result_batch.py +2 -0
  192. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/version.py +1 -1
  193. snowflake_connector_python-5.0.0rc4/sf_core/src/handle_manager.rs +0 -136
  194. snowflake_connector_python-5.0.0rc4/sf_core/src/tls/client.rs +0 -940
  195. snowflake_connector_python-5.0.0rc4/sf_core/src/tls/mod.rs +0 -230
  196. snowflake_connector_python-5.0.0rc4/src/snowflake/connector/_internal/protobuf_gen/database_driver_v1_pb2.py +0 -402
  197. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/.gitignore +0 -0
  198. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/build_common.rs +0 -0
  199. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/ci/anaconda/recipe/README.md +0 -0
  200. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/error_trace/Cargo.toml +0 -0
  201. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/error_trace/src/lib.rs +0 -0
  202. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/error_trace_derive/Cargo.toml +0 -0
  203. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/error_trace_derive/src/lib.rs +0 -0
  204. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_generator/Cargo.lock +0 -0
  205. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_generator/Cargo.toml +0 -0
  206. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_generator/README.md +0 -0
  207. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_generator/src/generator.rs +0 -0
  208. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_generator/src/generators/csharp_generator.rs +0 -0
  209. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_generator/src/generators/helpers.rs +0 -0
  210. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_generator/src/generators/java_generator.rs +0 -0
  211. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_generator/src/generators/json_generator.rs +0 -0
  212. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_generator/src/generators/mod.rs +0 -0
  213. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_generator/src/generators/python_generator.rs +0 -0
  214. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_generator/src/generators/rust_generator.rs +0 -0
  215. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_generator/src/lib.rs +0 -0
  216. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_generator/src/main.rs +0 -0
  217. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_generator/src/protobuf.rs +0 -0
  218. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_generator/src/protoc_installer.rs +0 -0
  219. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_utils/Cargo.toml +0 -0
  220. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/proto_utils/src/lib.rs +0 -0
  221. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/async_iterator.rs +0 -0
  222. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/batch_converter.rs +0 -0
  223. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/binary.rs +0 -0
  224. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/boolean.rs +0 -0
  225. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/date.rs +0 -0
  226. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/decfloat.rs +0 -0
  227. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/decode.rs +0 -0
  228. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/interval.rs +0 -0
  229. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/numpy.rs +0 -0
  230. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/real.rs +0 -0
  231. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/test_util.rs +0 -0
  232. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/text.rs +0 -0
  233. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/time.rs +0 -0
  234. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/timestamp_ltz.rs +0 -0
  235. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/timestamp_ntz.rs +0 -0
  236. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/timestamp_tz.rs +0 -0
  237. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/converters/vector.rs +0 -0
  238. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/stream.rs +0 -0
  239. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/src/arrow/test_support.rs +0 -0
  240. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/stub_gen/Cargo.toml +0 -0
  241. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/python_bridge/stub_gen/src/main.rs +0 -0
  242. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/benches/prefetch_bench.rs +0 -0
  243. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/build.rs +0 -0
  244. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/cbindgen-xp-providers.toml +0 -0
  245. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/exports.def +0 -0
  246. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/include/sf_core_providers.h +0 -0
  247. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/alter_session_parser.rs +0 -0
  248. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/async_query_registry.rs +0 -0
  249. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/error.rs +0 -0
  250. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/final_session_names.rs +0 -0
  251. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/get_objects.rs +0 -0
  252. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/heartbeat.rs +0 -0
  253. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/like_pattern.rs +0 -0
  254. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/mod.rs +0 -0
  255. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/multistatement.rs +0 -0
  256. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/query_submit.rs +0 -0
  257. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/database_driver_v1/spcs_token.rs +0 -0
  258. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/mod.rs +0 -0
  259. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/apis/operation_ctx.rs +0 -0
  260. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/arrow_utils.rs +0 -0
  261. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/bin/README.md +0 -0
  262. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/bin/spcs_probe.rs +0 -0
  263. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/c_api.rs +0 -0
  264. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/chunks/arrow_parser.rs +0 -0
  265. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/chunks/async_arrow_batch_fetcher.rs +0 -0
  266. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/chunks/error.rs +0 -0
  267. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/chunks/http_downloader.rs +0 -0
  268. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/chunks/json_parser.rs +0 -0
  269. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/chunks/memory_budget.rs +0 -0
  270. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/chunks/mock.rs +0 -0
  271. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/chunks/mod.rs +0 -0
  272. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/chunks/prefetch.rs +0 -0
  273. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/compression.rs +0 -0
  274. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/compression_types.rs +0 -0
  275. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/config_manager.rs +0 -0
  276. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/configured_redirect_uri.rs +0 -0
  277. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/error_context.rs +0 -0
  278. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/logging_config_loader.rs +0 -0
  279. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/logout.rs +0 -0
  280. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/param_registry.rs +0 -0
  281. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/param_store.rs +0 -0
  282. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/path_resolver.rs +0 -0
  283. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/retry.rs +0 -0
  284. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/settings.rs +0 -0
  285. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/config/toml_loader.rs +0 -0
  286. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/crl/certificate_parser.rs +0 -0
  287. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/crl/config.rs +0 -0
  288. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/crypto/mod.rs +0 -0
  289. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/file_manager/encryption.rs +0 -0
  290. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/file_manager/multipart.rs +0 -0
  291. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/file_manager/path_expansion.rs +0 -0
  292. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/file_manager/scheduler.rs +0 -0
  293. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/file_manager/spool.rs +0 -0
  294. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/fs_adapter.rs +0 -0
  295. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/fs_lock.rs +0 -0
  296. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/http/mod.rs +0 -0
  297. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/http/retry.rs +0 -0
  298. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/lib.rs +0 -0
  299. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/logging/c_api.rs +0 -0
  300. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/logging/callback_layer.rs +0 -0
  301. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/logging/opentelemetry.rs +0 -0
  302. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/perf_timing/c_api.rs +0 -0
  303. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/perf_timing/mod.rs +0 -0
  304. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/protobuf/apis/mod.rs +0 -0
  305. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/protobuf/c_api.rs +0 -0
  306. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/protobuf/config_setting_ext.rs +0 -0
  307. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/protobuf/generated.rs +0 -0
  308. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/protobuf/mod.rs +0 -0
  309. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/query_types/mod.rs +0 -0
  310. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/query_types/row_type.rs +0 -0
  311. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/refresh.rs +0 -0
  312. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/mod.rs +0 -0
  313. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/browser.rs +0 -0
  314. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/external_browser.rs +0 -0
  315. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/logout.rs +0 -0
  316. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/native_okta.rs +0 -0
  317. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/oauth/authorization_code.rs +0 -0
  318. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/oauth/client_credentials.rs +0 -0
  319. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/oauth/http_client.rs +0 -0
  320. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/oauth/loopback_server.rs +0 -0
  321. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/oauth/mod.rs +0 -0
  322. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/oauth/pkce.rs +0 -0
  323. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/oauth/token.rs +0 -0
  324. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/prompt_lock.rs +0 -0
  325. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/query_context_cache.rs +0 -0
  326. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/query_request.rs +0 -0
  327. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/sql_state.rs +0 -0
  328. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/rest/snowflake/workload_identity/host_allowlist.rs +0 -0
  329. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/sensitive.rs +0 -0
  330. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/telemetry/os_details.rs +0 -0
  331. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/telemetry/platform_detection/azure.rs +0 -0
  332. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/telemetry/platform_detection/gcp.rs +0 -0
  333. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/telemetry/types.rs +0 -0
  334. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/tls/revocation.rs +0 -0
  335. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/token_cache/file_cache.rs +0 -0
  336. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/token_cache/keyring_cache.rs +0 -0
  337. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/utils/mod.rs +0 -0
  338. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/utils/sync.rs +0 -0
  339. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/xp_backend/connection_settings.rs +0 -0
  340. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/xp_backend/ffi.rs +0 -0
  341. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/xp_backend/mod.rs +0 -0
  342. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/xp_backend/registry.rs +0 -0
  343. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/src/xp_backend/response_compat.rs +0 -0
  344. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/arrow_deserialize.rs +0 -0
  345. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/arrow_deserialize_macro/Cargo.toml +0 -0
  346. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/arrow_deserialize_macro/src/lib.rs +0 -0
  347. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/arrow_extract_value.rs +0 -0
  348. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/arrow_result_helper.rs +0 -0
  349. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/browser_opener.rs +0 -0
  350. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/cloud_gating.rs +0 -0
  351. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/connect_proxy.rs +0 -0
  352. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/counting_proxy.rs +0 -0
  353. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/crypto_provider.rs +0 -0
  354. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/dead_proxy.rs +0 -0
  355. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/file_utils.rs +0 -0
  356. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/mitm_port_detector.py +0 -0
  357. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/mitm_proxy.rs +0 -0
  358. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/mocks/auth.rs +0 -0
  359. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/mocks/external_browser.rs +0 -0
  360. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/mocks/mfa.rs +0 -0
  361. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/mocks/mod.rs +0 -0
  362. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/mocks/okta.rs +0 -0
  363. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/mocks/put_get.rs +0 -0
  364. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/mocks/query.rs +0 -0
  365. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/mocks/session.rs +0 -0
  366. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/mod.rs +0 -0
  367. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/private_key_helper.rs +0 -0
  368. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/put_get_common.rs +0 -0
  369. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/test_server.rs +0 -0
  370. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/common/test_utils.rs +0 -0
  371. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/xp_backend/fake_host.rs +0 -0
  372. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_core/tests/xp_backend/link_sf_core.rs +0 -0
  373. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_params_spec/Cargo.toml +0 -0
  374. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/Cargo.toml +0 -0
  375. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/binary.rs +0 -0
  376. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/boolean.rs +0 -0
  377. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/civil.rs +0 -0
  378. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/clock.rs +0 -0
  379. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/date.rs +0 -0
  380. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/decfloat.rs +0 -0
  381. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/error.rs +0 -0
  382. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/fixed.rs +0 -0
  383. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/interval.rs +0 -0
  384. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/lib.rs +0 -0
  385. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/nullable.rs +0 -0
  386. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/real.rs +0 -0
  387. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/time.rs +0 -0
  388. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/timestamp.rs +0 -0
  389. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/traits.rs +0 -0
  390. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/sf_types/src/vector.rs +0 -0
  391. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_common/__init__.py +0 -0
  392. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_common/extras.py +0 -0
  393. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_common/telemetry.py +0 -0
  394. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/__init__.py +0 -0
  395. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/_private_key_helper.py +0 -0
  396. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/api_client/__init__.py +0 -0
  397. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/api_client/bridge.py +0 -0
  398. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/arrow_context.py +0 -0
  399. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/arrow_stream_iterator.pyi +0 -0
  400. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/backward_compatibility.py +0 -0
  401. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/binding_converters.py +0 -0
  402. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/config_utils.py +0 -0
  403. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/connection/__init__.py +0 -0
  404. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/connection/connection_types.py +0 -0
  405. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/connection/constants.py +0 -0
  406. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/connection/decorators.py +0 -0
  407. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/connection/freezable_proxy.py +0 -0
  408. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/connection/queries.py +0 -0
  409. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/cursor/__init__.py +0 -0
  410. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/cursor/cursor_types.py +0 -0
  411. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/cursor/decorators.py +0 -0
  412. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/cursor/query_result.py +0 -0
  413. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/cursor/query_result_waiter.py +0 -0
  414. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/cursor/result_metadata.py +0 -0
  415. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/cursor/result_set_wrapper.py +0 -0
  416. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/decorators.py +0 -0
  417. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/error_kinds.py +0 -0
  418. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/errorcode.py +0 -0
  419. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/errorhandler.py +0 -0
  420. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/logging/__init__.py +0 -0
  421. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/logging/config.py +0 -0
  422. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/logging/core_logger.py +0 -0
  423. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/logging/native_extension_logger.py +0 -0
  424. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/logout_config_mapping.py +0 -0
  425. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/ArrayConverter.cpp +0 -0
  426. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/ArrayConverter.hpp +0 -0
  427. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/ArrowTableConverter.cpp +0 -0
  428. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/ArrowTableConverter.hpp +0 -0
  429. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/BinaryConverter.cpp +0 -0
  430. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/BinaryConverter.hpp +0 -0
  431. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/BooleanConverter.cpp +0 -0
  432. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/BooleanConverter.hpp +0 -0
  433. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/CArrowIterator.cpp +0 -0
  434. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/CArrowIterator.hpp +0 -0
  435. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/CArrowStreamIterator.cpp +0 -0
  436. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/CArrowStreamIterator.hpp +0 -0
  437. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/CArrowStreamTableIterator.cpp +0 -0
  438. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/CArrowStreamTableIterator.hpp +0 -0
  439. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/ConverterUtil.cpp +0 -0
  440. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/ConverterUtil.hpp +0 -0
  441. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/DateConverter.hpp +0 -0
  442. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/DecFloatConverter.cpp +0 -0
  443. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/DecFloatConverter.hpp +0 -0
  444. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/DecimalConverter.hpp +0 -0
  445. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/FixedSizeListConverter.cpp +0 -0
  446. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/FixedSizeListConverter.hpp +0 -0
  447. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/FloatConverter.cpp +0 -0
  448. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/FloatConverter.hpp +0 -0
  449. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/IColumnConverter.hpp +0 -0
  450. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/IntConverter.cpp +0 -0
  451. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/IntConverter.hpp +0 -0
  452. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/IntervalConverter.cpp +0 -0
  453. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/IntervalConverter.hpp +0 -0
  454. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/LICENSE.txt +0 -0
  455. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/MapConverter.cpp +0 -0
  456. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/MapConverter.hpp +0 -0
  457. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/ObjectConverter.cpp +0 -0
  458. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/ObjectConverter.hpp +0 -0
  459. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/Python/Common.cpp +0 -0
  460. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/Python/Common.hpp +0 -0
  461. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/Python/Helpers.cpp +0 -0
  462. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/Python/Helpers.hpp +0 -0
  463. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/SnowflakeType.cpp +0 -0
  464. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/SnowflakeType.hpp +0 -0
  465. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/StringConverter.cpp +0 -0
  466. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/StringConverter.hpp +0 -0
  467. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/TimeConverter.hpp +0 -0
  468. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/TimeStampConverter.cpp +0 -0
  469. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/TimeStampConverter.hpp +0 -0
  470. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/Util/macros.hpp +0 -0
  471. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/Util/time.cpp +0 -0
  472. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/Util/time.hpp +0 -0
  473. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_accessors.h +0 -0
  474. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_alloc.h +0 -0
  475. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_assert.h +0 -0
  476. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_builder.h +0 -0
  477. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_emitter.h +0 -0
  478. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_endian.h +0 -0
  479. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_epilogue.h +0 -0
  480. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_flatbuffers.h +0 -0
  481. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_identifier.h +0 -0
  482. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_iov.h +0 -0
  483. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_prologue.h +0 -0
  484. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_refmap.h +0 -0
  485. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_rtconfig.h +0 -0
  486. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_types.h +0 -0
  487. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_verifier.h +0 -0
  488. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/flatcc_portable.h +0 -0
  489. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/paligned_alloc.h +0 -0
  490. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/pattributes.h +0 -0
  491. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/pdiagnostic.h +0 -0
  492. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/pdiagnostic_pop.h +0 -0
  493. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/pdiagnostic_push.h +0 -0
  494. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/pendian.h +0 -0
  495. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/pendian_detect.h +0 -0
  496. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/pinline.h +0 -0
  497. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/pinttypes.h +0 -0
  498. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/portable.h +0 -0
  499. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/portable_basic.h +0 -0
  500. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstatic_assert.h +0 -0
  501. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstdalign.h +0 -0
  502. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstdint.h +0 -0
  503. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/punaligned.h +0 -0
  504. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/pversion.h +0 -0
  505. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc/portable/pwarnings.h +0 -0
  506. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/flatcc.c +0 -0
  507. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/nanoarrow.c +0 -0
  508. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/nanoarrow.h +0 -0
  509. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/nanoarrow.hpp +0 -0
  510. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.c +0 -0
  511. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.h +0 -0
  512. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/protobuf_gen/__init__.py +0 -0
  513. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/protobuf_gen/proto_exception.py +0 -0
  514. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/snowflake_restful.py +0 -0
  515. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/snowpark_backcompat_helpers.py +0 -0
  516. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/sqlstate.py +0 -0
  517. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/statement_utils.py +0 -0
  518. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/text_utils.py +0 -0
  519. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/type_codes.py +0 -0
  520. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/_internal/write_pandas_operation.py +0 -0
  521. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/aio/README.md +0 -0
  522. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/aio/__init__.py +0 -0
  523. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/aio/connection/__init__.py +0 -0
  524. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/aio/cursor/__init__.py +0 -0
  525. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/aio/cursor/_dict_cursor.py +0 -0
  526. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/aio/cursor/_result_set_wrapper.py +0 -0
  527. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/aio/cursor/_snowflake_cursor.py +0 -0
  528. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/aio/pandas_tools.py +0 -0
  529. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/auth/__init__.py +0 -0
  530. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/auth/workload_identity.py +0 -0
  531. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/compat.py +0 -0
  532. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/config_manager.py +0 -0
  533. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/connection/__init__.py +0 -0
  534. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/constants.py +0 -0
  535. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/cursor/__init__.py +0 -0
  536. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/cursor/_chunked_download_reader.py +0 -0
  537. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/cursor/_dict_cursor.py +0 -0
  538. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/cursor/_result_set_wrapper.py +0 -0
  539. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/cursor/_snowflake_cursor.py +0 -0
  540. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/description.py +0 -0
  541. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/errors.py +0 -0
  542. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/pandas_tools.py +0 -0
  543. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/py.typed +0 -0
  544. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/telemetry.py +0 -0
  545. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/time_util.py +0 -0
  546. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/types.py +0 -0
  547. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/src/snowflake/connector/util_text.py +0 -0
  548. {snowflake_connector_python-5.0.0rc4 → snowflake_connector_python-5.1.0}/tests/README.md +0 -0
@@ -2434,15 +2434,6 @@ dependencies = [
2434
2434
  "either",
2435
2435
  ]
2436
2436
 
2437
- [[package]]
2438
- name = "itertools"
2439
- version = "0.11.0"
2440
- source = "registry+https://github.com/rust-lang/crates.io-index"
2441
- checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
2442
- dependencies = [
2443
- "either",
2444
- ]
2445
-
2446
2437
  [[package]]
2447
2438
  name = "itertools"
2448
2439
  version = "0.14.0"
@@ -3646,7 +3637,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
3646
3637
  checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1"
3647
3638
  dependencies = [
3648
3639
  "anyhow",
3649
- "itertools 0.11.0",
3640
+ "itertools 0.10.5",
3650
3641
  "proc-macro2",
3651
3642
  "quote",
3652
3643
  "syn 2.0.117",
@@ -4230,9 +4221,7 @@ dependencies = [
4230
4221
 
4231
4222
  [[package]]
4232
4223
  name = "rustls-webpki"
4233
- version = "0.103.6"
4234
- source = "registry+https://github.com/rust-lang/crates.io-index"
4235
- checksum = "8572f3c2cb9934231157b45499fc41e1f58c589fdfb81a844ba873265e80f8eb"
4224
+ version = "0.103.16"
4236
4225
  dependencies = [
4237
4226
  "aws-lc-rs",
4238
4227
  "ring",
@@ -4423,6 +4412,7 @@ dependencies = [
4423
4412
  "async-trait",
4424
4413
  "aws-config",
4425
4414
  "aws-credential-types",
4415
+ "aws-lc-fips-sys",
4426
4416
  "aws-lc-rs",
4427
4417
  "aws-runtime",
4428
4418
  "aws-sdk-s3",
@@ -4452,7 +4442,6 @@ dependencies = [
4452
4442
  "futures",
4453
4443
  "glob",
4454
4444
  "hex",
4455
- "hmac",
4456
4445
  "html-escape",
4457
4446
  "http 1.3.1",
4458
4447
  "http-body 1.0.1",
@@ -4485,6 +4474,7 @@ dependencies = [
4485
4474
  "rustls",
4486
4475
  "rustls-native-certs",
4487
4476
  "rustls-pemfile",
4477
+ "rustls-webpki",
4488
4478
  "scopeguard",
4489
4479
  "serde",
4490
4480
  "serde_json",
@@ -4515,6 +4505,7 @@ dependencies = [
4515
4505
  "urlencoding",
4516
4506
  "uuid",
4517
4507
  "webbrowser",
4508
+ "webpki-roots",
4518
4509
  "wiremock",
4519
4510
  "x509-cert",
4520
4511
  "x509-parser",
@@ -5599,9 +5590,9 @@ dependencies = [
5599
5590
 
5600
5591
  [[package]]
5601
5592
  name = "webpki-roots"
5602
- version = "1.0.2"
5593
+ version = "1.0.10"
5603
5594
  source = "registry+https://github.com/rust-lang/crates.io-index"
5604
- checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2"
5595
+ checksum = "1c1c8e20c8a38fc7d65abfe74eb7280e4aa667e8eec8bc84996d2874810748d9"
5605
5596
  dependencies = [
5606
5597
  "rustls-pki-types",
5607
5598
  ]
@@ -21,3 +21,8 @@ resolver = "2"
21
21
  strip = true
22
22
  opt-level = "z"
23
23
  lto = false
24
+
25
+ # Same override as the main workspace Cargo.toml. The sdist workspace does
26
+ # not inherit that patch.
27
+ [patch.crates-io]
28
+ rustls-webpki = { path = "sf_core/third_party/rustls-webpki" }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: snowflake-connector-python
3
- Version: 5.0.0rc4
3
+ Version: 5.1.0
4
4
  Summary: Snowflake DB driver for Python
5
5
  Project-URL: Homepage, https://github.com/snowflakedb/drivers
6
6
  Project-URL: Bug Reports, https://github.com/snowflakedb/drivers/issues
@@ -16,6 +16,7 @@ Classifier: Programming Language :: Python :: 3.11
16
16
  Classifier: Programming Language :: Python :: 3.12
17
17
  Classifier: Programming Language :: Python :: 3.13
18
18
  Classifier: Programming Language :: Python :: 3.14
19
+ Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
19
20
  Classifier: Topic :: Database
20
21
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
22
  Requires-Python: >=3.11
@@ -32,7 +33,7 @@ Requires-Dist: types-protobuf; extra == 'dev'
32
33
  Requires-Dist: types-pytz; extra == 'dev'
33
34
  Provides-Extra: pandas
34
35
  Requires-Dist: pandas<3.0.0,>=1.0.0; (python_version < '3.13') and extra == 'pandas'
35
- Requires-Dist: pandas>=2.1.2; (python_version >= '3.13') and extra == 'pandas'
36
+ Requires-Dist: pandas<3.0.0,>=2.1.2; (python_version >= '3.13') and extra == 'pandas'
36
37
  Requires-Dist: pyarrow>=14.0.1; extra == 'pandas'
37
38
  Provides-Extra: pyarrow
38
39
  Requires-Dist: pyarrow>=14.0.1; extra == 'pyarrow'
@@ -45,6 +46,7 @@ Requires-Dist: numpy>=2.1.0; (python_version >= '3.13') and extra == 'test'
45
46
  Requires-Dist: pytest-cov; extra == 'test'
46
47
  Requires-Dist: pytest-json-report; extra == 'test'
47
48
  Requires-Dist: pytest-randomly; extra == 'test'
49
+ Requires-Dist: pytest-rerunfailures; extra == 'test'
48
50
  Requires-Dist: pytest-split; extra == 'test'
49
51
  Requires-Dist: pytest-timeout; extra == 'test'
50
52
  Requires-Dist: pytest-xdist; extra == 'test'
@@ -57,9 +59,6 @@ Description-Content-Type: text/markdown
57
59
 
58
60
  # Snowflake Connector for Python
59
61
 
60
- > [!CAUTION]
61
- > This version of the driver is in public preview and is not ready for use with production data and may be unstable.
62
-
63
62
  This package includes the Snowflake Connector for Python, which conforms to the [Python DB API 2.0](https://www.python.org/dev/peps/pep-0249/) specification.
64
63
 
65
64
  The Snowflake Connector for Python provides an interface for developing Python
@@ -186,4 +185,4 @@ PYTHON_REFERENCE_DRIVER_VERSION='==4.3.0' hatch run reference:test
186
185
  ## References
187
186
 
188
187
  - [PEP 249 - Python Database API Specification v2.0](https://peps.python.org/pep-0249/)
189
- - [Python Database API Specification v2.0](https://www.python.org/dev/peps/pep-0249/)
188
+ - [Python Database API Specification v2.0](https://www.python.org/dev/peps/pep-0249/)
@@ -1,8 +1,5 @@
1
1
  # Snowflake Connector for Python
2
2
 
3
- > [!CAUTION]
4
- > This version of the driver is in public preview and is not ready for use with production data and may be unstable.
5
-
6
3
  This package includes the Snowflake Connector for Python, which conforms to the [Python DB API 2.0](https://www.python.org/dev/peps/pep-0249/) specification.
7
4
 
8
5
  The Snowflake Connector for Python provides an interface for developing Python
@@ -129,4 +126,4 @@ PYTHON_REFERENCE_DRIVER_VERSION='==4.3.0' hatch run reference:test
129
126
  ## References
130
127
 
131
128
  - [PEP 249 - Python Database API Specification v2.0](https://peps.python.org/pep-0249/)
132
- - [Python Database API Specification v2.0](https://www.python.org/dev/peps/pep-0249/)
129
+ - [Python Database API Specification v2.0](https://www.python.org/dev/peps/pep-0249/)
@@ -125,15 +125,38 @@ class BuildHook(BuildHookInterface):
125
125
  build_data["pure_python"] = False
126
126
  build_data["infer_tag"] = True
127
127
 
128
+ def _fips_requested(self) -> bool:
129
+ """Return whether this build should link the FIPS module.
130
+
131
+ ``SNOWFLAKE_FIPS`` applies only when the project root is an unpacked
132
+ sdist (it carries ``PKG-INFO``). A checkout, an editable install, or a
133
+ wheel build fails when the variable is set.
134
+ """
135
+ if os.environ.get("SNOWFLAKE_FIPS", "").lower() not in ("1", "true"):
136
+ return False
137
+ if (Path(self.root) / "PKG-INFO").is_file():
138
+ return True
139
+ raise RuntimeError(
140
+ "SNOWFLAKE_FIPS is set, but this build is not an unpacked sdist "
141
+ "(PKG-INFO is absent). The variable applies only to an sdist install."
142
+ )
143
+
128
144
  def _select_core_extension(self, build_data: dict[str, Any]) -> None:
129
145
  """Force-include only the sf_core_python binary matching this interpreter."""
130
146
  ext_name = f"sf_core_python{sysconfig.get_config_var('EXT_SUFFIX')}"
131
- core_ext = Path(self.root) / "src" / "snowflake" / "connector" / "_core" / ext_name
147
+ core_dir = Path(self.root) / "src" / "snowflake" / "connector" / "_core"
148
+ core_ext = core_dir / ext_name
132
149
  if not core_ext.is_file():
133
150
  return
134
- build_data.setdefault("force_include", {})[str(core_ext)] = (
135
- f"snowflake/connector/_core/{ext_name}"
136
- )
151
+ force_include = build_data.setdefault("force_include", {})
152
+ force_include[str(core_ext)] = f"snowflake/connector/_core/{ext_name}"
153
+ # macOS and Windows sdist installs link shared aws-lc libraries that
154
+ # must ship beside the extension. Linux links that module statically.
155
+ if not self._fips_requested():
156
+ return
157
+ for lib in core_dir.iterdir():
158
+ if lib.is_file() and "aws_lc_fips" in lib.name and lib.suffix in (".dylib", ".so", ".dll"):
159
+ force_include[str(lib)] = f"snowflake/connector/_core/{lib.name}"
137
160
 
138
161
  def _generate_protobuf(self) -> None:
139
162
  """Generate Python protobuf code using the Rust proto_generator binary."""
@@ -146,8 +169,7 @@ class BuildHook(BuildHookInterface):
146
169
 
147
170
  if not proto_input.exists():
148
171
  raise RuntimeError(
149
- f"Proto file not found at {proto_input}. "
150
- "Cannot build package without protobuf definitions."
172
+ f"Proto file not found at {proto_input}. Cannot build package without protobuf definitions."
151
173
  )
152
174
 
153
175
  cargo_manifest = python_dir / "Cargo.toml"
@@ -156,8 +178,7 @@ class BuildHook(BuildHookInterface):
156
178
  # Rust toolchain), fall back to previously generated files if they exist.
157
179
  if any(protobuf_gen_dir.glob("*_pb2.py")):
158
180
  warnings.warn(
159
- "Cargo.toml not found; skipping protobuf regeneration. "
160
- "Using previously generated protobuf files.",
181
+ "Cargo.toml not found; skipping protobuf regeneration. Using previously generated protobuf files.",
161
182
  stacklevel=1,
162
183
  )
163
184
  return
@@ -315,11 +336,13 @@ class BuildHook(BuildHookInterface):
315
336
  # Suppress warnings for vendored/generated C files (Unix only, GCC/Clang flags)
316
337
  if is_unix and src.endswith(vendored_c_files):
317
338
  extra_postargs = list(extra_postargs)
318
- extra_postargs.extend([
319
- "-Wno-unused-variable",
320
- "-Wno-unused-const-variable",
321
- "-Wno-unreachable-code",
322
- ])
339
+ extra_postargs.extend(
340
+ [
341
+ "-Wno-unused-variable",
342
+ "-Wno-unused-const-variable",
343
+ "-Wno-unreachable-code",
344
+ ]
345
+ )
323
346
  return original_compile(obj, src, ext_arg, cc_args, extra_postargs, pp_opts)
324
347
 
325
348
  self.compiler._compile = new_compile
@@ -344,7 +367,6 @@ class BuildHook(BuildHookInterface):
344
367
  Produces a version-tagged ``sf_core_python.<EXT_SUFFIX>`` native
345
368
  extension (e.g. ``.cpython-313-darwin.so`` / ``.cp313-win_amd64.pyd``).
346
369
  """
347
-
348
370
  if os.environ.get("SKIP_CORE_BUILD", "").lower() in self.POSITIVE_VALUES:
349
371
  return
350
372
 
@@ -380,9 +402,8 @@ class BuildHook(BuildHookInterface):
380
402
  if os.environ.get("SF_PERF_METRICS", "").lower() in ("1", "true"):
381
403
  extra_cargo_args.extend(["--features", "sf_core/perf_timing"])
382
404
 
383
- # Opt-in PyO3-based nanoarrow replacement.
384
- if os.environ.get("SF_NATIVE_ARROW", "").lower() in ("1", "true"):
385
- extra_cargo_args.extend(["--features", "native-arrow"])
405
+ if self._fips_requested():
406
+ extra_cargo_args.extend(["--features", "fips"])
386
407
 
387
408
  # Use a stable target dir when CORE_CARGO_TARGET_DIR is set (enables
388
409
  # incremental Rust compilation and CI caching). Otherwise fall back to a
@@ -465,9 +486,24 @@ class BuildHook(BuildHookInterface):
465
486
  found_core = True
466
487
  break
467
488
  if not found_core:
468
- raise Exception(
469
- f"No sf_core_python shared library (.dll/.so/.dylib) found in {release_dir}"
470
- )
489
+ raise Exception(f"No sf_core_python shared library (.dll/.so/.dylib) found in {release_dir}")
490
+
491
+ # aws-lc-fips-sys emits its shared libraries under release/build/, not
492
+ # release/. Copy those by name; do not bundle the rest of the tree.
493
+ copied_fips: set[str] = set()
494
+ if self._fips_requested():
495
+ for lib in release_dir.rglob("*"):
496
+ if not lib.is_file() or "aws_lc_fips" not in lib.name:
497
+ continue
498
+ if lib.suffix not in (".dylib", ".so", ".dll") or lib.name in copied_fips:
499
+ continue
500
+ copied_fips.add(lib.name)
501
+ lib_tmp = target_dir / (lib.name + ".tmp")
502
+ shutil.copy2(lib, lib_tmp)
503
+ os.replace(lib_tmp, target_dir / lib.name)
504
+ for old in target_dir.iterdir():
505
+ if old.is_file() and "aws_lc_fips" in old.name and old.name not in copied_fips:
506
+ old.unlink()
471
507
 
472
508
  # No OpenSSL DLLs are bundled next to sf_core_python. The driver
473
509
  # stopped linking OpenSSL entirely; `openssl` survives only as an
@@ -37,6 +37,18 @@ enum ErrorKind {
37
37
  ERROR_KIND_STAGE_BINDING = 15;
38
38
  }
39
39
 
40
+ // Distinguishes ERROR_KIND_IO failures that share one kind but different
41
+ // legacy JDBC vendor codes. Unset when kind is not ERROR_KIND_IO, and when
42
+ // an I/O failure has no JDBC vendor code.
43
+ enum IoClass {
44
+ IO_CLASS_UNSPECIFIED = 0;
45
+ IO_CLASS_GENERIC = 1;
46
+ IO_CLASS_NETWORK = 2;
47
+ IO_CLASS_FILE_UPLOAD = 3;
48
+ IO_CLASS_FILE_DOWNLOAD = 4;
49
+ IO_CLASS_NO_SPACE_LEFT = 5;
50
+ }
51
+
40
52
  // Info codes corresponding to Thrift InfoCode enum
41
53
  enum InfoCode {
42
54
  INFO_CODE_UNSPECIFIED = 0;
@@ -120,6 +132,8 @@ message DriverException {
120
132
  // What the abort-request fired on cancellation achieved. Set only when kind is
121
133
  // ERROR_KIND_CANCELLED *and* an abort was actually issued; unset otherwise.
122
134
  optional CancellationAbortOutcome cancellation_abort_outcome = 13;
135
+ // Present when kind is ERROR_KIND_IO and the failure has a legacy JDBC vendor code.
136
+ optional IoClass io_class = 14;
123
137
  }
124
138
 
125
139
  // Column metadata for description
@@ -288,6 +302,7 @@ message WrapperIdentity {
288
302
  optional string language_version = 4;
289
303
  optional string language_compiler = 5;
290
304
  optional string release_type = 6;
305
+ optional string application_path = 7;
291
306
  }
292
307
 
293
308
  message ConnectionInitRequest {
@@ -1015,6 +1030,15 @@ message ConfigGetPathsResponse {
1015
1030
  string connections_file = 2;
1016
1031
  }
1017
1032
 
1033
+ // Reports whether this process is the FIPS driver. Does not open a connection.
1034
+ message DriverGetFipsStatusRequest {}
1035
+
1036
+ message DriverGetFipsStatusResponse {
1037
+ // True when this binary was built with the fips feature and its linked TLS
1038
+ // provider is in FIPS mode. A standard build returns false.
1039
+ bool is_fips = 1;
1040
+ }
1041
+
1018
1042
  // =============================================================================
1019
1043
  // WORKLOAD IDENTITY FEDERATION (WIF) - standalone attestation
1020
1044
  // =============================================================================
@@ -1039,6 +1063,8 @@ message WifCreateAttestationRequest {
1039
1063
  // of the default pre-signed GetCallerIdentity attestation. Takes precedence
1040
1064
  // over SNOWFLAKE_ENABLE_AWS_WIF_OUTBOUND_TOKEN.
1041
1065
  optional bool aws_use_outbound_token = 5;
1066
+ // AWS STS hostname override. Empty/unset uses the regional STS default.
1067
+ optional string wif_host = 6;
1042
1068
  }
1043
1069
 
1044
1070
  message WifCreateAttestationResponse {
@@ -1081,6 +1107,9 @@ message TelemetrySendLogRequest {
1081
1107
  // Database Driver service definition
1082
1108
  service DatabaseDriver {
1083
1109
  option (service_error) = "DriverException";
1110
+ // Available without a database or connection handle, even in standard builds.
1111
+ rpc DriverGetFipsStatus(DriverGetFipsStatusRequest) returns (DriverGetFipsStatusResponse);
1112
+
1084
1113
  // Database operations
1085
1114
  rpc DatabaseNew(DatabaseNewRequest) returns (DatabaseNewResponse);
1086
1115
  rpc DatabaseSetOptions(DatabaseSetOptionsRequest) returns (DatabaseSetOptionsResponse);
@@ -1,5 +1,5 @@
1
1
  [build-system]
2
- requires = ["hatchling", "editables", "Cython", "setuptools", "mypy-protobuf~=5.0"]
2
+ requires = ["hatchling", "editables", "Cython>=3.1", "setuptools", "mypy-protobuf~=5.0"]
3
3
  build-backend = "hatchling.build"
4
4
 
5
5
  [project]
@@ -20,6 +20,7 @@ classifiers = [
20
20
  "Programming Language :: Python :: 3.12",
21
21
  "Programming Language :: Python :: 3.13",
22
22
  "Programming Language :: Python :: 3.14",
23
+ "Programming Language :: Python :: Free Threading :: 2 - Beta",
23
24
  ]
24
25
  requires-python = ">=3.11"
25
26
  dependencies = [
@@ -47,7 +48,7 @@ pyarrow = [
47
48
  pandas = [
48
49
  "pyarrow>=14.0.1",
49
50
  "pandas>=1.0.0,<3.0.0; python_version < '3.13'",
50
- "pandas>=2.1.2; python_version >= '3.13'",
51
+ "pandas>=2.1.2,<3.0.0; python_version >= '3.13'",
51
52
  ]
52
53
  test = [
53
54
  "pytest>=8",
@@ -57,6 +58,7 @@ test = [
57
58
  "pytest-xdist",
58
59
  "pytest-randomly",
59
60
  "pytest-timeout",
61
+ "pytest-rerunfailures",
60
62
  "hypothesis",
61
63
  "requests",
62
64
  "brotli",
@@ -101,6 +103,7 @@ exclude = [
101
103
  "src/snowflake/connector/_internal/nanoarrow_cpp/scripts",
102
104
  # Exclude Rust build artifacts
103
105
  "sf_core/target/",
106
+ "sf_core/third_party/rustls-webpki/target/",
104
107
  "python_bridge/target/",
105
108
  "sf_params_spec/target/",
106
109
  "sf_types/target/",
@@ -109,6 +112,9 @@ exclude = [
109
112
  "sf_core/tests/e2e/",
110
113
  "sf_core/tests/integration/",
111
114
  "sf_core/tests/*.rs",
115
+ # Vendored rustls-webpki unit-test fixtures. The library build does not read them.
116
+ "sf_core/third_party/rustls-webpki/tests/",
117
+ "sf_core/third_party/rustls-webpki/third-party/",
112
118
  ]
113
119
 
114
120
  # Individual files need force-include (file symlinks are not dereferenced)
@@ -116,6 +122,7 @@ exclude = [
116
122
  "Cargo.toml.sdist" = "Cargo.toml"
117
123
  "Cargo.lock.sdist" = "Cargo.lock"
118
124
  "../build_common.rs" = "build_common.rs"
125
+ "../rust-toolchain.toml" = "rust-toolchain.toml"
119
126
 
120
127
  [tool.hatch.build.targets.wheel]
121
128
  packages = ["src/snowflake"]
@@ -139,6 +146,8 @@ testpaths = ["tests"]
139
146
  python_files = ["test_*.py"]
140
147
  python_classes = ["Test*"]
141
148
  python_functions = ["test_*"]
149
+ # Dedicated plugin dir only — do not put all of scripts/ on pythonpath (import shadow).
150
+ pythonpath = ["../scripts/pytest_junit_retry_plugin"]
142
151
  addopts = [
143
152
  "--strict-markers",
144
153
  "--strict-config",
@@ -147,6 +156,10 @@ addopts = [
147
156
  # minimum 8 workers configured via pytest_xdist_auto_num_workers in conftest.py
148
157
  "-n", "auto",
149
158
  "--max-worker-restart=4",
159
+ # Two extra attempts after the first failure (3 total).
160
+ "--reruns", "2",
161
+ # Stock junitxml keeps only the last attempt; this plugin writes flakyFailure.
162
+ "-p", "pytest_junit_retry_plugin",
150
163
  # Flaky tests are excluded by default; the python_flaky_tests CI job
151
164
  # overrides this with `-m flaky` to run them in isolation.
152
165
  "-m", "not flaky and not requires_no_mfa",
@@ -282,7 +295,7 @@ fix = [
282
295
  skip-install = false
283
296
  dev-mode = true
284
297
  dependencies = [
285
- "Cython",
298
+ "Cython>=3.1",
286
299
  "setuptools",
287
300
  ]
288
301
 
@@ -293,13 +306,12 @@ PARAMETER_PATH = "{env:PARAMETER_PATH:../parameters.json}"
293
306
  SKIP_CORE_BUILD = "{env:SKIP_CORE_BUILD:1}"
294
307
 
295
308
  [[tool.hatch.envs.dev.matrix]]
296
- python = ["3.11", "3.12", "3.13", "3.14"]
309
+ python = ["3.11", "3.12", "3.13", "3.14", "3.14t"]
297
310
 
298
311
  [tool.hatch.envs.dev.scripts]
299
- # Unit / integ: on failure, once-rerun last-failed tests (cap at 5 failures)
300
- # via pytest cache --lf / --maxfail. https://docs.pytest.org/en/stable/how-to/cache.html
301
- unit = "pytest tests/unit {args} || pytest tests/unit --lf --maxfail=5 {args}"
302
- integ = "pytest tests/integ {args} || pytest tests/integ --lf --maxfail=5 {args}"
312
+ # Per-test retries come from addopts --reruns 2 (not a second whole-suite run).
313
+ unit = "pytest tests/unit {args}"
314
+ integ = "pytest tests/integ {args}"
303
315
  # End-to-end tests
304
316
  e2e = "pytest tests/e2e {args}"
305
317
  # All tests
@@ -317,14 +329,13 @@ skip-install = true
317
329
  dev-mode = false
318
330
 
319
331
  [[tool.hatch.envs.test.matrix]]
320
- python = ["3.11", "3.12", "3.13", "3.14"]
332
+ python = ["3.11", "3.12", "3.13", "3.14", "3.14t"]
321
333
 
322
334
  [tool.hatch.envs.test.scripts]
323
335
  # Install from wheel
324
336
  install-wheel = "uv pip install {env:WHEEL_PATH:dist/*.whl}"
325
- # Split suites used by CI (no auto --lf; merge-group last-failed is a separate step).
326
- # Override the `dev` template scripts: those `|| pytest --lf` wrappers hide
327
- # failures from GitHub Actions, and `dev:e2e` does not ignore pandas.
337
+ # Split suites used by CI. Override the `dev` template so `dev:e2e` does not
338
+ # ignore pandas. Per-test retries come from addopts --reruns 2.
328
339
  unit = "pytest tests/unit {args}"
329
340
  integ = "pytest tests/integ {args}"
330
341
  e2e = "pytest tests/e2e --ignore=tests/e2e/pandas --ignore=tests/e2e/numpy {args}"
@@ -335,24 +346,15 @@ flaky = "pytest tests/ --ignore=tests/packaging --ignore=tests/e2e/pandas --igno
335
346
  # Runs @pytest.mark.requires_no_mfa tests (parameters_aws_local.json).
336
347
  no_mfa = "pytest tests/e2e/authentication/test_user_password.py -m requires_no_mfa -n 0 --no-cov {args}"
337
348
 
338
- # Native-arrow overlays python_bridge in install-wheel, then runs :cov.
349
+ # Same unit/integ/e2e split as `test`. The harness sets use_core_arrow.
339
350
  [tool.hatch.envs.test-native-arrow]
340
351
  template = "test"
341
- features = ["test", "dev", "pyarrow"]
342
352
 
343
353
  [[tool.hatch.envs.test-native-arrow.matrix]]
344
- python = ["3.13"]
354
+ python = ["3.13", "3.14t"]
345
355
 
346
- [tool.hatch.envs.test-native-arrow.scripts]
347
- # Production wheel, then cargo-test + native-arrow overlay in this env's Python.
348
- install-wheel = [
349
- "uv pip install {env:WHEEL_PATH:dist/*.whl}",
350
- "python hatch_native_arrow.py",
351
- ]
352
- # BOOLEAN, REAL, TEXT, BINARY, NUMBER, DECFLOAT, DATE, TIME, TIMESTAMP_LTZ, VECTOR,
353
- # DictCursor, and numpy (NUMBER/REAL/DECFLOAT, DATE, TIMESTAMP_NTZ, INTERVAL) are live.
354
- # Table and insert cases can run because execute_query status rows are NUMBER.
355
- cov = "pytest tests/unit/test_arrow_stream_utils.py tests/integ/test_cursor.py::TestDictCursorCreation tests/integ/test_cursor.py::TestDictCursorFetchOne tests/integ/test_cursor.py::TestDictCursorFetchMany tests/integ/test_cursor.py::TestDictCursorFetchAll tests/integ/test_cursor.py::TestDictCursorIteration tests/integ/test_cursor.py::TestDictCursorLargeResults tests/integ/test_cursor.py::TestDictCursorMultipleQueries tests/e2e/types/test_boolean.py tests/e2e/types/test_float.py tests/e2e/types/test_string.py tests/e2e/types/test_binary.py tests/e2e/types/test_number.py tests/e2e/types/test_int.py tests/e2e/types/test_decfloat.py tests/e2e/types/test_date.py tests/e2e/types/test_time.py tests/e2e/types/test_timestamp_ltz.py tests/e2e/types/test_vector.py tests/e2e/types/numpy/test_number_numpy.py tests/e2e/types/numpy/test_float_numpy.py tests/e2e/types/numpy/test_decfloat_numpy.py tests/e2e/types/numpy/test_date_numpy.py tests/e2e/types/numpy/test_timestamp_ntz_numpy.py tests/e2e/types/numpy/test_interval_numpy.py --cov=src/snowflake --cov-report=xml --cov-report=html {args}"
356
+ [tool.hatch.envs.test-native-arrow.env-vars]
357
+ SNOWFLAKE_TEST_USE_CORE_ARROW = "1"
356
358
 
357
359
  # Pandas and NumPy consumer CI test environment
358
360
  [tool.hatch.envs.test-pandas]
@@ -360,7 +362,7 @@ template = "test"
360
362
  features = ["test", "dev", "pandas"]
361
363
 
362
364
  [[tool.hatch.envs.test-pandas.matrix]]
363
- python = ["3.11", "3.12", "3.13", "3.14"]
365
+ python = ["3.11", "3.12", "3.13", "3.14", "3.14t"]
364
366
 
365
367
  [tool.hatch.envs.test-pandas.scripts]
366
368
  cov = "pytest tests/e2e/pandas tests/e2e/numpy --cov=src/snowflake --cov-report=xml --cov-report=html {args}"
@@ -369,7 +371,7 @@ cov = "pytest tests/e2e/pandas tests/e2e/numpy --cov=src/snowflake --cov-report=
369
371
  [tool.hatch.envs.packaging]
370
372
  features = ["test"]
371
373
  installer = "uv"
372
- extra-dependencies = ["build"]
374
+ extra-dependencies = ["build", "hatchling"]
373
375
 
374
376
  [[tool.hatch.envs.packaging.matrix]]
375
377
  python = ["3.13"]
@@ -8,15 +8,10 @@ name = "sf_core_python"
8
8
  crate-type = ["cdylib", "rlib"]
9
9
 
10
10
  [features]
11
- default = ["extension-module"]
11
+ default = ["extension-module", "native-arrow"]
12
12
  extension-module = ["pyo3/extension-module"]
13
13
  native-arrow = ["dep:arrow", "dep:snafu", "dep:error_trace", "dep:sf_types", "dep:chrono", "pyo3/chrono"]
14
- # Links the FIPS-mode crypto module (aws-lc-fips-sys) instead of
15
- # aws-lc-sys. Despite the name it is no longer TLS-only: JWT signing, DPoP,
16
- # stage file encryption and private-key parsing now run on the same module. The
17
- # name and the caveat both stand -- see the `fips-tls` feature comment in
18
- # sf_core/Cargo.toml for why this is still not a FIPS artifact on its own.
19
- fips-tls = ["sf_core/fips-tls"]
14
+ fips = ["sf_core/fips"]
20
15
 
21
16
  [dependencies]
22
17
  arrow = { version = ">=54.0.0, <59", features = ["ffi"], optional = true }
@@ -35,7 +30,7 @@ futures = "0.3"
35
30
  tracing = "0.1.41"
36
31
 
37
32
  [dev-dependencies]
38
- # Tests for the native path use --features native-arrow (activates optional arrow).
33
+ # `native-arrow` is a default feature. `--no-default-features` drops it.
39
34
  pyo3 = { version = "0.29.0", features = ["auto-initialize"] }
40
35
  arrow = { version = ">=54.0.0, <59", features = ["ffi"] }
41
36
  tracing-subscriber = { version = "0.3.19", features = ["fmt"] }
@@ -2,8 +2,11 @@ fn main() {
2
2
  // On macOS, Python extension modules leave Python symbols undefined at
3
3
  // link time - they are resolved at load time by the interpreter. Without
4
4
  // this flag the linker rejects the build with "symbol(s) not found".
5
+ // FIPS builds also link shared aws-lc libraries whose install name is
6
+ // `@rpath`, so the extension looks beside itself.
5
7
  if std::env::var("CARGO_CFG_TARGET_OS").as_deref() == Ok("macos") {
6
8
  println!("cargo:rustc-cdylib-link-arg=-undefined");
7
9
  println!("cargo:rustc-cdylib-link-arg=dynamic_lookup");
10
+ println!("cargo:rustc-cdylib-link-arg=-Wl,-rpath,@loader_path");
8
11
  }
9
12
  }
@@ -14,6 +14,7 @@ use super::boolean;
14
14
  use super::date;
15
15
  use super::decfloat;
16
16
  use super::interval;
17
+ use super::map;
17
18
  use super::number;
18
19
  use super::numpy::NumpyProvider;
19
20
  use super::real;
@@ -167,6 +168,7 @@ impl ConversionContext {
167
168
  self.use_numpy,
168
169
  ),
169
170
  SnowflakeFieldType::Vector { .. } => vector::from_column(array, field_type),
171
+ SnowflakeFieldType::ArrowMap => map::from_column(self, array),
170
172
  }
171
173
  }
172
174
  }