Skip to main content

This package includes the Snowflake Connector for Python, which conforms to the Python DB API 2.0 specification: https://www.python.org/dev/peps/pep-0249/

Snowflake Documentation is available at: https://docs.snowflake.net/

Source code is also available at: https://github.com/snowflakedb/snowflake-connector-python

Release Notes

  • v1.6.7 (August 22, 2018)

    • Enforce virtual host URL for PUT and GET.

    • Added retryCount, clientStarTime for query-request for better service.

  • v1.6.6 (August 9, 2018)

    • Replaced pycryptodome with pycryptodomex to avoid namespace conflict with PyCrypto.

    • Fixed hang if the connection is not explicitly closed since 1.6.4.

    • Reauthenticate for externalbrowser while running a query.

    • Fixed remove_comments option for SnowSQL.

  • v1.6.5 (July 13, 2018)

    • Fixed the current object cache in the connection for id token use.

    • Added no OCSP cache server use option.

  • v1.6.4 (July 5, 2018)

    • Fixed div by zero for Azure PUT command.

    • Cache id token for SSO. This feature is WIP.

    • Added telemetry client and job timings by @dsouzam.

  • v1.6.3 (June 14, 2018)

    • Fixed binding long value for Python 2.

  • v1.6.2 (June 7, 2018)

    • Removes username restriction for OAuth. PR 86(@tjj5036)

    • Retry OpenSSL.SysError in tests

    • Updated concurrent insert test as the server improved.

  • v1.6.1 (May 17, 2018)

    • Enable OCSP Dynamic Cache server for privatelink.

    • Ensure the type of login_timeout attribute is int.

  • v1.6.0 (May 3, 2018)

    • Enable OCSP Cache server by default.

  • v1.5.8 (April 26, 2018)

    • Fixed PUT command error ‘Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.’ for Azure deployment.

  • v1.5.7 (April 19, 2018)

    • Fixed object has no attribute errors in Python3 for Azure deployment.

    • Removed ContentEncoding=gzip from the header for PUT command. This caused COPY failure if autocompress=false.

  • v1.5.6 (April 5, 2018)

    • Updated boto3 and botocore version dependeny.

  • v1.5.5 (March 22, 2018)

    • Fixed TypeError: list indices must be integers or slices, not str. PR/Issue 75 (@daniel-sali).

    • Updated cryptography dependency.

  • v1.5.4 (March 15, 2018)

    • Tightened pyasn and pyasn1-modules version requirements

    • Added OS and OS_VERSION session info.

    • Relaxed pycryptodome version requirements. No 3.5.0 should be used.

  • v1.5.3 (March 9, 2018)

    • Pulled back pyasn1 for OCSP check in Python 2. Python 3 continue using asn1crypto for better performance.

    • Limit the upper bound of pycryptodome version to less than 3.5.0 for Issue 65.

  • v1.5.2 (March 1, 2018)

    • Fixed failue in case HOME/USERPROFILE is not set.

    • Updated boto3 and botocore version dependeny.

  • v1.5.1 (February 15, 2018)

    • Prototyped oauth. Won’t work without the server change.

    • Retry OCSP data parse failure

    • Fixed paramstyle=qmark binding for SQLAlchemy

  • v1.5.0 (January 26, 2018)

    • Removed pyasn1 and pyasn1-modules from the dependency.

    • Prototyped key pair authentication.

    • Fixed OCSP response cache expiration check.

  • v1.4.17 (January 19, 2018)

    • Adjusted pyasn1 and pyasn1-modules version dependency. PR 48 (@baxen)

    • Started replacing pyasn1 with asn1crypto Not activated yet.

  • v1.4.16 (January 16, 2018)

    • Added OCSP cache related tools.

  • v1.4.15 (January 11, 2018)

    • Added OCSP cache server option.

  • v1.4.14 (December 14, 2017)

    • Improved OCSP response dump util.

  • v1.4.13 (November 30, 2017)

    • Updated boto3 and botocore version dependeny.

  • v1.4.12 (November 16, 2017)

    • Added qmark and numeric paramstyle support for server side binding.

    • Added timezone session parameter support to connections.

    • Fixed a file handler leak in OCSP checks.

  • v1.4.11 (November 9, 2017)

    • Fixed Azure PUT command to use AES CBC key encryption.

    • Added retry for intermittent PyAsn1Error.

  • v1.4.10 (October 26, 2017)

    • Added Azure support for PUT and GET commands.

    • Updated cryptography, boto3 and botocore version dependeny.

  • v1.4.9 (October 10, 2017)

    • Fixed a regression caused by pyasn1 upgrade.

  • v1.4.8 (October 5, 2017)

    • Updated Fed/SSO parameters. The production version of Fed/SSO from Python Connector requires this version.

    • Refactored for Azure support

    • Set CLIENT_APP_ID and CLIENT_APP_VERSION in all requests

    • Support new behaviors of newer version of pyasn1. Relaxed the dependency.

    • Making socket timeout same as the login time

    • Fixed the case where no error message is attached.

  • v1.4.7 (September 20, 2017)

    • Refresh AWS token in PUT command if S3UploadFailedError includes the ExpiredToken error

    • Retry all of 5xx in connection

  • v1.4.6 (September 14, 2017)

    • Mitigated sigint handler config failure for SQLAlchemy

    • Improved the message for invalid SSL certificate error

    • Retry forever for query to mitigate 500 errors

  • v1.4.5 (August 31, 2017)

    • Fixed regression in #34 by rewriting SAML 2.0 compliant service application support.

    • Cleaned up logger by moving instance to module.

  • v1.4.4 (August 24, 2017)

    • Fixed Azure blob certificate issue. OCSP response structure bug fix

    • Added SAML 2.0 compliant service application support. preview feature.

    • Upgraded SSL wrapper with the latest urllib3 pyopenssl glue module. It uses kqueue, epoll or poll in replacement of select to read data from socket if available.

  • v1.4.3 (August 17, 2017)

    • Changed the log levels for some messages from ERROR to DEBUG to address confusion as real incidents. In fact, they are not real issues but signals for connection retry.

    • Added certifi to the dependent component list to mitigate CA root certificate out of date issue.

    • Set the maximum versions of dependent components boto3 and botocore.

    • Updated cryptography and pyOpenSSL version dependeny change.

    • Added a connection parameter validate_default_parameters to validate the default database, schema and warehouse. If the specified object doesn’t exist, it raises an error.

  • v1.4.2 (August 3, 2017)

    • Fixed retry HTTP 400 in upload file when AWS token expires

    • Relaxed the version of dependent components pyasn1 and pyasn1-modules

  • v1.4.1 (July 26, 2017)

    • Pinned pyasn1 and pyasn1-modules versions to 0.2.3 and 0.0.9, respectively

  • v1.4.0 (July 6, 2017)

    • Relaxed the versions of dependent components boto3, botocore, cffi and cryptography and pyOpenSSL

    • Minor improvements in OCSP response file cache

  • v1.3.18 (June 15, 2017)

    • Fixed OCSP response cache file not found issue on Windows. Drive letter was taken off

    • Use less restrictive cryptography>=1.7,<1.8

    • Added ORC detection in PUT command

  • v1.3.17 (June 1, 2017)

    • Timeout OCSP request in 60 seconds and retry

    • Set autocommit and abort_detached_query session parameters in authentication time if specified

    • Fixed cross region stage issue. Could not get files in us-west-2 region S3 bucket from us-east-1

  • v1.3.16 (April 20, 2017)

    • Fixed issue in fetching DATE causing [Error 22] Invalid argument on Windows

    • Retry on RuntimeError in requests

  • v1.3.15 (March 30, 2017)

    • Refactored data converters in fetch to improve performance

    • Fixed timestamp format FF to honor the scale of data type

    • Improved the security of OKTA authentication with hostname verifications

    • Retry PUT on the error OpenSSL.SSL.SysCallError 10053 with lower concurrency

    • Added raw_msg attribute to Error class

    • Refactored session managements

  • v1.3.14 (February 24, 2017)

    • Improved PUT and GET error handler.

    • Added proxy support to OCSP checks.

    • Use proxy parameters for PUT and GET commands.

    • Added sfqid and sqlstate to the results from query results.

    • Fixed the connection timeout calculation based on login_timeout and network_timeout.

    • Improved error messages in case of 403, 502 and 504 HTTP reponse code.

    • Upgraded cryptography to 1.7.2, boto3 to 1.4.4 and botocore to 1.5.14.

    • Removed explicit DNS lookup for OCSP URL.

  • v1.3.13 (February 9, 2017)

    • Fixed AWS SQS connection error with OCSP checks

    • Added login_timeout and network_timeout parameters to the Connection objects.

    • Fixed forbidden access error handing

  • v1.3.12 (February 2, 2017)

    • Fixed region parameter. One character was truncated from the tail of account name

    • Improved performance of fetching data by refactoring fetchone method

  • v1.3.11 (January 27, 2017)

    • Fixed the regression in 1.3.8 that caused intermittent 504 errors

  • v1.3.10 (January 26, 2017)

    • Compress data in HTTP requests at all times except empty data or OKTA request

    • Refactored FIXED, REAL and TIMESTAMP data fetch to improve performance. This mainly impacts SnowSQL

    • Added region option to support EU deployments better

    • Increased the retry counter for OCSP servers to mitigate intermittent failure

    • Refactored HTTP access retry logic

  • v1.3.9 (January 16, 2017)

    • Upgraded botocore to 1.4.93 to fix and boto3 to 1.4.3 to fix the HTTPS request failure in Python 3.6

    • Fixed python2 incomaptible import http.client

    • Retry OCSP validation in case of non-200 HTTP code returned

  • v1.3.8 (January 12, 2017)

    • Convert non-UTF-8 data in the large result set chunk to Unicode replacement characters to avoid decode error.

    • Updated copyright year to 2017.

    • Use six package to support both PY2 and PY3 for some functions

    • Upgraded cryptography to 1.7.1 to address MacOS Python 3.6 build issue.

    • Fixed OverflowError caused by invalid range of timetamp data for SnowSQL.

  • v1.3.7 (December 8, 2016)

    • Increased the validity date acceptance window to prevent OCSP returning invalid responses due to out-of-scope validity dates for certificates.

    • Enabled OCSP response cache file by default.

  • v1.3.6 (December 1, 2016)

    • Upgraded cryptography to 1.5.3, pyOpenSSL to 16.2.0 and cffi to 1.9.1.

  • v1.3.5 (November 17, 2016)

    • Fixed CA list cache race condition

    • Added retry intermittent 400 HTTP Bad Request error

  • v1.3.4 (November 3, 2016)

    • Added quoted_name data type support for binding by SQLAlchemy

    • Not to compress parquiet file in PUT command

  • v1.3.3 (October 20, 2016)

    • Downgraded botocore to 1.4.37 due to potential regression.

    • Increased the stability of PUT and GET commands

  • v1.3.2 (October 12, 2016)

    • Upgraded botocore to 1.4.52.

    • Set the signature version to v4 to AWS client. This impacts PUT, GET commands and fetching large result set.

  • v1.3.1 (September 30, 2016)

    • Added an account name including subdomain.

  • v1.3.0 (September 26, 2016)

    • Added support for the BINARY data type, which enables support for more Python data types:

      • Python 3:

        • bytes and bytearray can be used for binding.

        • bytes is also used for fetching BINARY data type.

      • Python 2:

        • bytearray can be used for binding

        • str is used for fetching BINARY data type.

    • Added proxy_user and proxy_password connection parameters for proxy servers that require authentication.

  • v1.2.8 (August 16, 2016)

    • Upgraded botocore to 1.4.37.

    • Added Connection.execute_string and Connection.execute_stream to run multiple statements in a string and stream.

    • Increased the stability of fetching data for Python 2.

    • Refactored memory usage in fetching large result set (Work in Progress).

  • v1.2.7 (July 31, 2016)

    • Fixed snowflake.cursor.rowcount for INSERT ALL.

    • Force OCSP cache invalidation after 24 hours for better security.

    • Use use_accelerate_endpoint in PUT and GET if Transfer acceleration is enabled for the S3 bucket.

    • Fixed the side effect of python-future that loads test.py in the current directory.

  • v1.2.6 (July 13, 2016)

    • Fixed the AWS token renewal issue with PUT command when uploading uncompressed large files.

  • v1.2.5 (July 8, 2016)

    • Added retry for errors S3UploadFailedError and RetriesExceededError in PUT and GET, respectively.

  • v1.2.4 (July 6, 2016)

    • Added max_connection_pool parameter to Connection so that you can specify the maximum number of HTTP/HTTPS connections in the pool.

    • Minor enhancements for SnowSQL.

  • v1.2.3 (June 29, 2016)

    • Fixed 404 issue in GET command. An extra slash character changed the S3 path and failed to identify the file to download.

  • v1.2.2 (June 21, 2016)

    • Upgraded botocore to 1.4.26.

    • Added retry for 403 error when accessing S3.

  • v1.2.1 (June 13, 2016)

    • Improved fetch performance for data types (part 2): DATE, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ and TIMESTAMP_TZ.

  • v1.2.0 (June 10, 2016)

    • Improved fetch performance for data types (part 1): FIXED, REAL, STRING.

  • v1.1.5 (June 2, 2016)

    • Upgraded boto3 to 1.3.1 and botocore and 1.4.22.

    • Fixed snowflake.cursor.rowcount for DML by snowflake.cursor.executemany.

    • Added numpy data type binding support. numpy.intN, numpy.floatN and numpy.datetime64 can be bound and fetched.

  • v1.1.4 (May 21, 2016)

    • Upgraded cffi to 1.6.0.

    • Minor enhancements to SnowSQL.

  • v1.1.3 (May 5, 2016)

    • Upgraded cryptography to 1.3.2.

  • v1.1.2 (May 4, 2016)

    • Changed the dependency of tzlocal optional.

    • Fixed charmap error in OCSP checks.

  • v1.1.1 (Apr 11, 2016)

    • Fixed OCSP revocation check issue with the new certificate and AWS S3.

    • Upgraded cryptography to 1.3.1 and pyOpenSSL to 16.0.0.

  • v1.1.0 (Apr 4, 2016)

    • Added bzip2 support in PUT command. This feature requires a server upgrade.

    • Replaced the self contained packages in snowflake._vendor with the dependency of boto3 1.3.0 and botocore 1.4.2.

  • v1.0.7 (Mar 21, 2016)

    • Keep pyOpenSSL at 0.15.1.

  • v1.0.6 (Mar 15, 2016)

    • Upgraded cryptography to 1.2.3.

    • Added support for TIME data type, which is now a Snowflake supported data type. This feature requires a server upgrade.

    • Added snowflake.connector.DistCursor to fetch the results in dict instead of tuple.

    • Added compression to the SQL text and commands.

  • v1.0.5 (Mar 1, 2016)

    • Upgraded cryptography to 1.2.2 and cffi to 1.5.2.

    • Fixed the conversion from TIMESTAMP_LTZ to datetime in queries.

  • v1.0.4 (Feb 15, 2016)

    • Fixed the truncated parallel large result set.

    • Added retry OpenSSL low level errors ETIMEDOUT and ECONNRESET.

    • Time out all HTTPS requests so that the Python Connector can retry the job or recheck the status.

    • Fixed the location of encrypted data for PUT command. They used to be in the same directory as the source data files.

    • Added support for renewing the AWS token used in PUT commands if the token expires.

  • v1.0.3 (Jan 13, 2016)

    • Added support for the BOOLEAN data type (i.e. TRUE or FALSE). This changes the behavior of the binding for the bool type object:

      • Previously, bool was bound as a numeric value (i.e. 1 for True, 0 for False).

      • Now, bool is bound as native SQL data (i.e. TRUE or FALSE).

    • Added the autocommit method to the Connection object:

      • By default, autocommit mode is ON (i.e. each DML statement commits the change).

      • If autocommit mode is OFF, the commit and rollback methods are enabled.

    • Avoid segfault issue for cryptography 1.2 in Mac OSX by using 1.1 until resolved.

  • v1.0.2 (Dec 15, 2015)

    • Upgraded boto3 1.2.2, botocore 1.3.12.

    • Removed SSLv3 mapping from the initial table.

  • v1.0.1 (Dec 8, 2015)

    • Minor bug fixes.

  • v1.0.0 (Dec 1, 2015)

    • General Availability release.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

