Metadata-Version: 2.4
Name: sqlspec
Version: 0.3.0
Summary: SQL Experiments in Python
Author-email: Cody Fincher <cody@litestar.dev>
Maintainer-email: Litestar Developers <hello@litestar.dev>
License-File: NOTICE
Requires-Python: <4.0,>=3.9
Requires-Dist: eval-type-backport; python_version <= '3.9'
Requires-Dist: sqlglot
Requires-Dist: typing-extensions>=4.0.0
Provides-Extra: adbc
Requires-Dist: adbc-driver-manager; extra == 'adbc'
Requires-Dist: pyarrow; extra == 'adbc'
Provides-Extra: aioodbc
Requires-Dist: aioodbc; extra == 'aioodbc'
Provides-Extra: aiosqlite
Requires-Dist: aiosqlite; extra == 'aiosqlite'
Provides-Extra: asyncmy
Requires-Dist: asyncmy; extra == 'asyncmy'
Provides-Extra: asyncpg
Requires-Dist: asyncpg; extra == 'asyncpg'
Provides-Extra: bigquery
Requires-Dist: google-cloud-bigquery; extra == 'bigquery'
Provides-Extra: duckdb
Requires-Dist: duckdb; extra == 'duckdb'
Provides-Extra: fastapi
Requires-Dist: fastapi; extra == 'fastapi'
Provides-Extra: flask
Requires-Dist: flask; extra == 'flask'
Provides-Extra: litestar
Requires-Dist: litestar; extra == 'litestar'
Provides-Extra: msgspec
Requires-Dist: msgspec; extra == 'msgspec'
Provides-Extra: oracledb
Requires-Dist: oracledb; extra == 'oracledb'
Provides-Extra: performance
Requires-Dist: google-re2; (sys_platform == 'linux') and extra == 'performance'
Requires-Dist: sqlglot[rs]; extra == 'performance'
Provides-Extra: psycopg
Requires-Dist: psycopg[binary,pool]; extra == 'psycopg'
Provides-Extra: pydantic
Requires-Dist: pydantic; extra == 'pydantic'
Provides-Extra: pymssql
Requires-Dist: pymssql; extra == 'pymssql'
Provides-Extra: pymysql
Requires-Dist: pymysql; extra == 'pymysql'
Provides-Extra: spanner
Requires-Dist: google-cloud-spanner; extra == 'spanner'
Description-Content-Type: text/markdown

<!-- markdownlint-disable -->
<p align="center">
  <!-- github-banner-start -->
  <img src="https://raw.githubusercontent.com/litestar-org/branding/main/assets/Branding%20-%20SVG%20-%20Transparent/Logo%20-%20Banner%20-%20Inline%20-%20Light.svg#gh-light-mode-only" alt="Litestar Logo - Light" width="100%" height="auto" />
  <img src="https://raw.githubusercontent.com/litestar-org/branding/main/assets/Branding%20-%20SVG%20-%20Transparent/Logo%20-%20Banner%20-%20Inline%20-%20Dark.svg#gh-dark-mode-only" alt="Litestar Logo - Dark" width="100%" height="auto" />
  <!-- github-banner-end -->

</p>
<div align="center">
<!-- markdownlint-restore -->

# SQLSpec

SQL Experiments in Python


## Minimal SQL Abstractions for Python.

- Modern: Typed and Extensible
- Multi-database: SQLite, Postgres, DuckDB, MySQL, Oracle, SQL Server, Spanner, Big Query, and more...
- Easy ability to manipulate and add filters to queries
- Validate and Convert between dialects with `sqlglot`
- and more...

## Can it do `X`?

- Probably not currently; but, if it makes sense we can add enhancements.

## Inspiration

`aiosql` is the primary influence for this library.  However, I wanted to be able to use the query interface from `aiosql` a bit more flexibly.

Why not add it to `aiosql`?  Where it makes sense, many of these changes will likely get submitted to aiosql as a PR (`spanner` and `bigquery` drivers are likely the starting point.)
