snowflake-connector-python 3.8.0__tar.gz → 3.9.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 (236) hide show
  1. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/DESCRIPTION.md +9 -0
  2. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/PKG-INFO +10 -1
  3. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/__init__.py +2 -0
  4. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/connection.py +4 -0
  5. snowflake_connector_python-3.9.0/src/snowflake/connector/log_configuration.py +65 -0
  6. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/pandas_tools.py +7 -8
  7. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/s3_storage_client.py +4 -0
  8. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/version.py +1 -1
  9. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake_connector_python.egg-info/PKG-INFO +10 -1
  10. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake_connector_python.egg-info/SOURCES.txt +1 -0
  11. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/CONTRIBUTING.md +0 -0
  12. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/LICENSE.txt +0 -0
  13. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/MANIFEST.in +0 -0
  14. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/NOTICE +0 -0
  15. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/README.md +0 -0
  16. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/SECURITY.md +0 -0
  17. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/pyproject.toml +0 -0
  18. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/setup.cfg +0 -0
  19. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/setup.py +0 -0
  20. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/_query_context_cache.py +0 -0
  21. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/_sql_util.py +0 -0
  22. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/arrow_context.py +0 -0
  23. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/auth/__init__.py +0 -0
  24. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/auth/_auth.py +0 -0
  25. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/auth/by_plugin.py +0 -0
  26. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/auth/default.py +0 -0
  27. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/auth/idtoken.py +0 -0
  28. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/auth/keypair.py +0 -0
  29. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/auth/oauth.py +0 -0
  30. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/auth/okta.py +0 -0
  31. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/auth/usrpwdmfa.py +0 -0
  32. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/auth/webbrowser.py +0 -0
  33. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/azure_storage_client.py +0 -0
  34. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/backoff_policies.py +0 -0
  35. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/bind_upload_agent.py +0 -0
  36. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/cache.py +0 -0
  37. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/compat.py +0 -0
  38. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/config_manager.py +0 -0
  39. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/connection_diagnostic.py +0 -0
  40. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/constants.py +0 -0
  41. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/converter.py +0 -0
  42. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/converter_issue23517.py +0 -0
  43. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/converter_null.py +0 -0
  44. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/converter_snowsql.py +0 -0
  45. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/cursor.py +0 -0
  46. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/dbapi.py +0 -0
  47. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/description.py +0 -0
  48. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/encryption_util.py +0 -0
  49. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/errorcode.py +0 -0
  50. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/errors.py +0 -0
  51. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/feature.py +0 -0
  52. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/file_compression_type.py +0 -0
  53. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/file_transfer_agent.py +0 -0
  54. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/file_util.py +0 -0
  55. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/gcs_storage_client.py +0 -0
  56. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/gzip_decoder.py +0 -0
  57. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/local_storage_client.py +0 -0
  58. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/ArrayConverter.cpp +0 -0
  59. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/ArrayConverter.hpp +0 -0
  60. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BinaryConverter.cpp +0 -0
  61. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BinaryConverter.hpp +0 -0
  62. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BooleanConverter.cpp +0 -0
  63. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BooleanConverter.hpp +0 -0
  64. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowChunkIterator.cpp +0 -0
  65. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowChunkIterator.hpp +0 -0
  66. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowIterator.cpp +0 -0
  67. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowIterator.hpp +0 -0
  68. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowTableIterator.cpp +0 -0
  69. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowTableIterator.hpp +0 -0
  70. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DateConverter.cpp +0 -0
  71. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DateConverter.hpp +0 -0
  72. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DecimalConverter.cpp +0 -0
  73. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DecimalConverter.hpp +0 -0
  74. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FixedSizeListConverter.cpp +0 -0
  75. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FixedSizeListConverter.hpp +0 -0
  76. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FloatConverter.cpp +0 -0
  77. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FloatConverter.hpp +0 -0
  78. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/IColumnConverter.hpp +0 -0
  79. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/IntConverter.cpp +0 -0
  80. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/IntConverter.hpp +0 -0
  81. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/LICENSE.txt +0 -0
  82. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/MapConverter.cpp +0 -0
  83. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/MapConverter.hpp +0 -0
  84. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/ObjectConverter.cpp +0 -0
  85. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/ObjectConverter.hpp +0 -0
  86. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Common.cpp +0 -0
  87. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Common.hpp +0 -0
  88. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Helpers.cpp +0 -0
  89. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Helpers.hpp +0 -0
  90. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/SnowflakeType.cpp +0 -0
  91. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/SnowflakeType.hpp +0 -0
  92. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/StringConverter.cpp +0 -0
  93. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/StringConverter.hpp +0 -0
  94. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeConverter.cpp +0 -0
  95. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeConverter.hpp +0 -0
  96. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeStampConverter.cpp +0 -0
  97. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeStampConverter.hpp +0 -0
  98. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/macros.hpp +0 -0
  99. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/time.cpp +0 -0
  100. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/time.hpp +0 -0
  101. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_accessors.h +0 -0
  102. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_alloc.h +0 -0
  103. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_assert.h +0 -0
  104. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_builder.h +0 -0
  105. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_emitter.h +0 -0
  106. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_endian.h +0 -0
  107. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_epilogue.h +0 -0
  108. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_flatbuffers.h +0 -0
  109. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_identifier.h +0 -0
  110. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_iov.h +0 -0
  111. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_prologue.h +0 -0
  112. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_refmap.h +0 -0
  113. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_rtconfig.h +0 -0
  114. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_types.h +0 -0
  115. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_verifier.h +0 -0
  116. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/flatcc_portable.h +0 -0
  117. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/paligned_alloc.h +0 -0
  118. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pattributes.h +0 -0
  119. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pdiagnostic.h +0 -0
  120. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pdiagnostic_pop.h +0 -0
  121. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pdiagnostic_push.h +0 -0
  122. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pendian.h +0 -0
  123. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pendian_detect.h +0 -0
  124. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pinline.h +0 -0
  125. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pinttypes.h +0 -0
  126. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/portable.h +0 -0
  127. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/portable_basic.h +0 -0
  128. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstatic_assert.h +0 -0
  129. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstdalign.h +0 -0
  130. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstdint.h +0 -0
  131. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/punaligned.h +0 -0
  132. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pversion.h +0 -0
  133. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pwarnings.h +0 -0
  134. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc.c +0 -0
  135. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow.c +0 -0
  136. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow.h +0 -0
  137. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow.hpp +0 -0
  138. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_arrow_iterator.pyx +0 -0
  139. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_device.c +0 -0
  140. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_device.h +0 -0
  141. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.c +0 -0
  142. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.h +0 -0
  143. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/Logging/logging.cpp +0 -0
  144. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/nanoarrow_cpp/Logging/logging.hpp +0 -0
  145. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/network.py +0 -0
  146. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/ocsp_asn1crypto.py +0 -0
  147. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/ocsp_snowflake.py +0 -0
  148. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/options.py +0 -0
  149. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/proxy.py +0 -0
  150. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/py.typed +0 -0
  151. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/result_batch.py +0 -0
  152. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/result_set.py +0 -0
  153. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/secret_detector.py +0 -0
  154. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/sf_dirs.py +0 -0
  155. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/sfbinaryformat.py +0 -0
  156. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/sfdatetime.py +0 -0
  157. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/snow_logging.py +0 -0
  158. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/sqlstate.py +0 -0
  159. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/ssd_internal_keys.py +0 -0
  160. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/ssl_wrap_socket.py +0 -0
  161. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/storage_client.py +0 -0
  162. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/telemetry.py +0 -0
  163. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/telemetry_oob.py +0 -0
  164. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/test_util.py +0 -0
  165. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/time_util.py +0 -0
  166. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/tool/__init__.py +0 -0
  167. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/tool/dump_certs.py +0 -0
  168. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/tool/dump_ocsp_response.py +0 -0
  169. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/tool/dump_ocsp_response_cache.py +0 -0
  170. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/tool/probe_connection.py +0 -0
  171. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/url_util.py +0 -0
  172. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/util_text.py +0 -0
  173. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/__init__.py +0 -0
  174. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/LICENSE +0 -0
  175. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/__init__.py +0 -0
  176. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/__version__.py +0 -0
  177. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/_internal_utils.py +0 -0
  178. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/adapters.py +0 -0
  179. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/api.py +0 -0
  180. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/auth.py +0 -0
  181. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/certs.py +0 -0
  182. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/compat.py +0 -0
  183. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/cookies.py +0 -0
  184. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/exceptions.py +0 -0
  185. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/help.py +0 -0
  186. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/hooks.py +0 -0
  187. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/models.py +0 -0
  188. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/sessions.py +0 -0
  189. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/status_codes.py +0 -0
  190. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/structures.py +0 -0
  191. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/requests/utils.py +0 -0
  192. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/LICENSE.txt +0 -0
  193. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/__init__.py +0 -0
  194. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/_collections.py +0 -0
  195. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/_version.py +0 -0
  196. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/connection.py +0 -0
  197. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/connectionpool.py +0 -0
  198. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/contrib/__init__.py +0 -0
  199. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/contrib/_appengine_environ.py +0 -0
  200. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/contrib/_securetransport/__init__.py +0 -0
  201. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/contrib/_securetransport/bindings.py +0 -0
  202. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/contrib/_securetransport/low_level.py +0 -0
  203. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/contrib/appengine.py +0 -0
  204. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/contrib/ntlmpool.py +0 -0
  205. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/contrib/pyopenssl.py +0 -0
  206. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/contrib/securetransport.py +0 -0
  207. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/contrib/socks.py +0 -0
  208. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/exceptions.py +0 -0
  209. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/fields.py +0 -0
  210. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/filepost.py +0 -0
  211. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/packages/__init__.py +0 -0
  212. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/packages/backports/__init__.py +0 -0
  213. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/packages/backports/makefile.py +0 -0
  214. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/packages/backports/weakref_finalize.py +0 -0
  215. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/packages/six.py +0 -0
  216. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/poolmanager.py +0 -0
  217. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/request.py +0 -0
  218. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/response.py +0 -0
  219. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/util/__init__.py +0 -0
  220. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/util/connection.py +0 -0
  221. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/util/proxy.py +0 -0
  222. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/util/queue.py +0 -0
  223. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/util/request.py +0 -0
  224. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/util/response.py +0 -0
  225. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/util/retry.py +0 -0
  226. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/util/ssl_.py +0 -0
  227. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/util/ssl_match_hostname.py +0 -0
  228. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/util/ssltransport.py +0 -0
  229. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/util/timeout.py +0 -0
  230. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/util/url.py +0 -0
  231. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake/connector/vendored/urllib3/util/wait.py +0 -0
  232. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake_connector_python.egg-info/dependency_links.txt +0 -0
  233. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake_connector_python.egg-info/entry_points.txt +0 -0
  234. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake_connector_python.egg-info/not-zip-safe +0 -0
  235. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake_connector_python.egg-info/requires.txt +0 -0
  236. {snowflake-connector-python-3.8.0 → snowflake_connector_python-3.9.0}/src/snowflake_connector_python.egg-info/top_level.txt +0 -0
