19473154483ebcdbc5c50b902f9e4561280b8998
Quicker is a pythonic tool for querying databases.
Quicker wraps popular Python packages:
mysqlclientfor MySQL.psycopg2for PostgreSQL (not implemented yet).- Python builtin
sqlitefor SQLite (not implemented yet).
Connection parameters will passed to "backend" module as is.
Usage
Connection is context manages and must be used with with keyword. Connection returns Query callable object. Query can be called in this ways:
with Connection(**config) as db:
db.exec("sql query here...")
db.query(sql query here...") # query is alias for exec()
# Query is callable and you can also do this:
with Connection(**config) as query:
query("sql query here...")
Query cannot be called itself, you must use Connection to correctly initialise Query object.
Methods and properties:
query(),exec(). Execute SQL. There is You can use here this syntax:query('SELECT * FROM users WHERE id = %s', (15,)).commit(). Write changes into database.cursor. Call MySQLdb Cursor object methods directly.
import json
from quicker import Connection
config = {
'provider': 'mysql',
'host': '127.0.0.1',
'port': 3306,
'user': 'myuser',
'database': 'mydb',
'password': 'example',
}
with Connection(**config) as query:
users = query("SELECT * FROM `users`")
print(json.dumps(users, indent=4))
users will presented as list of dicts:
[
{
'id': 1,
'name': 'test',
'email': 'noreply@localhost'
},
{
'id': 2,
'name': 'user1',
'email': 'my@example.com'
}
]
from quicker import Connection
with Connection(provider='mysql', read_default_file='~/.my.cnf') as db:
db.query("INSERT INTO users VALUE (3, 'user2', 'user2@example.org')")
Quicker by default make commit after closing context. Set option commit=False to disable automatic commit.
Description
Languages
Python
100%