Giter Club home page Giter Club logo

zpgdb's Introduction

zpgdb - Python library for simple PostgreSQL connection and transaction management

zpgdb is a small library to ease the management of PostgreSQL database connection between your app modules and packages, and provides a simple context manager to wrap code that should run database commands inside a transaction, with automatic commit or rollback.

Database connections are reused and one connection is opened by thread. Only one connection type is permitted at this time (eg, the same host, port, user and password and database).

Persistent connections are tested before used for commands, and they are automatically reopened in case they were lost, dealing with PostgreSQL restarts transparently.

How to install

pip install zpgdb

How to use

# You can import the module on every package/module you want to share
# the database connection.
import zpgdb as db

# The access configuration needs to be done only one time, preferably
# inside your __main__ block.
db.config_connection(host, port, user, password, database)

# You can get the connection object directly. `getdb()` will start a
# new connection if there is no connection opened with the actual thread.
dbh = db.getdb()

# Or you can start a context manager getting a cursor, with automatic
# commit on finish, or rollback in case there is a exception thrown.
with db.trans() as c:
	c.execute('...')
	c.execute('...')
	for row in c:
		...

zpgdb's People

Contributors

zanardo avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.