@@ -8,6 +8,15 @@ Source code is also available at: https://github.com/snowflakedb/snowflake-conne
8
8
 
9
9
  # Release Notes
10
10
 
11
+ - v3.9.0(April 20,2024)
12
+
13
+ - Added easy logging configuration so that users can easily generate log file by setup log config in `$SNOWFLAKE_HOME/config.toml`.
14
+ - Improved s3 acceleration logic when connecting to China endpoint.
15
+
16
+ - v3.8.1(April 09, 2024)
17
+
18
+ - Reverted the change "Updated `write_pandas` to skip TABLE IF NOT EXISTS in truncate mode." introduced in v3.8.0 (yanked) as it's a breaking change. `write_pandas` will be fixed in the future in a non-breaking way.
19
+
11
20
  - v3.8.0(April 04,2024)
12
21
 
13
22
  - Improved `externalbrowser` auth in containerized environments
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: snowflake-connector-python
3
- Version: 3.8.0
3
+ Version: 3.9.0
4
4
  Summary: Snowflake Connector for Python
5
5
  Home-page: https://www.snowflake.com/
6
6
  Author: Snowflake, Inc
@@ -85,6 +85,15 @@ Source code is also available at: https://github.com/snowflakedb/snowflake-conne
85
85
 
86
86
  # Release Notes
