Thin wrapper on top of SQL that enables you write SQL code in python easily
Project description
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
# Install with PostgreSQL support
pip install supersql[postgres]
# Or with all drivers
pip install supersql[postgres,mysql,sqlite]
Quick Start
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.
- Zero Boilerplate: No need to define classes or duplicate your schema in Python.
- Explicit Control: You control the exact SQL execution.
- Dynamic: Works great with ad-hoc queries or evolving schemas.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file supersql-2026.2.8.tar.gz.
File metadata
- Download URL: supersql-2026.2.8.tar.gz
- Upload date:
- Size: 31.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.12.3 Linux/6.14.0-37-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30fd2fa4287c5ced00c72eda31e3faa6827d4f537c67599b1b3b8fa9ef7c8c92
|
|
| MD5 |
9c497056b3b7de1230b5093d3bf61182
|
|
| BLAKE2b-256 |
ece40af209f84b6545d0e910e29c9ce829ed9678f9de1454289825a82c636d63
|
File details
Details for the file supersql-2026.2.8-py3-none-any.whl.
File metadata
- Download URL: supersql-2026.2.8-py3-none-any.whl
- Upload date:
- Size: 43.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.12.3 Linux/6.14.0-37-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b77ad4fc509ea5f8e926cb90590f1aee54408d6e185c9895a420cd496eb90ee
|
|
| MD5 |
d8699bc0f984356576c5f42382cd96ec
|
|
| BLAKE2b-256 |
14e023e5afdd09815c6449275ea34c7cc8f830225b69b122eb0f4f8ad2d1ca74
|