Metadata-Version: 2.4
Name: supersql
Version: 2026.2.6
Summary: Thin wrapper on top of SQL that enables you write SQL code in python easily
License: MIT
License-File: LICENSE.md
Keywords: SQL,Database,Python
Author: Raymond Ortserga
Author-email: codesage@live.com
Requires-Python: >=3.6,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
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 :: Software Development :: Libraries :: Python Modules
Provides-Extra: athena
Provides-Extra: mariadb
Provides-Extra: mssql
Provides-Extra: mysql
Provides-Extra: oracle
Provides-Extra: oracledb
Provides-Extra: postgres
Provides-Extra: postgresql
Provides-Extra: presto
Provides-Extra: sqlite
Provides-Extra: sqlserver
Project-URL: Documentation, https://rayattack.github.io/supersql
Project-URL: Repository, https://github.com/rayattack/supersql
Description-Content-Type: text/markdown

# SuperSQL: SQL for Humans

**SuperSQL** is a powerful, pythonic SQL query builder that lets you write SQL using native Python objects.

It is **NOT an ORM**. There are no magic `.save()` methods, no hidden lazy-loading, and no confusing state management. You write explicit SQL queries (`SELECT`, `INSERT`, `UPDATE`) using a fluent Python API that looks and feels like SQL, but with the power of Python's type system and tooling.

---

### Features

-   **Pythonic Syntax**: Write SQL using chainable Python methods (`.SELECT().FROM().WHERE()`).
-   **Type Safe**: Define tables using Python classes for autocomplete and validation.
-   **Vendor Agnostic**: Support for PostgreSQL, MySQL, SQLite, Oracle, and SQL Server.
-   **Async & Sync**: Built for modern async Python (asyncio) but supports sync execution.
-   **No Magic**: You control the exact SQL being generated.
-   **Pytastic Integration**: Built-in schema validation using Pytastic.

---

### Installation

```bash
# Install with PostgreSQL support
pip install supersql[postgres]

# Or with all drivers
pip install supersql[postgres,mysql,sqlite]
```

### Quick Start

```python
from supersql import Query, Table

# 1. Connect to your database
query = Query("postgres", database="mydb")

# 2. Define your Table (Dynamic, no class needed!)
users = Table("users")

# 3. Write Pythonic SQL
# SELECT name, email FROM users WHERE age > 25
results = await query.SELECT(
    users.name, users.email
).FROM(
    users
).WHERE(
    users.age > 25
).run()
```

### Why SuperSQL?

SuperSQL gives you the power of a Query Builder without the overhead of an ORM.

1.  **Zero Boilerplate**: No need to define classes or duplicate your schema in Python.
2.  **Explicit Control**: You control the exact SQL execution.
3.  **Dynamic**: Works great with ad-hoc queries or evolving schemas.

---

[Read the Documentation](https://rayattack.github.io/supersql/)

