snowflake-connector-python 3.6.0__tar.gz → 3.7.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/DESCRIPTION.md +21 -0
  2. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/MANIFEST.in +1 -0
  3. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/PKG-INFO +27 -5
  4. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/setup.cfg +5 -4
  5. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/setup.py +33 -44
  6. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/arrow_context.py +5 -3
  7. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/_auth.py +2 -2
  8. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/keypair.py +2 -2
  9. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/webbrowser.py +32 -10
  10. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/azure_storage_client.py +2 -2
  11. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/config_manager.py +1 -1
  12. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/connection.py +147 -107
  13. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/connection_diagnostic.py +1 -1
  14. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/converter.py +20 -6
  15. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/converter_issue23517.py +4 -4
  16. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/cursor.py +28 -13
  17. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/ArrayConverter.cpp +64 -0
  18. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/ArrayConverter.hpp +33 -0
  19. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BinaryConverter.cpp +7 -10
  20. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BinaryConverter.hpp +6 -7
  21. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BooleanConverter.cpp +25 -0
  22. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BooleanConverter.hpp +6 -7
  23. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowChunkIterator.cpp +517 -0
  24. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowChunkIterator.hpp +23 -20
  25. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowIterator.cpp +129 -0
  26. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowIterator.hpp +119 -0
  27. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowTableIterator.cpp +960 -0
  28. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowTableIterator.hpp +141 -0
  29. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DateConverter.cpp +51 -0
  30. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DateConverter.hpp +11 -13
  31. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DecimalConverter.cpp +101 -0
  32. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DecimalConverter.hpp +23 -25
  33. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FixedSizeListConverter.cpp +10 -21
  34. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FixedSizeListConverter.hpp +4 -6
  35. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FloatConverter.cpp +10 -17
  36. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FloatConverter.hpp +12 -14
  37. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/IColumnConverter.hpp +4 -6
  38. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/IntConverter.cpp +6 -9
  39. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/IntConverter.hpp +15 -25
  40. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/MapConverter.cpp +79 -0
  41. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/MapConverter.hpp +34 -0
  42. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/ObjectConverter.cpp +50 -0
  43. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/ObjectConverter.hpp +32 -0
  44. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Common.cpp +3 -5
  45. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Common.hpp +38 -56
  46. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Helpers.cpp +17 -23
  47. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Helpers.hpp +4 -5
  48. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/SnowflakeType.cpp +6 -6
  49. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/SnowflakeType.hpp +10 -12
  50. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/StringConverter.cpp +7 -10
  51. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/StringConverter.hpp +6 -7
  52. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeConverter.cpp +40 -0
  53. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeConverter.hpp +6 -7
  54. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeStampConverter.cpp +350 -0
  55. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeStampConverter.hpp +47 -52
  56. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/time.cpp +69 -0
  57. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/time.hpp +7 -11
  58. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc.c +3204 -0
  59. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow.c +403 -289
  60. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow.h +503 -368
  61. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow.hpp +55 -31
  62. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_arrow_iterator.pyx +13 -15
  63. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_device.c +78 -57
  64. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_device.h +53 -37
  65. snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.c +33260 -0
  66. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.h +79 -70
  67. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/Logging/logging.cpp +19 -26
  68. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/Logging/logging.hpp +16 -12
  69. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/network.py +8 -3
  70. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/ocsp_snowflake.py +3 -3
  71. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/pandas_tools.py +9 -3
  72. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/result_set.py +20 -3
  73. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/s3_storage_client.py +2 -2
  74. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/telemetry_oob.py +3 -1
  75. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/tool/dump_ocsp_response_cache.py +2 -2
  76. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/version.py +1 -1
  77. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake_connector_python.egg-info/PKG-INFO +27 -5
  78. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake_connector_python.egg-info/SOURCES.txt +6 -0
  79. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake_connector_python.egg-info/requires.txt +4 -4
  80. snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BooleanConverter.cpp +0 -29
  81. snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowChunkIterator.cpp +0 -486
  82. snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowIterator.cpp +0 -62
  83. snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowIterator.hpp +0 -156
  84. snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowTableIterator.cpp +0 -845
  85. snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowTableIterator.hpp +0 -161
  86. snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DateConverter.cpp +0 -59
  87. snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DecimalConverter.cpp +0 -102
  88. snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeConverter.cpp +0 -46
  89. snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeStampConverter.cpp +0 -349
  90. snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/time.cpp +0 -76
  91. snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc.c +0 -3169
  92. snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.c +0 -22428
  93. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/CONTRIBUTING.md +0 -0
  94. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/LICENSE.txt +0 -0
  95. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/NOTICE +0 -0
  96. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/README.md +0 -0
  97. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/SECURITY.md +0 -0
  98. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/pyproject.toml +0 -0
  99. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/__init__.py +0 -0
  100. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/_query_context_cache.py +0 -0
  101. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/_sql_util.py +0 -0
  102. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/__init__.py +0 -0
  103. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/by_plugin.py +0 -0
  104. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/default.py +0 -0
  105. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/idtoken.py +0 -0
  106. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/oauth.py +0 -0
  107. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/okta.py +0 -0
  108. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/usrpwdmfa.py +0 -0
  109. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/backoff_policies.py +0 -0
  110. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/bind_upload_agent.py +0 -0
  111. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/cache.py +0 -0
  112. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/compat.py +0 -0
  113. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/constants.py +0 -0
  114. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/converter_null.py +0 -0
  115. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/converter_snowsql.py +0 -0
  116. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/dbapi.py +0 -0
  117. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/description.py +0 -0
  118. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/encryption_util.py +0 -0
  119. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/errorcode.py +0 -0
  120. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/errors.py +0 -0
  121. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/feature.py +0 -0
  122. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/file_compression_type.py +0 -0
  123. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/file_transfer_agent.py +0 -0
  124. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/file_util.py +0 -0
  125. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/gcs_storage_client.py +0 -0
  126. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/gzip_decoder.py +0 -0
  127. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/local_storage_client.py +0 -0
  128. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/LICENSE.txt +0 -0
  129. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/macros.hpp +0 -0
  130. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_accessors.h +0 -0
  131. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_alloc.h +0 -0
  132. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_assert.h +0 -0
  133. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_builder.h +0 -0
  134. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_emitter.h +0 -0
  135. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_endian.h +0 -0
  136. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_epilogue.h +0 -0
  137. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_flatbuffers.h +0 -0
  138. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_identifier.h +0 -0
  139. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_iov.h +0 -0
  140. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_prologue.h +0 -0
  141. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_refmap.h +0 -0
  142. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_rtconfig.h +0 -0
  143. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_types.h +0 -0
  144. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_verifier.h +0 -0
  145. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/flatcc_portable.h +0 -0
  146. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/paligned_alloc.h +0 -0
  147. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pattributes.h +0 -0
  148. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pdiagnostic.h +0 -0
  149. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pdiagnostic_pop.h +0 -0
  150. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pdiagnostic_push.h +0 -0
  151. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pendian.h +0 -0
  152. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pendian_detect.h +0 -0
  153. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pinline.h +0 -0
  154. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pinttypes.h +0 -0
  155. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/portable.h +0 -0
  156. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/portable_basic.h +0 -0
  157. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstatic_assert.h +0 -0
  158. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstdalign.h +0 -0
  159. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstdint.h +0 -0
  160. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/punaligned.h +0 -0
  161. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pversion.h +0 -0
  162. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pwarnings.h +0 -0
  163. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/ocsp_asn1crypto.py +0 -0
  164. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/options.py +0 -0
  165. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/proxy.py +0 -0
  166. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/py.typed +0 -0
  167. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/result_batch.py +0 -0
  168. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/secret_detector.py +0 -0
  169. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/sf_dirs.py +0 -0
  170. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/sfbinaryformat.py +0 -0
  171. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/sfdatetime.py +0 -0
  172. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/snow_logging.py +0 -0
  173. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/sqlstate.py +0 -0
  174. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/ssd_internal_keys.py +0 -0
  175. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/ssl_wrap_socket.py +0 -0
  176. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/storage_client.py +0 -0
  177. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/telemetry.py +0 -0
  178. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/test_util.py +0 -0
  179. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/time_util.py +0 -0
  180. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/tool/__init__.py +0 -0
  181. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/tool/dump_certs.py +0 -0
  182. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/tool/dump_ocsp_response.py +0 -0
  183. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/tool/probe_connection.py +0 -0
  184. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/url_util.py +0 -0
  185. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/util_text.py +0 -0
  186. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/__init__.py +0 -0
  187. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/LICENSE +0 -0
  188. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/__init__.py +0 -0
  189. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/__version__.py +0 -0
  190. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/_internal_utils.py +0 -0
  191. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/adapters.py +0 -0
  192. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/api.py +0 -0
  193. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/auth.py +0 -0
  194. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/certs.py +0 -0
  195. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/compat.py +0 -0
  196. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/cookies.py +0 -0
  197. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/exceptions.py +0 -0
  198. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/help.py +0 -0
  199. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/hooks.py +0 -0
  200. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/models.py +0 -0
  201. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/sessions.py +0 -0
  202. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/status_codes.py +0 -0
  203. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/structures.py +0 -0
  204. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/utils.py +0 -0
  205. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/LICENSE.txt +0 -0
  206. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/__init__.py +0 -0
  207. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/_collections.py +0 -0
  208. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/_version.py +0 -0
  209. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/connection.py +0 -0
  210. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/connectionpool.py +0 -0
  211. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/__init__.py +0 -0
  212. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/_appengine_environ.py +0 -0
  213. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/_securetransport/__init__.py +0 -0
  214. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/_securetransport/bindings.py +0 -0
  215. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/_securetransport/low_level.py +0 -0
  216. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/appengine.py +0 -0
  217. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/ntlmpool.py +0 -0
  218. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/pyopenssl.py +0 -0
  219. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/securetransport.py +0 -0
  220. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/socks.py +0 -0
  221. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/exceptions.py +0 -0
  222. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/fields.py +0 -0
  223. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/filepost.py +0 -0
  224. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/packages/__init__.py +0 -0
  225. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/packages/backports/__init__.py +0 -0
  226. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/packages/backports/makefile.py +0 -0
  227. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/packages/backports/weakref_finalize.py +0 -0
  228. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/packages/six.py +0 -0
  229. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/poolmanager.py +0 -0
  230. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/request.py +0 -0
  231. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/response.py +0 -0
  232. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/__init__.py +0 -0
  233. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/connection.py +0 -0
  234. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/proxy.py +0 -0
  235. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/queue.py +0 -0
  236. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/request.py +0 -0
  237. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/response.py +0 -0
  238. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/retry.py +0 -0
  239. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/ssl_.py +0 -0
  240. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/ssl_match_hostname.py +0 -0
  241. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/ssltransport.py +0 -0
  242. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/timeout.py +0 -0
  243. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/url.py +0 -0
  244. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/wait.py +0 -0
  245. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake_connector_python.egg-info/dependency_links.txt +0 -0
  246. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake_connector_python.egg-info/entry_points.txt +0 -0
  247. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake_connector_python.egg-info/not-zip-safe +0 -0
  248. {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake_connector_python.egg-info/top_level.txt +0 -0
@@ -8,6 +8,27 @@ Source code is also available at: https://github.com/snowflakedb/snowflake-conne
8
8
 
9
9
  # Release Notes
10
10
 
11
+ - v3.7.1(February 21, 2024)
12
+
13
+ - Bumped pandas dependency from >=1.0.0,<2.2.0 to >=1.0.0,<3.0.0.
14
+ - Bumped cryptography dependency from <42.0.0,>=3.1.0 to >=3.1.0,<43.0.0.
15
+ - Bumped pyOpenSSL dependency from >=16.2.0,<24.0.0 to >=16.2.0,<25.0.0.
16
+ - Fixed a memory leak in decimal data conversion.
17
+ - Fixed a bug where `write_pandas` wasn't truncating the target table.
18
+ - Bumped keyring dependency lower bound to 23.1.0 to address security vulnerability.
19
+
20
+ - v3.7.0(January 25,2024)
21
+
22
+ - Added a new boolean parameter `force_return_table` to `SnowflakeCursor.fetch_arrow_all` to force returning `pyarrow.Table` in case of zero rows.
23
+ - Cleanup some C++ code warnings and performance issues.
24
+ - Added support for Python 3.12
25
+ - Make local testing more robust against implicit assumptions.
26
+ - Fixed PyArrow Table type hinting
27
+ - Added support for connecting using an existing connection via the session and master token.
28
+ - Added support for connecting to Snowflake by authenticating with multiple SAML IDP using external browser.
29
+ - Added support for structured types (OBJECT, MAP, ARRAY) to nanoarrow converters.
30
+ - Fixed compilation issue due to missing cstdint header on gcc13.
31
+ - Improved config permissions warning message.
11
32
 
12
33
  - v3.6.0(December 09,2023)
13
34
 
@@ -18,6 +18,7 @@ exclude .pre-commit-config.yaml
18
18
  exclude license_header.txt
19
19
  exclude tox.ini
20
20
  exclude mypy.ini
21
+ exclude .clang-format
21
22
 
22
23
  prune ci
23
24
  prune benchmark
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: snowflake-connector-python
3
- Version: 3.6.0
3
+ Version: 3.7.1
4
4
  Summary: Snowflake Connector for Python
5
5
  Home-page: https://www.snowflake.com/
6
6
  Author: Snowflake, Inc
@@ -26,6 +26,7 @@ Classifier: Programming Language :: Python :: 3.8
26
26
  Classifier: Programming Language :: Python :: 3.9
27
27
  Classifier: Programming Language :: Python :: 3.10
28
28
  Classifier: Programming Language :: Python :: 3.11
29
+ Classifier: Programming Language :: Python :: 3.12
29
30
  Classifier: Programming Language :: SQL
30
31
  Classifier: Topic :: Database
31
32
  Classifier: Topic :: Scientific/Engineering :: Information Analysis
@@ -39,8 +40,8 @@ License-File: LICENSE.txt
39
40
  License-File: NOTICE
40
41
  Requires-Dist: asn1crypto<2.0.0,>0.24.0
41
42
  Requires-Dist: cffi<2.0.0,>=1.9
42
- Requires-Dist: cryptography<42.0.0,>=3.1.0
43
- Requires-Dist: pyOpenSSL<24.0.0,>=16.2.0
43
+ Requires-Dist: cryptography<43.0.0,>=3.1.0
44
+ Requires-Dist: pyOpenSSL<25.0.0,>=16.2.0
44
45
  Requires-Dist: pyjwt<3.0.0
45
46
  Requires-Dist: pytz
46
47
  Requires-Dist: requests<3.0.0
@@ -69,10 +70,10 @@ Requires-Dist: pytest-timeout; extra == "development"
69
70
  Requires-Dist: pytest-xdist; extra == "development"
70
71
  Requires-Dist: pytzdata; extra == "development"
71
72
  Provides-Extra: pandas
72
- Requires-Dist: pandas<2.2.0,>=1.0.0; extra == "pandas"
73
+ Requires-Dist: pandas<3.0.0,>=1.0.0; extra == "pandas"
73
74
  Requires-Dist: pyarrow; extra == "pandas"
74
75
  Provides-Extra: secure-local-storage
75
- Requires-Dist: keyring!=16.1.0,<25.0.0; extra == "secure-local-storage"
76
+ Requires-Dist: keyring<25.0.0,>=23.1.0; extra == "secure-local-storage"
76
77
 
77
78
  This package includes the Snowflake Connector for Python, which conforms to the Python DB API 2.0 specification:
78
79
  https://www.python.org/dev/peps/pep-0249/
@@ -84,6 +85,27 @@ Source code is also available at: https://github.com/snowflakedb/snowflake-conne
84
85
 
85
86
  # Release Notes
86
87
 
88
+ - v3.7.1(February 21, 2024)
89
+
90
+ - Bumped pandas dependency from >=1.0.0,<2.2.0 to >=1.0.0,<3.0.0.
91
+ - Bumped cryptography dependency from <42.0.0,>=3.1.0 to >=3.1.0,<43.0.0.
92
+ - Bumped pyOpenSSL dependency from >=16.2.0,<24.0.0 to >=16.2.0,<25.0.0.
93
+ - Fixed a memory leak in decimal data conversion.
94
+ - Fixed a bug where `write_pandas` wasn't truncating the target table.
95
+ - Bumped keyring dependency lower bound to 23.1.0 to address security vulnerability.
96
+
97
+ - v3.7.0(January 25,2024)
98
+
99
+ - Added a new boolean parameter `force_return_table` to `SnowflakeCursor.fetch_arrow_all` to force returning `pyarrow.Table` in case of zero rows.
100
+ - Cleanup some C++ code warnings and performance issues.
101
+ - Added support for Python 3.12
102
+ - Make local testing more robust against implicit assumptions.
103
+ - Fixed PyArrow Table type hinting
104
+ - Added support for connecting using an existing connection via the session and master token.
105
+ - Added support for connecting to Snowflake by authenticating with multiple SAML IDP using external browser.
106
+ - Added support for structured types (OBJECT, MAP, ARRAY) to nanoarrow converters.
107
+ - Fixed compilation issue due to missing cstdint header on gcc13.
108
+ - Improved config permissions warning message.
87
109
 
88
110
  - v3.6.0(December 09,2023)
89
111
 
@@ -24,6 +24,7 @@ classifiers =
24
24
  Programming Language :: Python :: 3.9
25
25
  Programming Language :: Python :: 3.10
26
26
  Programming Language :: Python :: 3.11
27
+ Programming Language :: Python :: 3.12
27
28
  Programming Language :: SQL
28
29
  Topic :: Database
29
30
  Topic :: Scientific/Engineering :: Information Analysis
@@ -44,8 +45,8 @@ packages = find_namespace:
44
45
  install_requires =
45
46
  asn1crypto>0.24.0,<2.0.0
46
47
  cffi>=1.9,<2.0.0
47
- cryptography>=3.1.0,<42.0.0
48
- pyOpenSSL>=16.2.0,<24.0.0
48
+ cryptography>=3.1.0,<43.0.0
49
+ pyOpenSSL>=16.2.0,<25.0.0
49
50
  pyjwt<3.0.0
50
51
  pytz
51
52
  requests<3.0.0
@@ -92,10 +93,10 @@ development =
92
93
  pytest-xdist
93
94
  pytzdata
94
95
  pandas =
95
- pandas>=1.0.0,<2.2.0
96
+ pandas>=1.0.0,<3.0.0
96
97
  pyarrow
97
98
  secure-local-storage =
98
- keyring!=16.1.0,<25.0.0
99
+ keyring>=23.1.0,<25.0.0
99
100
 
100
101
  [egg_info]
101
102
  tag_build =
@@ -75,6 +75,8 @@ if _ABLE_TO_COMPILE_EXTENSIONS and not SNOWFLAKE_DISABLE_COMPILE_ARROW_EXTENSION
75
75
  if options["debug"]:
76
76
  ext.extra_compile_args.append("-g")
77
77
  ext.extra_link_args.append("-g")
78
+ ext.extra_compile_args.append("-O0")
79
+ ext.extra_link_args.append("-O0")
78
80
  current_dir = os.getcwd()
79
81
 
80
82
  if ext.name == "snowflake.connector.nanoarrow_arrow_iterator":
@@ -88,51 +90,38 @@ if _ABLE_TO_COMPILE_EXTENSIONS and not SNOWFLAKE_DISABLE_COMPILE_ARROW_EXTENSION
88
90
 
89
91
  ext.sources += [
90
92
  os.path.join(
91
- NANOARROW_ARROW_ITERATOR_SRC_DIR, "CArrowIterator.cpp"
92
- ),
93
- os.path.join(
94
- NANOARROW_ARROW_ITERATOR_SRC_DIR, "CArrowChunkIterator.cpp"
95
- ),
96
- os.path.join(
97
- NANOARROW_ARROW_ITERATOR_SRC_DIR, "CArrowTableIterator.cpp"
98
- ),
99
- os.path.join(NANOARROW_ARROW_ITERATOR_SRC_DIR, "SnowflakeType.cpp"),
100
- os.path.join(
101
- NANOARROW_ARROW_ITERATOR_SRC_DIR, "BinaryConverter.cpp"
102
- ),
103
- os.path.join(
104
- NANOARROW_ARROW_ITERATOR_SRC_DIR, "BooleanConverter.cpp"
105
- ),
106
- os.path.join(
107
- NANOARROW_ARROW_ITERATOR_SRC_DIR, "DecimalConverter.cpp"
108
- ),
109
- os.path.join(NANOARROW_ARROW_ITERATOR_SRC_DIR, "DateConverter.cpp"),
110
- os.path.join(
111
- NANOARROW_ARROW_ITERATOR_SRC_DIR, "FixedSizeListConverter.cpp"
112
- ),
113
- os.path.join(
114
- NANOARROW_ARROW_ITERATOR_SRC_DIR, "FloatConverter.cpp"
115
- ),
116
- os.path.join(NANOARROW_ARROW_ITERATOR_SRC_DIR, "IntConverter.cpp"),
117
- os.path.join(
118
- NANOARROW_ARROW_ITERATOR_SRC_DIR, "StringConverter.cpp"
119
- ),
120
- os.path.join(NANOARROW_ARROW_ITERATOR_SRC_DIR, "TimeConverter.cpp"),
121
- os.path.join(
122
- NANOARROW_ARROW_ITERATOR_SRC_DIR, "TimeStampConverter.cpp"
123
- ),
124
- os.path.join(
125
- NANOARROW_ARROW_ITERATOR_SRC_DIR, "Python", "Common.cpp"
126
- ),
127
- os.path.join(
128
- NANOARROW_ARROW_ITERATOR_SRC_DIR, "Python", "Helpers.cpp"
129
- ),
130
- os.path.join(NANOARROW_ARROW_ITERATOR_SRC_DIR, "Util", "time.cpp"),
131
- NANOARROW_LOGGING_SRC_DIR + "/logging.cpp",
132
- os.path.join(NANOARROW_ARROW_ITERATOR_SRC_DIR, "nanoarrow.c"),
133
- os.path.join(NANOARROW_ARROW_ITERATOR_SRC_DIR, "nanoarrow_ipc.c"),
134
- os.path.join(NANOARROW_ARROW_ITERATOR_SRC_DIR, "flatcc.c"),
93
+ NANOARROW_ARROW_ITERATOR_SRC_DIR,
94
+ *((file,) if isinstance(file, str) else file)
95
+ )
96
+ for file in {
97
+ "ArrayConverter.cpp",
98
+ "BinaryConverter.cpp",
99
+ "BooleanConverter.cpp",
100
+ "CArrowChunkIterator.cpp",
101
+ "CArrowIterator.cpp",
102
+ "CArrowTableIterator.cpp",
103
+ "DateConverter.cpp",
104
+ "DecimalConverter.cpp",
105
+ "FixedSizeListConverter.cpp",
106
+ "FloatConverter.cpp",
107
+ "IntConverter.cpp",
108
+ "MapConverter.cpp",
109
+ "ObjectConverter.cpp",
110
+ "SnowflakeType.cpp",
111
+ "StringConverter.cpp",
112
+ "TimeConverter.cpp",
113
+ "TimeStampConverter.cpp",
114
+ "flatcc.c",
115
+ "nanoarrow.c",
116
+ "nanoarrow_ipc.c",
117
+ ("Python", "Common.cpp"),
118
+ ("Python", "Helpers.cpp"),
119
+ ("Util", "time.cpp"),
120
+ }
135
121
  ]
