Metadata-Version: 2.4
Name: snowlib
Version: 0.4.4
Summary: Python-Snowflake utilities
Author: Rashad Aziz
Maintainer: Rashad Aziz
License-Expression: MIT
Project-URL: Homepage, https://github.com/rashtastic/snowlib
Project-URL: Documentation, https://github.com/rashtastic/snowlib
Project-URL: Repository, https://github.com/rashtastic/snowlib.git
Project-URL: Bug Tracker, https://github.com/rashtastic/snowlib/issues
Keywords: snowflake
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Database
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: licenses/THIRD_PARTY.md
Requires-Dist: snowflake-connector-python[pandas]>=3.17.0; python_version < "3.14"
Requires-Dist: snowflake-connector-python>=3.17.0; python_version >= "3.14"
Requires-Dist: pandas
Requires-Dist: tomli>=2.0.0; python_version < "3.11"
Requires-Dist: pyyaml
Requires-Dist: keyring
Requires-Dist: cryptography
Requires-Dist: pydantic>=2.0
Requires-Dist: importlib_resources>=1.3; python_version < "3.9"
Provides-Extra: sqlalchemy
Requires-Dist: sqlalchemy>=2.0; extra == "sqlalchemy"
Requires-Dist: snowflake-sqlalchemy>=1.6.0; extra == "sqlalchemy"
Provides-Extra: snowpark
Requires-Dist: snowflake-connector-python[pandas]<4.0.0,>=3.17.0; python_version < "3.14" and extra == "snowpark"
Requires-Dist: snowflake-connector-python<4.0.0,>=3.17.0; python_version >= "3.14" and extra == "snowpark"
Requires-Dist: snowflake-snowpark-python[modin]>=1.9.0; python_version < "3.14" and extra == "snowpark"
Requires-Dist: pyarrow<22.0.0; python_version == "3.9" and extra == "snowpark"
Requires-Dist: pyarrow>=22.0.0; python_version >= "3.10" and extra == "snowpark"
Provides-Extra: excel
Requires-Dist: xlrd; extra == "excel"
Requires-Dist: xlsxwriter; extra == "excel"
Requires-Dist: openpyxl; extra == "excel"
Requires-Dist: html5lib; extra == "excel"
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-xdist; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: pyright; extra == "dev"
Requires-Dist: types-pyyaml; extra == "dev"
Requires-Dist: pandas-stubs; extra == "dev"
Requires-Dist: ipykernel; extra == "dev"
Requires-Dist: tox; extra == "dev"
Requires-Dist: bandit; extra == "dev"
Requires-Dist: detect-secrets; extra == "dev"
Requires-Dist: pip-licenses; extra == "dev"
Requires-Dist: nbformat; extra == "dev"
Requires-Dist: snowlib[excel,snowpark,sqlalchemy]; extra == "dev"
Dynamic: license-file

# ❄️ SnowLib

[![PyPI](https://img.shields.io/pypi/v/snowlib.svg)](https://pypi.org/project/snowlib/)
[![Python Versions](https://img.shields.io/pypi/pyversions/snowlib.svg)](https://pypi.org/project/snowlib/)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
[![DOI (latest)](https://zenodo.org/badge/DOI/10.5281/zenodo.17354788.svg)](https://doi.org/10.5281/zenodo.17354788)

Python-Snowflake utilities

```bash
pip install snowlib
pip install snowlib[snowpark]
pip install snowlib[sqlalchemy]
pip install snowlib[excel]
```

## Compatibility

| Package | 3.14 | 3.13-3.10 | 3.9* |
|---------|:----:|:---------:|:----:|
| **snowflake-connector-python** | ≥3.17.0 | ≥3.17.0, <4.0.0 | ≥3.17.0, <4.0.0 |
| **snowflake-snowpark-python** | - | ≥1.9.0 | ≥1.9.0 |
| **sqlalchemy** | ≥2.0 | ≥2.0 | ≥2.0 |
| **snowflake-sqlalchemy** | ≥1.6.0 | ≥1.6.0 | ≥1.6.0 |
| **pandas** | 2.3.3 | 2.3.1 | 2.3.1 |
| **pyarrow** | ≥22.0.0 | ✓ | <22.0.0 |

**Notes:**
- Version ranges shown when specified in `pyproject.toml`
- ✓ = Supported
- \- = Not available (no compatible wheel or version constraint)
- Python 3.14: Base connector only (Snowpark requires <3.14)
- Python 3.9: PyArrow capped at <22.0.0 (22.0.0+ requires ≥3.10)
- SQLAlchemy support: `pip install snowlib[sqlalchemy]`
- \* Python 3.9 reached [end-of-life in October 2025](https://peps.python.org/pep-0596/#lifespan) - please consider upgrading
