Snowflake Connector for Python
This package includes the Snowflake Connector for Python, which conforms to the Python DB API 2.0 specification.
The Snowflake Connector for Python provides an interface for developing Python applications that can connect to Snowflake and perform all standard operations. It provides a programming alternative to developing applications in Java or C/C++ using the Snowflake JDBC or ODBC drivers.
The connector has no dependencies on JDBC or ODBC.
It can be installed using
pip on Linux, Mac OSX, and Windows platforms
where Python 3.7.0 (or higher) is installed.
Snowflake Documentation is available at: https://docs.snowflake.com/
Feel free to file an issue or submit a PR here for general cases. For official support, contact Snowflake support at: https://community.snowflake.com/s/article/How-To-Submit-a-Support-Case-in-Snowflake-Lodge
How to build
Install Python 3.7.0 or higher. Clone the Snowflake Connector for Python repository, then run the following commands to create a wheel package using PEP-517 build:
git clone email@example.com:snowflakedb/snowflake-connector-python.git cd snowflake-connector-python python -m pip install -U pip setuptools wheel build python -m build --wheel .
snowflake_connector_python*.whl package in the
Or use our Dockerized build script
ci/build_docker.sh and find the built wheel files in
ci/build_docker.sh can be used to compile only certain versions, like this:
ci/build_docker.sh "3.7 3.8"
Code hygiene and other utilities
These tools are integrated into
tox to allow us to easily set them up universally on any computer.
- fix_lint: Runs
pre-committo check for a bunch of lint issues. This can be installed to run upon each time a commit is created locally, keep an eye out for the hint that this environment prints upon succeeding.
- coverage: Runs
coverage.pyto combine generated coverage data files. Useful when multiple categories were run and we would like to have an overall coverage data file created for them.
- flake8: (Deprecated) Similar to
fix_lint, but only runs