# Snowflake Connection Reference

## Python (snowflake-connector-python)

Key pair authentication with encrypted private key:

```python
import os
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.backends import default_backend
import snowflake.connector

# Load private key
private_key_pem = os.environ["CLIENTX_SNOWFLAKE_PRIVATE_KEY"]
passphrase = os.environ.get("CLIENTX_SNOWFLAKE_PASSPHRASE")
p_key = serialization.load_pem_private_key(
    private_key_pem.encode(),
    password=passphrase.encode() if passphrase else None,
    backend=default_backend(),
)
pkb = p_key.private_bytes(
    encoding=serialization.Encoding.DER,
    format=serialization.PrivateFormat.PKCS8,
    encryption_algorithm=serialization.NoEncryption(),
)

conn = snowflake.connector.connect(
    account=os.environ["CLIENTX_SNOWFLAKE_ACCOUNT"],
    user=os.environ["CLIENTX_SNOWFLAKE_USER"],
    private_key=pkb,
    warehouse=os.environ.get("CLIENTX_SNOWFLAKE_WAREHOUSE"),
    database=os.environ.get("CLIENTX_SNOWFLAKE_DATABASE"),
    schema=os.environ.get("CLIENTX_SNOWFLAKE_SCHEMA"),
    role=os.environ.get("CLIENTX_SNOWFLAKE_ROLE"),
)
```

Replace `CLIENTX` with the actual env var prefix for the connection you need (e.g., `TASTYURBAN`).