122
+ ext.sources.append(
123
+ os.path.join(NANOARROW_LOGGING_SRC_DIR, "logging.cpp")
124
+ )
136
125
  ext.include_dirs.append(NANOARROW_ARROW_ITERATOR_SRC_DIR)
137
126
  ext.include_dirs.append(NANOARROW_LOGGING_SRC_DIR)
138
127
 
@@ -7,7 +7,7 @@ from __future__ import annotations
7
7
 
8
8
  import decimal
9
9
  import time
10
- from datetime import datetime, timedelta, tzinfo
10
+ from datetime import datetime, timedelta, timezone, tzinfo
11
11
  from logging import getLogger
12
12
  from sys import byteorder
13
13
  from typing import TYPE_CHECKING
@@ -33,7 +33,7 @@ try:
33
33
  except ImportError:
34
34
  tzlocal = None
35
35
 
36
- ZERO_EPOCH = datetime.utcfromtimestamp(0)
36
+ ZERO_EPOCH = datetime.fromtimestamp(0, timezone.utc).replace(tzinfo=None)
37
37
 
38
38
  logger = getLogger(__name__)
39
39
 
@@ -99,7 +99,9 @@ class ArrowConverterContext:
99
99
  return t.replace(tzinfo=tzinfo)
100
100
 
