Skip to main content

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-wheel script
  • 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

snowflake_connector_python-5.0.0b1.tar.gz (889.6 kB view details)

Uploaded Source

Built Distributions

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

snowflake_connector_python-5.0.0b1-cp314-cp314-win_amd64.whl (10.8 MB view details)

Uploaded CPython 3.14Windows x86-64

snowflake_connector_python-5.0.0b1-cp314-cp314-manylinux_2_28_x86_64.whl (12.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

snowflake_connector_python-5.0.0b1-cp314-cp314-manylinux_2_28_aarch64.whl (12.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

snowflake_connector_python-5.0.0b1-cp314-cp314-macosx_11_0_arm64.whl (9.8 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

snowflake_connector_python-5.0.0b1-cp314-cp314-macosx_10_15_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

snowflake_connector_python-5.0.0b1-cp313-cp313-win_amd64.whl (10.4 MB view details)

Uploaded CPython 3.13Windows x86-64

snowflake_connector_python-5.0.0b1-cp313-cp313-manylinux_2_28_x86_64.whl (12.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

snowflake_connector_python-5.0.0b1-cp313-cp313-manylinux_2_28_aarch64.whl (12.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

snowflake_connector_python-5.0.0b1-cp313-cp313-macosx_11_0_arm64.whl (9.8 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

snowflake_connector_python-5.0.0b1-cp313-cp313-macosx_10_14_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.13macOS 10.14+ x86-64

snowflake_connector_python-5.0.0b1-cp312-cp312-win_arm64.whl (10.4 MB view details)

Uploaded CPython 3.12Windows ARM64

snowflake_connector_python-5.0.0b1-cp312-cp312-win_amd64.whl (10.4 MB view details)

Uploaded CPython 3.12Windows x86-64

snowflake_connector_python-5.0.0b1-cp312-cp312-manylinux_2_28_x86_64.whl (12.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

snowflake_connector_python-5.0.0b1-cp312-cp312-manylinux_2_28_aarch64.whl (12.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

snowflake_connector_python-5.0.0b1-cp312-cp312-macosx_11_0_arm64.whl (9.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

snowflake_connector_python-5.0.0b1-cp312-cp312-macosx_10_14_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.12macOS 10.14+ x86-64

snowflake_connector_python-5.0.0b1-cp311-cp311-win_arm64.whl (10.4 MB view details)

Uploaded CPython 3.11Windows ARM64

snowflake_connector_python-5.0.0b1-cp311-cp311-win_amd64.whl (10.4 MB view details)

Uploaded CPython 3.11Windows x86-64

snowflake_connector_python-5.0.0b1-cp311-cp311-manylinux_2_28_x86_64.whl (12.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

snowflake_connector_python-5.0.0b1-cp311-cp311-manylinux_2_28_aarch64.whl (12.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

snowflake_connector_python-5.0.0b1-cp311-cp311-macosx_11_0_arm64.whl (9.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

snowflake_connector_python-5.0.0b1-cp311-cp311-macosx_10_14_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.11macOS 10.14+ x86-64

File details

Details for the file snowflake_connector_python-5.0.0b1.tar.gz.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1.tar.gz
Algorithm Hash digest
SHA256 17ea11f28f53dc6a41eb35cf4348ee58d9ea7f2c4cc32011cc82fbfef66519ba
MD5 acfa552befd9d564facce620a7afd9f3
BLAKE2b-256 9af4e90ee73d28d2479d92312c50774dcf4b62505de8e90ab1f276243c4963cd

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 20fc68e78c1ae8d27e1d4292f95529e707adec39a3e6eeac322b4f5b4ca4e449
MD5 6207a6a756de8ecf46a3a9f3f035282e
BLAKE2b-256 04ee5a0ed4dc12f9b51d90dc39dcd214047b61dee93a3602046b670f233c2f43

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bc193602e00d224b2feeb6bf78537cfa3423ad3ae170357b8db9fe1ae64abd43
MD5 22c59ce6130d6a13889ce8e8400ef63e
BLAKE2b-256 fbd37f5be6f7bf94abc65621ea0c29f246ec896b2adb2c9fb455ffa2016c7c11

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bcd2673ad2cff72f195cd2982e3d5f8c0a96d5e9ef4a184615a3068fee537a0d
MD5 63a20a6d807e86079045f2ae57138bea
BLAKE2b-256 e91d416eed7c8a6eadc9b2f57c38fd8ef9b1d2b693fc561e3fe8d125463891e2

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9299d44bc4d484008f020f6c879685a1360b30d6bc76c6dbe0fa423e65c30186
MD5 b903fd3380424aa11ba266c9e856e7f3
BLAKE2b-256 edf0b2161f3886dc8bda4cf698e957a33d08d55afb11cd3de7c50c18fb5f0096

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ea5a81851ed799098d4dacd5e6685e0e637b6ec2193136011a262d122c1d801b
MD5 0f82fbae07b36cb2d7c3ae550dc68093
BLAKE2b-256 f5ab7ce199a09ffaeea9e022f25b0b161f64529b65323eda5b93e88767f6f939

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 892992aee45e8e10438b16127ef9cd45d1118d07fb39eb543f30e93f91dac259
MD5 442270138a02a4f201e313c979584127
BLAKE2b-256 e690efbe3b9391e37ead2c416c88815335a4d0f2272f6342d117b9a1a2225a0e

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c51541bf2f0747209d3af3505e429e353366934a6481acbe351d523e319b52f9
MD5 311c8abbee857e709b2399876b17a20d
BLAKE2b-256 f32a8363a4b303b96186dbaeba38fdee6fc7259e522460f5c7ce396a5299ae58

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e706422c6878b9c39be7c1c355ad7737f6a9854b30cbec9984f6e59bb8d1b845
MD5 dc21330b69acd8f5556d345a26d5df53
BLAKE2b-256 6a13e69ae4b59034e8c70ec346c02d436aaa424857a0c868ffaefd39b2680b81

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 48e8d11783d8b8ed0061e0c052110cc6a7b36316b500115a7c65d0c01df77104
MD5 e43d75fa54ee956231cb429781473fc1
BLAKE2b-256 a96a2662a78345411385b54511d7540f2bdc55f969e12a77f6c7401cfb22544c

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp313-cp313-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp313-cp313-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 5c7cedf18e6b2111d01f6193cf9bf0e424e2176d9f9e9c66dd5952d3bf95cd99
MD5 96a2e67049b1a846a5e0909d06fb1e7e
BLAKE2b-256 2886b08cf5ee4e086210a76b9bccf7981b08a6bf3c0a186acf08e7ad144da19e

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 ab9185db9f2dc25d8c8c3830e143e488c471a8faecfe0597ab18d67dc6136c94
MD5 d2ac9681d9c7c93799f0e7957452a7d8
BLAKE2b-256 3dae4f90c3239c6586574ce85a30533ee8994a69a60df3b8e22ea44f0b6114e0

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ec3d86d585573e04d044ba529410bf8c4ef73325498d668aed29e24a37bda472
MD5 1be1c47c853c9a07c6d5f13a2be3baec
BLAKE2b-256 fba595b65a8f0bd8f72e679da42bf31eb5ec78d76499ded67c6633f02373da6a

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b167af2679e4aa0814f006b8af794bbbca8f57be86e51a1226e550b2a3cc26b6
MD5 c9ae79ef771814f668af4dac1d5d89e3
BLAKE2b-256 3c426dd93892d6da87d368cee50f25694b3ac224a64180f1551f66e6ad08ada0

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 09a7191af1aceb44486d9bae6247e4689f810b30998be5a76ea3223af096f3ae
MD5 fb2661bd03a6bdc018cb67c8f923d03c
BLAKE2b-256 0780daa09512a273f1299c785d7ffcbe3f15c86e2c695c8f68f4e716de0a4390

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f900f5e3685a7e604e42f97b192d7eec29d37b16650e9a39dc1a4cb8fd76bc8
MD5 ba9d44f8028feed22818253883e7a979
BLAKE2b-256 cf960be5e86d4a0470454103fdd9de9eb2f423f0af59f2f4def1f422364e9866

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp312-cp312-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 a58067769f52fd266e1c5acc09d068810611a208f14f47ae4b31eff9361f2124
MD5 d34272e2e48c435e66eea67f23191fec
BLAKE2b-256 35658521ca067607a712cc078b0fe051d3db963a56a63d6df7f575ece8012cfc

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp311-cp311-win_arm64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 b0e8e353ed96cf748f71c6b97bb6022de626bc853d33620d0ae09fb938b6e746
MD5 ca08329dc371389a194f60ffca6730ed
BLAKE2b-256 875027b202efec30f8444e68ff373522c526681516d2135e18c1e06bbdabb9b9

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f70592c2a3770b2b73c98185a2e14c2e9cdd854e8246f785264b8e27a11f2a07
MD5 dd1780bb5328f66558f0b0660f13916f
BLAKE2b-256 08818582c72f25c1a88aa5d820059c1f52c8fa37f36929d6927ecb1347e24559

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4d3c895dda55eab1bd33392f687bed3488446b0295006133623f1ed26a642ba9
MD5 c03a9d014b3e6fcc7474991439a8af91
BLAKE2b-256 9d867fb046b5a427984587e1116c92e5679b4832b485fa42531ef584d5f687d2

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9b049054cedefc72c880fc16afbe0baf787b3577a570e88ef21833b2718a381b
MD5 ad0c78866abae112dad22bc1139c7f01
BLAKE2b-256 21e26a11862baa26c4c4e8dbcedc7dd26150709b29ba000d38538f67cde5ed8c

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d247e5df56391f49b7aa03f99fd40019e516bbe02e1fc098fbc252dd318fe37b
MD5 dbfb6f0fb2c434cdcb11bc68668b2153
BLAKE2b-256 4cc944ace8a56757ba1572be26ee1a1d0dd14f28c68196586f54f4efd5452529

See more details on using hashes here.

File details

Details for the file snowflake_connector_python-5.0.0b1-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for snowflake_connector_python-5.0.0b1-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 b0ca7da13a3c377d6f2b9b2c96394364392b4ff1c498ce27c0d972b242a648d4
MD5 f0b7683670add7edcf5606817a137329
BLAKE2b-256 d7afd052ed0b373c6941850efea9f0356a40d09b59b862da23f8fbd31842a9c8

See more details on using hashes here.

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