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.