snowflake-connector-python 3.5.0__tar.gz → 3.7.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/DESCRIPTION.md +20 -1
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/MANIFEST.in +1 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/PKG-INFO +24 -4
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/setup.cfg +3 -2
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/setup.py +30 -41
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/arrow_context.py +5 -3
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/auth/_auth.py +2 -2
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/auth/keypair.py +2 -2
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/auth/webbrowser.py +32 -10
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/azure_storage_client.py +2 -2
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/config_manager.py +1 -1
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/connection.py +175 -102
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/connection_diagnostic.py +1 -1
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/constants.py +65 -17
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/converter.py +56 -16
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/converter_issue23517.py +4 -4
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/cursor.py +262 -13
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BinaryConverter.cpp +7 -10
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BinaryConverter.hpp +6 -7
- snowflake-connector-python-3.7.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BooleanConverter.cpp +25 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BooleanConverter.hpp +6 -7
- snowflake-connector-python-3.7.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowChunkIterator.cpp +459 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowChunkIterator.hpp +23 -20
- snowflake-connector-python-3.7.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowIterator.cpp +129 -0
- snowflake-connector-python-3.7.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowIterator.hpp +119 -0
- snowflake-connector-python-3.7.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowTableIterator.cpp +959 -0
- snowflake-connector-python-3.7.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowTableIterator.hpp +141 -0
- snowflake-connector-python-3.7.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DateConverter.cpp +51 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DateConverter.hpp +11 -13
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DecimalConverter.cpp +40 -51
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DecimalConverter.hpp +23 -25
- snowflake-connector-python-3.7.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FixedSizeListConverter.cpp +77 -0
- snowflake-connector-python-3.7.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FixedSizeListConverter.hpp +32 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FloatConverter.cpp +10 -17
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/FloatConverter.hpp +12 -14
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/IColumnConverter.hpp +4 -6
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/IntConverter.cpp +6 -9
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/IntConverter.hpp +15 -25
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Common.cpp +3 -5
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Common.hpp +38 -56
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Helpers.cpp +17 -23
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Python/Helpers.hpp +4 -5
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/SnowflakeType.cpp +7 -7
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/SnowflakeType.hpp +10 -12
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/StringConverter.cpp +7 -10
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/StringConverter.hpp +6 -7
- snowflake-connector-python-3.7.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeConverter.cpp +40 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeConverter.hpp +6 -7
- snowflake-connector-python-3.7.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeStampConverter.cpp +350 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeStampConverter.hpp +47 -52
- snowflake-connector-python-3.7.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/time.cpp +69 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/time.hpp +7 -11
- snowflake-connector-python-3.7.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc.c +3204 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow.c +403 -289
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow.h +503 -368
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow.hpp +55 -31
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_arrow_iterator.pyx +13 -15
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_device.c +78 -57
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_device.h +53 -37
- snowflake-connector-python-3.7.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.c +33260 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.h +79 -70
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/Logging/logging.cpp +19 -26
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/Logging/logging.hpp +16 -12
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/network.py +11 -4
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/ocsp_snowflake.py +3 -3
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/result_batch.py +20 -16
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/result_set.py +20 -3
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/s3_storage_client.py +2 -2
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/telemetry_oob.py +3 -1
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/tool/dump_ocsp_response_cache.py +2 -2
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/version.py +1 -1
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake_connector_python.egg-info/PKG-INFO +24 -4
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake_connector_python.egg-info/SOURCES.txt +2 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake_connector_python.egg-info/requires.txt +4 -2
- snowflake-connector-python-3.5.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/BooleanConverter.cpp +0 -29
- snowflake-connector-python-3.5.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowChunkIterator.cpp +0 -479
- snowflake-connector-python-3.5.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowIterator.cpp +0 -62
- snowflake-connector-python-3.5.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowIterator.hpp +0 -156
- snowflake-connector-python-3.5.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowTableIterator.cpp +0 -844
- snowflake-connector-python-3.5.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/CArrowTableIterator.hpp +0 -161
- snowflake-connector-python-3.5.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/DateConverter.cpp +0 -59
- snowflake-connector-python-3.5.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeConverter.cpp +0 -46
- snowflake-connector-python-3.5.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/TimeStampConverter.cpp +0 -349
- snowflake-connector-python-3.5.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/time.cpp +0 -76
- snowflake-connector-python-3.5.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc.c +0 -3169
- snowflake-connector-python-3.5.0/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_ipc.c +0 -22428
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/CONTRIBUTING.md +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/LICENSE.txt +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/NOTICE +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/README.md +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/SECURITY.md +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/pyproject.toml +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/__init__.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/_query_context_cache.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/_sql_util.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/auth/__init__.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/auth/by_plugin.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/auth/default.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/auth/idtoken.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/auth/oauth.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/auth/okta.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/auth/usrpwdmfa.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/backoff_policies.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/bind_upload_agent.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/cache.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/compat.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/converter_null.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/converter_snowsql.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/dbapi.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/description.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/encryption_util.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/errorcode.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/errors.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/feature.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/file_compression_type.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/file_transfer_agent.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/file_util.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/gcs_storage_client.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/gzip_decoder.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/local_storage_client.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/LICENSE.txt +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/Util/macros.hpp +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_accessors.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_alloc.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_assert.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_builder.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_emitter.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_endian.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_epilogue.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_flatbuffers.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_identifier.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_iov.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_prologue.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_refmap.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_rtconfig.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_types.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/flatcc_verifier.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/flatcc_portable.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/paligned_alloc.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pattributes.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pdiagnostic.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pdiagnostic_pop.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pdiagnostic_push.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pendian.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pendian_detect.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pinline.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pinttypes.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/portable.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/portable_basic.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstatic_assert.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstdalign.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pstdint.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/punaligned.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pversion.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/nanoarrow_cpp/ArrowIterator/flatcc/portable/pwarnings.h +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/ocsp_asn1crypto.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/options.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/pandas_tools.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/proxy.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/py.typed +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/secret_detector.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/sf_dirs.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/sfbinaryformat.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/sfdatetime.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/snow_logging.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/sqlstate.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/ssd_internal_keys.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/ssl_wrap_socket.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/storage_client.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/telemetry.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/test_util.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/time_util.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/tool/__init__.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/tool/dump_certs.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/tool/dump_ocsp_response.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/tool/probe_connection.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/url_util.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/util_text.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/__init__.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/LICENSE +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/__init__.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/__version__.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/_internal_utils.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/adapters.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/api.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/auth.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/certs.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/compat.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/cookies.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/exceptions.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/help.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/hooks.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/models.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/sessions.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/status_codes.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/structures.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/requests/utils.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/LICENSE.txt +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/__init__.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/_collections.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/_version.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/connection.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/connectionpool.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/contrib/__init__.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/contrib/_appengine_environ.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/contrib/_securetransport/__init__.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/contrib/_securetransport/bindings.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/contrib/_securetransport/low_level.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/contrib/appengine.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/contrib/ntlmpool.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/contrib/pyopenssl.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/contrib/securetransport.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/contrib/socks.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/exceptions.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/fields.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/filepost.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/packages/__init__.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/packages/backports/__init__.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/packages/backports/makefile.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/packages/backports/weakref_finalize.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/packages/six.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/poolmanager.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/request.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/response.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/util/__init__.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/util/connection.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/util/proxy.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/util/queue.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/util/request.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/util/response.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/util/retry.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/util/ssl_.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/util/ssl_match_hostname.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/util/ssltransport.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/util/timeout.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/util/url.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake/connector/vendored/urllib3/util/wait.py +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake_connector_python.egg-info/dependency_links.txt +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake_connector_python.egg-info/entry_points.txt +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake_connector_python.egg-info/not-zip-safe +0 -0
- {snowflake-connector-python-3.5.0 → snowflake-connector-python-3.7.0}/src/snowflake_connector_python.egg-info/top_level.txt +0 -0
|
@@ -8,6 +8,25 @@ Source code is also available at: https://github.com/snowflakedb/snowflake-conne
|
|
|
8
8
|
|
|
9
9
|
# Release Notes
|
|
10
10
|
|
|
11
|
+
- v3.7.0(January 25,2024)
|
|
12
|
+
|
|
13
|
+
- Added a new boolean parameter `force_return_table` to `SnowflakeCursor.fetch_arrow_all` to force returning `pyarrow.Table` in case of zero rows.
|
|
14
|
+
- Cleanup some C++ code warnings and performance issues.
|
|
15
|
+
- Added support for Python 3.12
|
|
16
|
+
- Make local testing more robust against implicit assumptions.
|
|
17
|
+
- Fixed PyArrow Table type hinting
|
|
18
|
+
- Added support for connecting using an existing connection via the session and master token.
|
|
19
|
+
- Added support for connecting to Snowflake by authenticating with multiple SAML IDP using external browser.
|
|
20
|
+
- Fixed compilation issue due to missing cstdint header on gcc13.
|
|
21
|
+
- Improved config permissions warning message.
|
|
22
|
+
|
|
23
|
+
- v3.6.0(December 09,2023)
|
|
24
|
+
|
|
25
|
+
- Added support for Vector types
|
|
26
|
+
- Changed urllib3 version pin to only affect Python versions < 3.10.
|
|
27
|
+
- Support for `private_key_file` and `private_key_file_pwd` connection parameters
|
|
28
|
+
- Added a new flag `expired` to `SnowflakeConnection` class, that keeps track of whether the connection's master token has expired.
|
|
29
|
+
- Fixed a bug where date insertion failed when date format is set and qmark style binding is used.
|
|
11
30
|
|
|
12
31
|
- v3.5.0(November 13,2023)
|
|
13
32
|
|
|
@@ -19,7 +38,7 @@ Source code is also available at: https://github.com/snowflakedb/snowflake-conne
|
|
|
19
38
|
- Deprecated environment variable `NANOARROW_USAGE`.
|
|
20
39
|
- Deprecated module variable `snowflake.connector.cursor.NANOARROW_USAGE`.
|
|
21
40
|
|
|
22
|
-
- v3.4.1(November 08,
|
|
41
|
+
- v3.4.1(November 08,2023)
|
|
23
42
|
|
|
24
43
|
- Bumped vendored `urllib3` to 1.26.18
|
|
25
44
|
- Bumped vendored `requests` to 2.31.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: snowflake-connector-python
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.7.0
|
|
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
|
|
@@ -48,7 +49,7 @@ Requires-Dist: importlib-metadata; python_version < "3.8"
|
|
|
48
49
|
Requires-Dist: packaging
|
|
49
50
|
Requires-Dist: charset_normalizer<4,>=2
|
|
50
51
|
Requires-Dist: idna<4,>=2.5
|
|
51
|
-
Requires-Dist: urllib3<2.0.0,>=1.21.1
|
|
52
|
+
Requires-Dist: urllib3<2.0.0,>=1.21.1; python_version < "3.10"
|
|
52
53
|
Requires-Dist: certifi>=2017.4.17
|
|
53
54
|
Requires-Dist: typing_extensions<5,>=4.3
|
|
54
55
|
Requires-Dist: filelock<4,>=3.5
|
|
@@ -69,7 +70,7 @@ Requires-Dist: pytest-timeout; extra == "development"
|
|
|
69
70
|
Requires-Dist: pytest-xdist; extra == "development"
|
|
70
71
|
Requires-Dist: pytzdata; extra == "development"
|
|
71
72
|
Provides-Extra: pandas
|
|
72
|
-
Requires-Dist: pandas<2.
|
|
73
|
+
Requires-Dist: pandas<2.2.0,>=1.0.0; extra == "pandas"
|
|
73
74
|
Requires-Dist: pyarrow; extra == "pandas"
|
|
74
75
|
Provides-Extra: secure-local-storage
|
|
75
76
|
Requires-Dist: keyring!=16.1.0,<25.0.0; extra == "secure-local-storage"
|
|
@@ -84,6 +85,25 @@ Source code is also available at: https://github.com/snowflakedb/snowflake-conne
|
|
|
84
85
|
|
|
85
86
|
# Release Notes
|
|
86
87
|
|
|
88
|
+
- v3.7.0(January 25,2024)
|
|
89
|
+
|
|
90
|
+
- Added a new boolean parameter `force_return_table` to `SnowflakeCursor.fetch_arrow_all` to force returning `pyarrow.Table` in case of zero rows.
|
|
91
|
+
- Cleanup some C++ code warnings and performance issues.
|
|
92
|
+
- Added support for Python 3.12
|
|
93
|
+
- Make local testing more robust against implicit assumptions.
|
|
94
|
+
- Fixed PyArrow Table type hinting
|
|
95
|
+
- Added support for connecting using an existing connection via the session and master token.
|
|
96
|
+
- Added support for connecting to Snowflake by authenticating with multiple SAML IDP using external browser.
|
|
97
|
+
- Fixed compilation issue due to missing cstdint header on gcc13.
|
|
98
|
+
- Improved config permissions warning message.
|
|
99
|
+
|
|
100
|
+
- v3.6.0(December 09,2023)
|
|
101
|
+
|
|
102
|
+
- Added support for Vector types
|
|
103
|
+
- Changed urllib3 version pin to only affect Python versions < 3.10.
|
|
104
|
+
- Support for `private_key_file` and `private_key_file_pwd` connection parameters
|
|
105
|
+
- Added a new flag `expired` to `SnowflakeConnection` class, that keeps track of whether the connection's master token has expired.
|
|
106
|
+
- Fixed a bug where date insertion failed when date format is set and qmark style binding is used.
|
|
87
107
|
|
|
88
108
|
- v3.5.0(November 13,2023)
|
|
89
109
|
|
|
@@ -95,7 +115,7 @@ Source code is also available at: https://github.com/snowflakedb/snowflake-conne
|
|
|
95
115
|
- Deprecated environment variable `NANOARROW_USAGE`.
|
|
96
116
|
- Deprecated module variable `snowflake.connector.cursor.NANOARROW_USAGE`.
|
|
97
117
|
|
|
98
|
-
- v3.4.1(November 08,
|
|
118
|
+
- v3.4.1(November 08,2023)
|
|
99
119
|
|
|
100
120
|
- Bumped vendored `urllib3` to 1.26.18
|
|
101
121
|
- Bumped vendored `requests` to 2.31.0
|
|
@@ -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
|
|
@@ -53,7 +54,7 @@ install_requires =
|
|
|
53
54
|
packaging
|
|
54
55
|
charset_normalizer>=2,<4
|
|
55
56
|
idna>=2.5,<4
|
|
56
|
-
urllib3>=1.21.1,<2.0.0
|
|
57
|
+
urllib3>=1.21.1,<2.0.0; python_version < '3.10'
|
|
57
58
|
certifi>=2017.4.17
|
|
58
59
|
typing_extensions>=4.3,<5
|
|
59
60
|
filelock>=3.5,<4
|
|
@@ -92,7 +93,7 @@ development =
|
|
|
92
93
|
pytest-xdist
|
|
93
94
|
pytzdata
|
|
94
95
|
pandas =
|
|
95
|
-
pandas>=1.0.0,<2.
|
|
96
|
+
pandas>=1.0.0,<2.2.0
|
|
96
97
|
pyarrow
|
|
97
98
|
secure-local-storage =
|
|
98
99
|
keyring!=16.1.0,<25.0.0
|
|
@@ -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,48 +90,35 @@ 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
|
-
os.path.join(NANOARROW_ARROW_ITERATOR_SRC_DIR, "TimeConverter.cpp"),
|
|
118
|
-
os.path.join(
|
|
119
|
-
NANOARROW_ARROW_ITERATOR_SRC_DIR, "TimeStampConverter.cpp"
|
|
120
|
-
),
|
|
121
|
-
os.path.join(
|
|
122
|
-
NANOARROW_ARROW_ITERATOR_SRC_DIR, "Python", "Common.cpp"
|
|
123
|
-
),
|
|
124
|
-
os.path.join(
|
|
125
|
-
NANOARROW_ARROW_ITERATOR_SRC_DIR, "Python", "Helpers.cpp"
|
|
126
|
-
),
|
|
127
|
-
os.path.join(NANOARROW_ARROW_ITERATOR_SRC_DIR, "Util", "time.cpp"),
|
|
128
|
-
NANOARROW_LOGGING_SRC_DIR + "/logging.cpp",
|
|
129
|
-
os.path.join(NANOARROW_ARROW_ITERATOR_SRC_DIR, "nanoarrow.c"),
|
|
130
|
-
os.path.join(NANOARROW_ARROW_ITERATOR_SRC_DIR, "nanoarrow_ipc.c"),
|
|
131
|
-
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
|
+
"BinaryConverter.cpp",
|
|
98
|
+
"BooleanConverter.cpp",
|
|
99
|
+
"CArrowChunkIterator.cpp",
|
|
100
|
+
"CArrowIterator.cpp",
|
|
101
|
+
"CArrowTableIterator.cpp",
|
|
102
|
+
"DateConverter.cpp",
|
|
103
|
+
"DecimalConverter.cpp",
|
|
104
|
+
"FixedSizeListConverter.cpp",
|
|
105
|
+
"FloatConverter.cpp",
|
|
106
|
+
"IntConverter.cpp",
|
|
107
|
+
"SnowflakeType.cpp",
|
|
108
|
+
"StringConverter.cpp",
|
|
109
|
+
"TimeConverter.cpp",
|
|
110
|
+
"TimeStampConverter.cpp",
|
|
111
|
+
"flatcc.c",
|
|
112
|
+
"nanoarrow.c",
|
|
113
|
+
"nanoarrow_ipc.c",
|
|
114
|
+
("Python", "Common.cpp"),
|
|
115
|
+
("Python", "Helpers.cpp"),
|
|
116
|
+
("Util", "time.cpp"),
|
|
117
|
+
}
|
|
132
118
|
]
|
|
119
|
+
ext.sources.append(
|
|
120
|
+
os.path.join(NANOARROW_LOGGING_SRC_DIR, "logging.cpp")
|
|
121
|
+
)
|
|
133
122
|
ext.include_dirs.append(NANOARROW_ARROW_ITERATOR_SRC_DIR)
|
|
134
123
|
ext.include_dirs.append(NANOARROW_LOGGING_SRC_DIR)
|
|
135
124
|
|
|
@@ -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
|
)
|