101
101
  def TIMESTAMP_NTZ_to_python(self, epoch: int, microseconds: int) -> datetime:
102
- return datetime.utcfromtimestamp(epoch) + timedelta(microseconds=microseconds)
102
+ return datetime.fromtimestamp(epoch, timezone.utc).replace(
103
+ tzinfo=None
104
+ ) + timedelta(microseconds=microseconds)
103
105
 
104
106
  def TIMESTAMP_NTZ_to_python_windows(
105
107
  self, epoch: int, microseconds: int
@@ -11,7 +11,7 @@ import logging
11
11
  import tempfile
12
12
  import time
13
13
  import uuid
14
- from datetime import datetime
14
+ from datetime import datetime, timezone
15
15
  from os import getenv, makedirs, mkdir, path, remove, removedirs, rmdir
16
16
  from os.path import expanduser
17
17
  from threading import Lock, Thread
@@ -392,7 +392,7 @@ class Auth:
392
392
  "Token expires at: %s. "
393
393
  "Current Time: %s",
394
394
  str(auth_instance._jwt_token_exp),
395
- str(datetime.utcnow()),
395
+ str(datetime.now(timezone.utc).replace(tzinfo=None)),
396
396
  )
397
397
  from . import AuthByUsrPwdMfa
398
398
 
