Skip to main content

A SQL/database library

Project description

master Travis CI Status PyPi package version Documentation Status

quma is a small SQL database library for Python and PyPy version 3.5 and higher. It maps object methods to SQL script files and supports SQLite, PostgreSQL, MySQL and MariaDB.

Unlike ORMs, it allows to write SQL as it was intended and to use all features the DBMS provides. As it uses plain SQL files you can fully utilize your database editor or IDE to author your queries.

It also provides a simple connection pool.

Installation

pip install quma

Quick Start

The full documentation is available at https://quma.readthedocs.io

Given a directory with some SQL scripts e. g.:

/path/to/sql/scripts
├── users
│    ├── all.sql
│    └── remove.sql
└── get_admin.sql

You can access these scripts after connecting to the database:

from quma import Database

db = Database('sqlite:///:memory:', '/path/to/sql/scripts')

db.execute('CREATE TABLE users ...')

with db.cursor as cur:
    all_users = cur.users.all()

    for user in all_users:
        print(user['name'])

    cur.users.remove(id=user['id']).run()
    cur.commit()

    admin = cur.get_admin()

License

quma is released under the MIT license.

Copyright © 2018 ebene fünf GmbH. All rights reserved.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quma-0.1.0b2.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

quma-0.1.0b2-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

Details for the file quma-0.1.0b2.tar.gz.

File metadata

  • Download URL: quma-0.1.0b2.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for quma-0.1.0b2.tar.gz
Algorithm Hash digest
SHA256 88e535f46d4a8797abe5bd2eccd324d5bd3e2af406c6de0ef909beab27368cd6
MD5 dcb1e4a4105495963db427ca3cb381b3
BLAKE2b-256 2449b78d8d545032b2a721cc9fde5e1fc067a4cebd8c3608f5ed1e1585137bda

See more details on using hashes here.

File details

Details for the file quma-0.1.0b2-py3-none-any.whl.

File metadata

  • Download URL: quma-0.1.0b2-py3-none-any.whl
  • Upload date:
  • Size: 29.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for quma-0.1.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 ea2bc3c2384525a1baf06094f41eee827c3d87e04ae689c875cfc2458daf630f
MD5 ff8fa56cad69ba18cd19ee42215ec7ad
BLAKE2b-256 2ba47de89899cd7cc01ab3d1dceb9c5b9c080428ef30dac85df460b04ea3dc14

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page