snowflake-connector-python-1.6.7.tar.gz (122.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

snowflake_connector_python-1.6.7-py2.py3-none-any.whl (143.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file snowflake-connector-python-1.6.7.tar.gz.

File metadata

  • Download URL: snowflake-connector-python-1.6.7.tar.gz
  • Upload date:
  • Size: 122.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.4.3

File hashes

Hashes for snowflake-connector-python-1.6.7.tar.gz
Algorithm Hash digest
SHA256 a7d9170ce8cfe68d9411baca2e94f0349d03d327ace95b08d87344a41be9aa13
MD5 14052513a247750392092055243310c2
BLAKE2b-256 80dada160dd7f513193010e992aac20383aa487adb8220994cddf28b0c189bae

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-1.6.7-py2.py3-none-any.whl.

File metadata

  • Download URL: snowflake_connector_python-1.6.7-py2.py3-none-any.whl
  • Upload date:
  • Size: 143.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.4.3

File hashes

Hashes for snowflake_connector_python-1.6.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6f42ca40271f03dd6e0b626247f24d477194b4a394c39642f76c1c4972232f21
MD5 320f91db440bee2aa09a502312be7c84
BLAKE2b-256 b026ad3183d8800a548bc5200543fd762852bd38477e3c2f8d61a172777c138e

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page