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.
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/DESCRIPTION.md +21 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/MANIFEST.in +1 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/PKG-INFO +27 -5
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/setup.cfg +5 -4
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/setup.py +33 -44
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/arrow_context.py +5 -3
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/_auth.py +2 -2
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/keypair.py +2 -2
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/webbrowser.py +32 -10
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/azure_storage_client.py +2 -2
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/config_manager.py +1 -1
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/connection.py +147 -107
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/connection_diagnostic.py +1 -1
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/converter.py +20 -6
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/converter_issue23517.py +4 -4
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/cursor.py +28 -13
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/ArrayConverter.cpp +64 -0
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/ArrayConverter.hpp +33 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BinaryConverter.cpp +7 -10
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BinaryConverter.hpp +6 -7
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BooleanConverter.cpp +25 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BooleanConverter.hpp +6 -7
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowChunkIterator.cpp +517 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowChunkIterator.hpp +23 -20
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowIterator.cpp +129 -0
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowIterator.hpp +119 -0
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowTableIterator.cpp +960 -0
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowTableIterator.hpp +141 -0
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DateConverter.cpp +51 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DateConverter.hpp +11 -13
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DecimalConverter.cpp +101 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DecimalConverter.hpp +23 -25
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FixedSizeListConverter.cpp +10 -21
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FixedSizeListConverter.hpp +4 -6
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FloatConverter.cpp +10 -17
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FloatConverter.hpp +12 -14
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/IColumnConverter.hpp +4 -6
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/IntConverter.cpp +6 -9
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/IntConverter.hpp +15 -25
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/MapConverter.cpp +79 -0
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/MapConverter.hpp +34 -0
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/ObjectConverter.cpp +50 -0
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/ObjectConverter.hpp +32 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Common.cpp +3 -5
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Common.hpp +38 -56
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Helpers.cpp +17 -23
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Helpers.hpp +4 -5
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/SnowflakeType.cpp +6 -6
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/SnowflakeType.hpp +10 -12
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/StringConverter.cpp +7 -10
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/StringConverter.hpp +6 -7
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeConverter.cpp +40 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeConverter.hpp +6 -7
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeStampConverter.cpp +350 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeStampConverter.hpp +47 -52
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/time.cpp +69 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/time.hpp +7 -11
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc.c +3204 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow.c +403 -289
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow.h +503 -368
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow.hpp +55 -31
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_arrow_iterator.pyx +13 -15
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_device.c +78 -57
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_device.h +53 -37
- snowflake-connector-python-3.7.1/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.c +33260 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.h +79 -70
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/Logging/logging.cpp +19 -26
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/Logging/logging.hpp +16 -12
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/network.py +8 -3
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/ocsp_snowflake.py +3 -3
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/pandas_tools.py +9 -3
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/result_set.py +20 -3
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/s3_storage_client.py +2 -2
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/telemetry_oob.py +3 -1
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/tool/dump_ocsp_response_cache.py +2 -2
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/version.py +1 -1
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake_connector_python.egg-info/PKG-INFO +27 -5
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake_connector_python.egg-info/SOURCES.txt +6 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake_connector_python.egg-info/requires.txt +4 -4
- snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BooleanConverter.cpp +0 -29
- snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowChunkIterator.cpp +0 -486
- snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowIterator.cpp +0 -62
- snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowIterator.hpp +0 -156
- snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowTableIterator.cpp +0 -845
- snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowTableIterator.hpp +0 -161
- snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DateConverter.cpp +0 -59
- snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DecimalConverter.cpp +0 -102
- snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeConverter.cpp +0 -46
- snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeStampConverter.cpp +0 -349
- snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/time.cpp +0 -76
- snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc.c +0 -3169
- snowflake-connector-python-3.6.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.c +0 -22428
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/CONTRIBUTING.md +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/LICENSE.txt +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/NOTICE +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/README.md +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/SECURITY.md +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/pyproject.toml +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/__init__.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/_query_context_cache.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/_sql_util.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/__init__.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/by_plugin.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/default.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/idtoken.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/oauth.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/okta.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/auth/usrpwdmfa.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/backoff_policies.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/bind_upload_agent.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/cache.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/compat.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/constants.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/converter_null.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/converter_snowsql.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/dbapi.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/description.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/encryption_util.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/errorcode.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/errors.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/feature.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/file_compression_type.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/file_transfer_agent.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/file_util.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/gcs_storage_client.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/gzip_decoder.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/local_storage_client.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/LICENSE.txt +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/macros.hpp +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_accessors.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_alloc.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_assert.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_builder.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_emitter.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_endian.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_epilogue.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_flatbuffers.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_identifier.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_iov.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_prologue.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_refmap.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_rtconfig.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_types.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_verifier.h +0 -0
- {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
- {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
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pattributes.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pdiagnostic.h +0 -0
- {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
- {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
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pendian.h +0 -0
- {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
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pinline.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pinttypes.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/portable.h +0 -0
- {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
- {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
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstdalign.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstdint.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/punaligned.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pversion.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pwarnings.h +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/ocsp_asn1crypto.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/options.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/proxy.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/py.typed +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/result_batch.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/secret_detector.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/sf_dirs.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/sfbinaryformat.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/sfdatetime.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/snow_logging.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/sqlstate.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/ssd_internal_keys.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/ssl_wrap_socket.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/storage_client.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/telemetry.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/test_util.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/time_util.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/tool/__init__.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/tool/dump_certs.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/tool/dump_ocsp_response.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/tool/probe_connection.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/url_util.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/util_text.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/__init__.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/LICENSE +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/__init__.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/__version__.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/_internal_utils.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/adapters.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/api.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/auth.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/certs.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/compat.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/cookies.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/exceptions.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/help.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/hooks.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/models.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/sessions.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/status_codes.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/structures.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/requests/utils.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/LICENSE.txt +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/__init__.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/_collections.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/_version.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/connection.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/connectionpool.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/__init__.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/_appengine_environ.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/_securetransport/__init__.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/_securetransport/bindings.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/_securetransport/low_level.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/appengine.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/ntlmpool.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/pyopenssl.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/securetransport.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/contrib/socks.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/exceptions.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/fields.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/filepost.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/packages/__init__.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/packages/backports/__init__.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/packages/backports/makefile.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/packages/backports/weakref_finalize.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/packages/six.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/poolmanager.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/request.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/response.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/__init__.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/connection.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/proxy.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/queue.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/request.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/response.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/retry.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/ssl_.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/ssl_match_hostname.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/ssltransport.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/timeout.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/url.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake/connector/vendored/urllib3/util/wait.py +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake_connector_python.egg-info/dependency_links.txt +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake_connector_python.egg-info/entry_points.txt +0 -0
- {snowflake-connector-python-3.6.0 → snowflake-connector-python-3.7.1}/src/snowflake_connector_python.egg-info/not-zip-safe +0 -0
- {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
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: snowflake-connector-python
|
|
3
|
-
Version: 3.
|
|
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<
|
|
43
|
-
Requires-Dist: pyOpenSSL<
|
|
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<
|
|
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
|
|
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,<
|
|
48
|
-
pyOpenSSL>=16.2.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,<
|
|
96
|
+
pandas>=1.0.0,<3.0.0
|
|
96
97
|
pyarrow
|
|
97
98
|
secure-local-storage =
|
|
98
|
-
keyring
|
|
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,
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
138
|
-
|
|
139
|
-
|
|
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>"""
|
|
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.
|
|
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
|
|
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
|
)
|