Module pugsql
PugSQL is an anti-ORM that facilitates interacting with databases using SQL in files. A minimal usage example:
# create a module from sql files on disk
queries = pugsql.module('path/to/sql/files')
# connect to the database and use the sql queries as functions
queries.connect(connection_string)
queries.update_username(user_id=42, username='mcfunley')
Source code
"""
PugSQL is an anti-ORM that facilitates interacting with databases using SQL
in files. A minimal usage example:
# create a module from sql files on disk
queries = pugsql.module('path/to/sql/files')
# connect to the database and use the sql queries as functions
queries.connect(connection_string)
queries.update_username(user_id=42, username='mcfunley')
"""
from . import compiler
__version__ = '0.2.0'
def module(sqlpath, encoding=None):
"""
Compiles a set of SQL files in the directory specified by sqlpath, and
returns a module. The module contains a function for each named query
found in the files.
# create a module from sql files on disk
queries = pugsql.module('path/to/sql/files')
# connect to the database and use the sql queries as functions
queries.connect(connection_string)
queries.update_username(user_id=42, username='mcfunley')
"""
return compiler.Module(sqlpath, encoding=encoding)
__all__ = ['__version__', 'module',]
Sub-modules
pugsql.compiler
-
Code that processes SQL files and returns modules of database functions.
pugsql.context
-
Objects and methods used to keep track of positions in source files.
pugsql.exceptions
-
Exception types raised by PugSQL. PugSQL will also raise built-in exceptions when they're appropriate.
pugsql.lexer
-
Functions that take strings and yield streams or dicts of
Token
objects, keeping track of source location. pugsql.parser
-
Code that consumes PugSQL-dialect sql strings and returns validated
Statement
objects. pugsql.statement
-
Compiled SQL function objects.
Functions
def module(sqlpath, encoding=None)
-
Compiles a set of SQL files in the directory specified by sqlpath, and returns a module. The module contains a function for each named query found in the files.
# create a module from sql files on disk queries = pugsql.module('path/to/sql/files') # connect to the database and use the sql queries as functions queries.connect(connection_string) queries.update_username(user_id=42, username='mcfunley')
Source code
def module(sqlpath, encoding=None): """ Compiles a set of SQL files in the directory specified by sqlpath, and returns a module. The module contains a function for each named query found in the files. # create a module from sql files on disk queries = pugsql.module('path/to/sql/files') # connect to the database and use the sql queries as functions queries.connect(connection_string) queries.update_username(user_id=42, username='mcfunley') """ return compiler.Module(sqlpath, encoding=encoding)