A PEP 249 Database API 2.0 implementation for Snowflake
Project description
PEP 249 Database API 2.0 Implementation
A Python library that implements PEP 249 (Python Database API Specification 2.0) with empty interface implementations. This library provides a complete skeleton implementation that follows the PEP 249 specification, making it an ideal starting point for creating new database drivers or for testing database API compliance.
Development
Prerequisites
- Python 3.9+
- uv package manager
- Hatch build tool
- Rust toolchain (for building core library)
- Credentials:
../parameters.json(see main README.md for setup instructions)
Setup
Install uv and Hatch:
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install Hatch
uv tool install hatch
Note: The Rust core library is built automatically during the build process via a custom Hatch build hook. You don't need to build it manually.
Environment Variables
IMPORTANT: Set up required environment variables before running tests:
export PARAMETER_PATH="$(pwd)/../parameters.json"
Hatch Environments
This project uses Hatch to manage development environments. There are two primary environments for running tests, each designed for a different use case:
dev Environment (for local development)
The dev environment is designed for human developers during active development. It installs the package from sources in editable mode, meaning any code changes are immediately reflected without reinstallation.
Key characteristics:
- Installs from sources (
skip-install = false) - Editable mode enabled (
dev-mode = true) - Changes to source code are immediately available
- Supports Python matrix: 3.9, 3.10, 3.11, 3.12, 3.13
Usage:
# Run all tests with the dev environment
hatch run dev:all
# Run specific test types
hatch run dev:unit # Unit tests only
hatch run dev:integ # Integration tests only
hatch run dev:e2e # End-to-end tests only
# Run with coverage
hatch run dev:all-cov
# Run with specific Python version
hatch run dev.py3.12:all
# Pass additional pytest arguments
hatch run dev:all -k test_connection --maxfail=1
test Environment (for CI/CD pipelines)
The test environment is designed for CI systems to test the end-to-end software development lifecycle (SDLC). It does not install from sources - instead, it expects a pre-built wheel to be installed, simulating how end users would install and use the package.
Key characteristics:
- Skips source installation (
skip-install = true) - No editable mode (
dev-mode = false) - Requires explicit wheel installation via
install-wheelscript - Tests the actual built artifact, not source code
Usage:
# First, build the wheel
hatch build
# Then install and test with the test environment
hatch run test:install-wheel
hatch run test:all
# Or with specific Python version
hatch run test.py3.12:install-wheel
hatch run test.py3.12:all
Environment Comparison
| Aspect | dev |
test |
|---|---|---|
| Purpose | Local development | CI/CD pipelines |
| Installs from | Source (editable) | Pre-built wheel |
| Code changes | Immediately reflected | Requires rebuild |
| Tests | Source code | Built artifact |
| Use case | Developer workflow | E2E SDLC validation |
Other Environments
# Code quality checks
hatch run precommit:check # Run all checks (format, lint, type)
hatch run precommit:fix # Auto-fix formatting and linting issues
# Reference connector tests (for compatibility testing)
PYTHON_REFERENCE_DRIVER_VERSION=3.17.2 hatch run reference:test
References
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file snowflake_connector_python-5.0.0b1.tar.gz.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1.tar.gz
- Upload date:
- Size: 889.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17ea11f28f53dc6a41eb35cf4348ee58d9ea7f2c4cc32011cc82fbfef66519ba
|
|
| MD5 |
acfa552befd9d564facce620a7afd9f3
|
|
| BLAKE2b-256 |
9af4e90ee73d28d2479d92312c50774dcf4b62505de8e90ab1f276243c4963cd
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 10.8 MB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20fc68e78c1ae8d27e1d4292f95529e707adec39a3e6eeac322b4f5b4ca4e449
|
|
| MD5 |
6207a6a756de8ecf46a3a9f3f035282e
|
|
| BLAKE2b-256 |
04ee5a0ed4dc12f9b51d90dc39dcd214047b61dee93a3602046b670f233c2f43
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp314-cp314-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp314-cp314-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 12.6 MB
- Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc193602e00d224b2feeb6bf78537cfa3423ad3ae170357b8db9fe1ae64abd43
|
|
| MD5 |
22c59ce6130d6a13889ce8e8400ef63e
|
|
| BLAKE2b-256 |
fbd37f5be6f7bf94abc65621ea0c29f246ec896b2adb2c9fb455ffa2016c7c11
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp314-cp314-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp314-cp314-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 12.3 MB
- Tags: CPython 3.14, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bcd2673ad2cff72f195cd2982e3d5f8c0a96d5e9ef4a184615a3068fee537a0d
|
|
| MD5 |
63a20a6d807e86079045f2ae57138bea
|
|
| BLAKE2b-256 |
e91d416eed7c8a6eadc9b2f57c38fd8ef9b1d2b693fc561e3fe8d125463891e2
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 9.8 MB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9299d44bc4d484008f020f6c879685a1360b30d6bc76c6dbe0fa423e65c30186
|
|
| MD5 |
b903fd3380424aa11ba266c9e856e7f3
|
|
| BLAKE2b-256 |
edf0b2161f3886dc8bda4cf698e957a33d08d55afb11cd3de7c50c18fb5f0096
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp314-cp314-macosx_10_15_x86_64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp314-cp314-macosx_10_15_x86_64.whl
- Upload date:
- Size: 9.9 MB
- Tags: CPython 3.14, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea5a81851ed799098d4dacd5e6685e0e637b6ec2193136011a262d122c1d801b
|
|
| MD5 |
0f82fbae07b36cb2d7c3ae550dc68093
|
|
| BLAKE2b-256 |
f5ab7ce199a09ffaeea9e022f25b0b161f64529b65323eda5b93e88767f6f939
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 10.4 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
892992aee45e8e10438b16127ef9cd45d1118d07fb39eb543f30e93f91dac259
|
|
| MD5 |
442270138a02a4f201e313c979584127
|
|
| BLAKE2b-256 |
e690efbe3b9391e37ead2c416c88815335a4d0f2272f6342d117b9a1a2225a0e
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 12.6 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c51541bf2f0747209d3af3505e429e353366934a6481acbe351d523e319b52f9
|
|
| MD5 |
311c8abbee857e709b2399876b17a20d
|
|
| BLAKE2b-256 |
f32a8363a4b303b96186dbaeba38fdee6fc7259e522460f5c7ce396a5299ae58
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp313-cp313-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp313-cp313-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 12.3 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e706422c6878b9c39be7c1c355ad7737f6a9854b30cbec9984f6e59bb8d1b845
|
|
| MD5 |
dc21330b69acd8f5556d345a26d5df53
|
|
| BLAKE2b-256 |
6a13e69ae4b59034e8c70ec346c02d436aaa424857a0c868ffaefd39b2680b81
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 9.8 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48e8d11783d8b8ed0061e0c052110cc6a7b36316b500115a7c65d0c01df77104
|
|
| MD5 |
e43d75fa54ee956231cb429781473fc1
|
|
| BLAKE2b-256 |
a96a2662a78345411385b54511d7540f2bdc55f969e12a77f6c7401cfb22544c
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp313-cp313-macosx_10_14_x86_64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp313-cp313-macosx_10_14_x86_64.whl
- Upload date:
- Size: 9.9 MB
- Tags: CPython 3.13, macOS 10.14+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c7cedf18e6b2111d01f6193cf9bf0e424e2176d9f9e9c66dd5952d3bf95cd99
|
|
| MD5 |
96a2e67049b1a846a5e0909d06fb1e7e
|
|
| BLAKE2b-256 |
2886b08cf5ee4e086210a76b9bccf7981b08a6bf3c0a186acf08e7ad144da19e
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp312-cp312-win_arm64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp312-cp312-win_arm64.whl
- Upload date:
- Size: 10.4 MB
- Tags: CPython 3.12, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab9185db9f2dc25d8c8c3830e143e488c471a8faecfe0597ab18d67dc6136c94
|
|
| MD5 |
d2ac9681d9c7c93799f0e7957452a7d8
|
|
| BLAKE2b-256 |
3dae4f90c3239c6586574ce85a30533ee8994a69a60df3b8e22ea44f0b6114e0
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 10.4 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec3d86d585573e04d044ba529410bf8c4ef73325498d668aed29e24a37bda472
|
|
| MD5 |
1be1c47c853c9a07c6d5f13a2be3baec
|
|
| BLAKE2b-256 |
fba595b65a8f0bd8f72e679da42bf31eb5ec78d76499ded67c6633f02373da6a
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 12.6 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b167af2679e4aa0814f006b8af794bbbca8f57be86e51a1226e550b2a3cc26b6
|
|
| MD5 |
c9ae79ef771814f668af4dac1d5d89e3
|
|
| BLAKE2b-256 |
3c426dd93892d6da87d368cee50f25694b3ac224a64180f1551f66e6ad08ada0
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp312-cp312-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp312-cp312-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 12.3 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09a7191af1aceb44486d9bae6247e4689f810b30998be5a76ea3223af096f3ae
|
|
| MD5 |
fb2661bd03a6bdc018cb67c8f923d03c
|
|
| BLAKE2b-256 |
0780daa09512a273f1299c785d7ffcbe3f15c86e2c695c8f68f4e716de0a4390
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 9.8 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f900f5e3685a7e604e42f97b192d7eec29d37b16650e9a39dc1a4cb8fd76bc8
|
|
| MD5 |
ba9d44f8028feed22818253883e7a979
|
|
| BLAKE2b-256 |
cf960be5e86d4a0470454103fdd9de9eb2f423f0af59f2f4def1f422364e9866
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp312-cp312-macosx_10_14_x86_64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp312-cp312-macosx_10_14_x86_64.whl
- Upload date:
- Size: 9.9 MB
- Tags: CPython 3.12, macOS 10.14+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a58067769f52fd266e1c5acc09d068810611a208f14f47ae4b31eff9361f2124
|
|
| MD5 |
d34272e2e48c435e66eea67f23191fec
|
|
| BLAKE2b-256 |
35658521ca067607a712cc078b0fe051d3db963a56a63d6df7f575ece8012cfc
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp311-cp311-win_arm64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp311-cp311-win_arm64.whl
- Upload date:
- Size: 10.4 MB
- Tags: CPython 3.11, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0e8e353ed96cf748f71c6b97bb6022de626bc853d33620d0ae09fb938b6e746
|
|
| MD5 |
ca08329dc371389a194f60ffca6730ed
|
|
| BLAKE2b-256 |
875027b202efec30f8444e68ff373522c526681516d2135e18c1e06bbdabb9b9
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 10.4 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f70592c2a3770b2b73c98185a2e14c2e9cdd854e8246f785264b8e27a11f2a07
|
|
| MD5 |
dd1780bb5328f66558f0b0660f13916f
|
|
| BLAKE2b-256 |
08818582c72f25c1a88aa5d820059c1f52c8fa37f36929d6927ecb1347e24559
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 12.6 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d3c895dda55eab1bd33392f687bed3488446b0295006133623f1ed26a642ba9
|
|
| MD5 |
c03a9d014b3e6fcc7474991439a8af91
|
|
| BLAKE2b-256 |
9d867fb046b5a427984587e1116c92e5679b4832b485fa42531ef584d5f687d2
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp311-cp311-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp311-cp311-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 12.3 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b049054cedefc72c880fc16afbe0baf787b3577a570e88ef21833b2718a381b
|
|
| MD5 |
ad0c78866abae112dad22bc1139c7f01
|
|
| BLAKE2b-256 |
21e26a11862baa26c4c4e8dbcedc7dd26150709b29ba000d38538f67cde5ed8c
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 9.8 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d247e5df56391f49b7aa03f99fd40019e516bbe02e1fc098fbc252dd318fe37b
|
|
| MD5 |
dbfb6f0fb2c434cdcb11bc68668b2153
|
|
| BLAKE2b-256 |
4cc944ace8a56757ba1572be26ee1a1d0dd14f28c68196586f54f4efd5452529
|
File details
Details for the file snowflake_connector_python-5.0.0b1-cp311-cp311-macosx_10_14_x86_64.whl.
File metadata
- Download URL: snowflake_connector_python-5.0.0b1-cp311-cp311-macosx_10_14_x86_64.whl
- Upload date:
- Size: 9.9 MB
- Tags: CPython 3.11, macOS 10.14+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0ca7da13a3c377d6f2b9b2c96394364392b4ff1c498ce27c0d972b242a648d4
|
|
| MD5 |
f0b7683670add7edcf5606817a137329
|
|
| BLAKE2b-256 |
d7afd052ed0b373c6941850efea9f0356a40d09b59b862da23f8fbd31842a9c8
|