The .club Club

PugSQL
SQL is Extremely Good, Actually

PugSQL is a simple Python interface for using parameterized SQL, in files, with any SQLAlchemy-supported database.

import pugsql

# Create a module of database functions from a set of sql files on disk.
queries = pugsql.module('resources/sql')

# Point the module at your database.
queries.connect('sqlite:///foo.db')

# Invoke parameterized queries, receive dicts!
user = queries.find_user(user_id=42)

# -> { 'user_id': 42, 'username': 'mcfunley' }

In the example above, the query would be specified like this:

-- :name find_user :one
select * from users where user_id = :user_id

So throw away your bulky ORM and talk to your database the way the gods intended! Install PugSQL today!

$ pip install pugsql

PugSQL was inspired by the amazing HugSQL library for the Clojure programming language.