87
87
 
88
+ - v3.9.0(April 20,2024)
89
+
90
+ - Added easy logging configuration so that users can easily generate log file by setup log config in `$SNOWFLAKE_HOME/config.toml`.
91
+ - Improved s3 acceleration logic when connecting to China endpoint.
92
+
93
+ - v3.8.1(April 09, 2024)
94
+
95
+ - Reverted the change "Updated `write_pandas` to skip TABLE IF NOT EXISTS in truncate mode." introduced in v3.8.0 (yanked) as it's a breaking change. `write_pandas` will be fixed in the future in a non-breaking way.
96
+
88
97
  - v3.8.0(April 04,2024)
89
98
 
90
99
  - Improved `externalbrowser` auth in containerized environments
@@ -44,6 +44,7 @@ from .errors import (
44
44
  ProgrammingError,
45
45
  _Warning,
46
46
  )
47
+ from .log_configuration import EasyLoggingConfigPython
47
48
  from .version import VERSION
48
49
 
49
50
  logging.getLogger(__name__).addHandler(NullHandler())
@@ -92,4 +93,5 @@ __all__ = [
92
93
  "DATETIME",
93
94
  "ROWID",
94
95
  # Extended data type (experimental)
96
+ "EasyLoggingConfigPython",
95
97
  ]