@@ -8,7 +8,7 @@ from __future__ import annotations
8
8
  import base64
9
9
  import hashlib
10
10
  import os
11
- from datetime import datetime, timedelta
11
+ from datetime import datetime, timedelta, timezone
12
12
  from logging import getLogger
13
13
  from typing import Any
14
14
 
@@ -103,7 +103,7 @@ class AuthByKeyPair(AuthByPlugin):
103
103
  account = account.upper()
104
104
  user = user.upper()
105
105
 
106
- now = datetime.utcnow()
106
+ now = datetime.now(timezone.utc).replace(tzinfo=None)
107
107
 
108
108
  if isinstance(self._private_key, bytes):
109
109
  try:
@@ -5,16 +5,18 @@
5
5
 
6
6
  from __future__ import annotations
7
7
 
8
+ import base64
8
9
  import json
9
10
  import logging
10
11
  import os
12
+ import secrets
11
13
  import socket
12
14
  import time
13
15
  import webbrowser
14
16
  from types import ModuleType
15
17
  from typing import TYPE_CHECKING, Any
16
18
 
17
- from ..compat import parse_qs, urlparse, urlsplit
19
+ from ..compat import parse_qs, urlencode, urlparse, urlsplit
18
20
  from ..constants import (
19
21
  HTTP_HEADER_ACCEPT,
20
22
  HTTP_HEADER_CONTENT_TYPE,
@@ -134,10 +136,14 @@ class AuthByWebBrowser(AuthByPlugin):
134
136
  socket_connection.listen(0) # no backlog
135
137
  callback_port = socket_connection.getsockname()[1]
136
138
 
137
- logger.debug("step 1: query GS to obtain SSO url")
138
- sso_url = self._get_sso_url(
139
- conn, authenticator, service_name, account, callback_port, user
140
- )
139
+ if conn._disable_console_login:
140
+ logger.debug("step 1: query GS to obtain SSO url")
141
+ sso_url = self._get_sso_url(
142
+ conn, authenticator, service_name, account, callback_port, user
143
+ )
144
+ else:
145
+ logger.debug("step 1: constructing console login url")
146
+ sso_url = self._get_console_login_url(conn, callback_port, user)
141
147
 
142
148
  logger.debug("Validate SSO URL")
143
149
  if not is_valid_url(sso_url):
@@ -274,15 +280,13 @@ class AuthByWebBrowser(AuthByPlugin):
274
280
  content.append(f"Access-Control-Allow-Origin: {self._origin}")
275
281
  content.append("Vary: Accept-Encoding, Origin")
276
282
  else:
277
- msg = """
283
+ msg = f"""
278
284
  <!DOCTYPE html><html><head><meta charset="UTF-8"/>
279
285
  <title>SAML Response for Snowflake</title></head>
280
286
  <body>
281
- Your identity was confirmed and propagated to Snowflake {}.
287
+ Your identity was confirmed and propagated to Snowflake {self._application}.
282
288
  You can close this window now and go back where you started from.
283
- </body></html>""".format(
284
- self._application
285
- )
289
+ </body></html>"""
286
290
  content.append(f"Content-Length: {len(msg)}")
287
291
  content.append("")
288
292
  content.append(msg)
@@ -415,3 +419,21 @@ You can close this window now and go back where you started from.
415
419
  sso_url = data["ssoUrl"]
416
420
  self._proof_key = data["proofKey"]
417
421
  return sso_url
422
+
423
+ def _get_console_login_url(
424
+ self, conn: SnowflakeConnection, port: int, user: str
425
+ ) -> str:
426
+ self._proof_key = base64.b64encode(secrets.token_bytes(32)).decode("ascii")
427
+ url = (
428
+ conn._rest.server_url
429
+ + "/console/login?"
430
+ + urlencode(
431
+ {
432
+ "login_name": user,
433
+ "browser_mode_redirect_port": port,
434
+ "proof_key": self._proof_key,
435
+ }
436
+ )
437
+ )
438
+ logger.debug(f"Console Log In URL: {url}")
439
+ return url
@@ -7,7 +7,7 @@ from __future__ import annotations
7
7
  import json
8
8
  import os
9
9
  import xml.etree.ElementTree as ET
10
- from datetime import datetime
10
+ from datetime import datetime, timezone
11
11
  from logging import getLogger
12
12
  from random import choice
13
13
  from string import hexdigits
@@ -90,7 +90,7 @@ class SnowflakeAzureRestClient(SnowflakeStorageClient):
90
90
  headers = {}
91
91
 
92
92
  def generate_authenticated_url_and_rest_args() -> tuple[bytes, dict[str, Any]]:
93
- curtime = datetime.utcnow()
93
+ curtime = datetime.now(timezone.utc).replace(tzinfo=None)
94
94
  timestamp = curtime.strftime("YYYY-MM-DD")
95
95
  sas_token = self.credentials.creds["AZURE_SAS_TOKEN"]
96
96
  if sas_token and sas_token.startswith("?"):
@@ -336,7 +336,7 @@ class ConfigManager:
336
336
  ):
337
337
  # for non-Windows, suggest change to 0600 permissions.
338
338
  chmod_message = (
339
- f". To change owner, run `chown $USER {str(filep)}`. To restrict permissions, run `chmod 0600 {str(filep)}`."
339
+ f'.\n * To change owner, run `chown $USER "{str(filep)}"`.\n * To restrict permissions, run `chmod 0600 "{str(filep)}"`.\n'
340
340
  if not IS_WINDOWS
341
341
  else ""
342
342
  )