snowflake-connector-python 3.8.1__tar.gz → 3.9.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.
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/DESCRIPTION.md +9 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/PKG-INFO +10 -1
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/__init__.py +2 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/connection.py +4 -0
- snowflake_connector_python-3.9.1/src/snowflake/connector/log_configuration.py +65 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/s3_storage_client.py +6 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/version.py +1 -1
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake_connector_python.egg-info/PKG-INFO +10 -1
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake_connector_python.egg-info/SOURCES.txt +1 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/CONTRIBUTING.md +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/LICENSE.txt +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/MANIFEST.in +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/NOTICE +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/README.md +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/SECURITY.md +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/pyproject.toml +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/setup.cfg +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/setup.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/_query_context_cache.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/_sql_util.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/arrow_context.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/auth/__init__.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/auth/_auth.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/auth/by_plugin.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/auth/default.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/auth/idtoken.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/auth/keypair.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/auth/oauth.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/auth/okta.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/auth/usrpwdmfa.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/auth/webbrowser.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/azure_storage_client.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/backoff_policies.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/bind_upload_agent.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/cache.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/compat.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/config_manager.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/connection_diagnostic.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/constants.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/converter.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/converter_issue23517.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/converter_null.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/converter_snowsql.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/cursor.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/dbapi.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/description.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/encryption_util.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/errorcode.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/errors.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/feature.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/file_compression_type.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/file_transfer_agent.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/file_util.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/gcs_storage_client.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/gzip_decoder.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/local_storage_client.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/ArrayConverter.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/ArrayConverter.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BinaryConverter.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BinaryConverter.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BooleanConverter.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BooleanConverter.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowChunkIterator.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowChunkIterator.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowIterator.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowIterator.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowTableIterator.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowTableIterator.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DateConverter.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DateConverter.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DecimalConverter.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DecimalConverter.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FixedSizeListConverter.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FixedSizeListConverter.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FloatConverter.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FloatConverter.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/IColumnConverter.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/IntConverter.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/IntConverter.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/LICENSE.txt +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/MapConverter.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/MapConverter.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/ObjectConverter.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/ObjectConverter.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Common.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Common.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Helpers.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Helpers.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/SnowflakeType.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/SnowflakeType.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/StringConverter.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/StringConverter.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeConverter.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeConverter.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeStampConverter.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeStampConverter.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/macros.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/time.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/time.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_accessors.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_alloc.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_assert.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_builder.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_emitter.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_endian.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_epilogue.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_flatbuffers.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_identifier.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_iov.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_prologue.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_refmap.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_rtconfig.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_types.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_verifier.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/flatcc_portable.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/paligned_alloc.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pattributes.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pdiagnostic.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pdiagnostic_pop.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pdiagnostic_push.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pendian.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pendian_detect.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pinline.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pinttypes.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/portable.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/portable_basic.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstatic_assert.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstdalign.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstdint.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/punaligned.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pversion.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pwarnings.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc.c +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow.c +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_arrow_iterator.pyx +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_device.c +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_device.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.c +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.h +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/Logging/logging.cpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/nanoarrow_cpp/Logging/logging.hpp +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/network.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/ocsp_asn1crypto.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/ocsp_snowflake.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/options.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/pandas_tools.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/proxy.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/py.typed +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/result_batch.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/result_set.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/secret_detector.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/sf_dirs.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/sfbinaryformat.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/sfdatetime.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/snow_logging.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/sqlstate.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/ssd_internal_keys.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/ssl_wrap_socket.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/storage_client.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/telemetry.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/telemetry_oob.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/test_util.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/time_util.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/tool/__init__.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/tool/dump_certs.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/tool/dump_ocsp_response.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/tool/dump_ocsp_response_cache.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/tool/probe_connection.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/url_util.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/util_text.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/__init__.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/LICENSE +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/__init__.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/__version__.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/_internal_utils.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/adapters.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/api.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/auth.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/certs.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/compat.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/cookies.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/exceptions.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/help.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/hooks.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/models.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/sessions.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/status_codes.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/structures.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/requests/utils.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/LICENSE.txt +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/__init__.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/_collections.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/_version.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/connection.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/connectionpool.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/contrib/__init__.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/contrib/_appengine_environ.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/contrib/_securetransport/__init__.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/contrib/_securetransport/bindings.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/contrib/_securetransport/low_level.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/contrib/appengine.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/contrib/ntlmpool.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/contrib/pyopenssl.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/contrib/securetransport.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/contrib/socks.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/exceptions.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/fields.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/filepost.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/packages/__init__.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/packages/backports/__init__.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/packages/backports/makefile.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/packages/backports/weakref_finalize.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/packages/six.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/poolmanager.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/request.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/response.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/util/__init__.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/util/connection.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/util/proxy.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/util/queue.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/util/request.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/util/response.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/util/retry.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/util/ssl_.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/util/ssl_match_hostname.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/util/ssltransport.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/util/timeout.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/util/url.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake/connector/vendored/urllib3/util/wait.py +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake_connector_python.egg-info/dependency_links.txt +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake_connector_python.egg-info/entry_points.txt +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake_connector_python.egg-info/not-zip-safe +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/src/snowflake_connector_python.egg-info/requires.txt +0 -0
- {snowflake-connector-python-3.8.1 → snowflake_connector_python-3.9.1}/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.1(April 22,2024)
|
|
12
|
+
|
|
13
|
+
- Fixed an issue that caused a HTTP 400 error when connecting to a China endpoint.
|
|
14
|
+
|
|
15
|
+
- v3.9.0(April 20,2024)
|
|
16
|
+
|
|
17
|
+
- Added easy logging configuration so that users can easily generate log file by setup log config in `$SNOWFLAKE_HOME/config.toml`.
|
|
18
|
+
- Improved s3 acceleration logic when connecting to China endpoint.
|
|
19
|
+
|
|
11
20
|
- v3.8.1(April 09, 2024)
|
|
12
21
|
|
|
13
22
|
- 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.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: snowflake-connector-python
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.9.1
|
|
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.1(April 22,2024)
|
|
89
|
+
|
|
90
|
+
- Fixed an issue that caused a HTTP 400 error when connecting to a China endpoint.
|
|
91
|
+
|
|
92
|
+
- v3.9.0(April 20,2024)
|
|
93
|
+
|
|
94
|
+
- Added easy logging configuration so that users can easily generate log file by setup log config in `$SNOWFLAKE_HOME/config.toml`.
|
|
95
|
+
- Improved s3 acceleration logic when connecting to China endpoint.
|
|
96
|
+
|
|
88
97
|
- v3.8.1(April 09, 2024)
|
|
89
98
|
|
|
90
99
|
- 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.
|
|
@@ -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)
|
|
@@ -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,11 @@ 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".lower() in self.location_type.lower()) or (
|
|
98
|
+
self.region_name and self.region_name.startswith("cn-")
|
|
99
|
+
):
|
|
100
|
+
return False
|
|
95
101
|
# if self.endpoint has been set, e.g. by metadata, no more config is needed.
|
|
96
102
|
if self.endpoint is not None:
|
|
97
103
|
return self.endpoint.find("s3-accelerate.amazonaws.com") >= 0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: snowflake-connector-python
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.9.1
|
|
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.1(April 22,2024)
|
|
89
|
+
|
|
90
|
+
- Fixed an issue that caused a HTTP 400 error when connecting to a China endpoint.
|
|
91
|
+
|
|
92
|
+
- v3.9.0(April 20,2024)
|
|
93
|
+
|
|
94
|
+
- Added easy logging configuration so that users can easily generate log file by setup log config in `$SNOWFLAKE_HOME/config.toml`.
|
|
95
|
+
- Improved s3 acceleration logic when connecting to China endpoint.
|
|
96
|
+
|
|
88
97
|
- v3.8.1(April 09, 2024)
|
|
89
98
|
|
|
90
99
|
- 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.
|
|
@@ -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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|