@@ -92,6 +92,7 @@ from .errorcode import (
92
92
  ER_NOT_IMPLICITY_SNOWFLAKE_DATATYPE,
93
93
  )
94
94
  from .errors import DatabaseError, Error, OperationalError, ProgrammingError
95
+ from .log_configuration import EasyLoggingConfigPython
95
96
  from .network import (
96
97
  DEFAULT_AUTHENTICATOR,
97
98
  EXTERNAL_BROWSER_AUTHENTICATOR,
@@ -383,6 +384,9 @@ class SnowflakeConnection:
383
384
  If overwriting values from the default connection is desirable, supply
384
385
  the name explicitly.
385
386
  """
387
+ # initiate easy logging during every connection
388
+ easy_logging = EasyLoggingConfigPython()
389
+ easy_logging.create_log()
386
390
  self._lock_sequence_counter = Lock()
387
391
  self.sequence_counter = 0
388
392
  self._errorhandler = Error.default_errorhandler
@@ -0,0 +1,65 @@
1
+ #
2
+ # Copyright (c) 2012-2023 Snowflake Computing Inc. All rights reserved.
3
+ #
4
+
5
+
6
+ from __future__ import annotations
7
+
8
+ import logging
9
+ import os
10
+ from logging.handlers import TimedRotatingFileHandler
11
+
12
+ from snowflake.connector.config_manager import CONFIG_MANAGER
13
+ from snowflake.connector.constants import DIRS
14
+ from snowflake.connector.secret_detector import SecretDetector
15
+
16
+ LOG_FILE_NAME = "python-connector.log"
17
+
18
+
19
+ class EasyLoggingConfigPython:
20
+ def __init__(self):
21
+ self.path: str | None = None
22
+ self.level: str | None = None
23
+ self.save_logs: bool = False
24
+ self.parse_config_file()
25
+
26
+ def parse_config_file(self):
27
+ CONFIG_MANAGER.read_config()
28
+ data = CONFIG_MANAGER.conf_file_cache
29
+ if log := data.get("log"):
30
+ self.save_logs = log.get("save_logs", False)
31
+ self.level = log.get("level", "INFO")
32
+ self.path = log.get("path", os.path.join(DIRS.user_config_path, "logs"))
33
+
34
+ if not os.path.isabs(self.path):
35
+ raise FileNotFoundError(
36
+ f"Log path must be an absolute file path: {self.path}"
37
+ )
38
+ # if log path does not exist, create it, else check accessibility
39
+ if not os.path.exists(self.path):
40
+ os.makedirs(self.path, exist_ok=True)
41
+ elif not os.access(self.path, os.R_OK | os.W_OK):
42
+ raise PermissionError(
43
+ f"log path: {self.path} is not accessible, please verify your config file"
44
+ )
45
+
46
+ # create_log() is called outside __init__() so that it can be easily turned off
47
+ def create_log(self):
48
+ if self.save_logs:
49
+ logging.basicConfig(
50
+ filename=os.path.join(self.path, LOG_FILE_NAME),
51
+ level=logging.getLevelName(self.level),
52
+ )
53
+ for logger_name in ["snowflake.connector", "botocore", "boto3"]:
54
+ logger = logging.getLogger(logger_name)
55
+ logger.setLevel(logging.getLevelName(self.level))
56
+ ch = TimedRotatingFileHandler(
57
+ os.path.join(self.path, LOG_FILE_NAME), when="midnight"
58
+ )
59
+ ch.setLevel(logging.getLevelName(self.level))
60
+ ch.setFormatter(
61
+ SecretDetector(
62
+ "%(asctime)s - %(threadName)s %(filename)s:%(lineno)d - %(funcName)s() - %(levelname)s - %(message)s"
63
+ )
64
+ )
65
+ logger.addHandler(ch)
@@ -393,14 +393,13 @@ def write_pandas(
393
393
  quote_identifiers,
394
394
  )
395
395
 
396
- if auto_create_table:
397
- create_table_sql = (
398
- f"CREATE {table_type.upper()} TABLE IF NOT EXISTS {target_table_location} "
399
- f"({create_table_columns})"
400
- f" /* Python:snowflake.connector.pandas_tools.write_pandas() */ "
401
- )
402
- logger.debug(f"auto creating table with '{create_table_sql}'")
403
- cursor.execute(create_table_sql, _is_internal=True)
396
+ create_table_sql = (
397
+ f"CREATE {table_type.upper()} TABLE IF NOT EXISTS {target_table_location} "
398
+ f"({create_table_columns})"
399
+ f" /* Python:snowflake.connector.pandas_tools.write_pandas() */ "
400
+ )
401
+ logger.debug(f"auto creating table with '{create_table_sql}'")
402
+ cursor.execute(create_table_sql, _is_internal=True)
404
403
  # need explicit casting when the underlying table schema is inferred
405
404
  parquet_columns = "$1:" + ",$1:".join(
406
405
  f"{quote}{snowflake_col}{quote}::{column_type_mapping[col]}"
@@ -80,6 +80,7 @@ class SnowflakeS3RestClient(SnowflakeStorageClient):
80
80
  )
81
81
  )
82
82
  self.use_s3_regional_url = use_s3_regional_url
83
+ self.location_type = stage_info.get("locationType")
83
84
 
84
85
  # if GS sends us an endpoint, it's likely for FIPS. Use it.
85
86
  self.endpoint: str | None = None
@@ -92,6 +93,9 @@ class SnowflakeS3RestClient(SnowflakeStorageClient):
92
93
  def transfer_accelerate_config(
93
94
  self, use_accelerate_endpoint: bool | None = None
94
95
  ) -> bool:
96
+ # accelerate cannot be used in China and us government
97
+ if self.location_type and "S3China" in self.location_type:
98
+ return False
95
99
  # if self.endpoint has been set, e.g. by metadata, no more config is needed.
96
100
  if self.endpoint is not None:
97
101
  return self.endpoint.find("s3-accelerate.amazonaws.com") >= 0
@@ -1,3 +1,3 @@
1
1
  # Update this for the versions
2
2
  # Don't change the forth version number from None
3
- VERSION = (3, 8, 0, None)
3
+ VERSION = (3, 9, 0, None)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: snowflake-connector-python
3
- Version: 3.8.0
3
+ Version: 3.9.0
4
4
  Summary: Snowflake Connector for Python
5
5
  Home-page: https://www.snowflake.com/
6
6
  Author: Snowflake, Inc
@@ -85,6 +85,15 @@ Source code is also available at: https://github.com/snowflakedb/snowflake-conne
85
85
 
86
86
  # Release Notes
87
87
 
88
+ - v3.9.0(April 20,2024)
89
+
90
+ - Added easy logging configuration so that users can easily generate log file by setup log config in `$SNOWFLAKE_HOME/config.toml`.
91
+ - Improved s3 acceleration logic when connecting to China endpoint.
92
+
93
+ - v3.8.1(April 09, 2024)
94
+
95
+ - Reverted the change "Updated `write_pandas` to skip TABLE IF NOT EXISTS in truncate mode." introduced in v3.8.0 (yanked) as it's a breaking change. `write_pandas` will be fixed in the future in a non-breaking way.
96
+
88
97
  - v3.8.0(April 04,2024)
89
98
 
90
99
  - Improved `externalbrowser` auth in containerized environments
@@ -38,6 +38,7 @@ src/snowflake/connector/file_util.py
38
38
  src/snowflake/connector/gcs_storage_client.py
39
39
  src/snowflake/connector/gzip_decoder.py
40
40
  src/snowflake/connector/local_storage_client.py
41
+ src/snowflake/connector/log_configuration.py
41
42
  src/snowflake/connector/network.py
42
43
  src/snowflake/connector/ocsp_asn1crypto.py
43
44
  src/snowflake/connector/ocsp_snowflake.py