Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Alchemytools is a set of helpers to be used in any SQLAlchemy project

Project Description

This project brings a set of useful tools to be used in any SQLAchemly project.

The idea is to save common problems, for example: Opening/Closing sessions, commiting the sesssin only at the end of the transaction, etc.

Available Tools

Here are all tools available in alchemytools.

Context Managers

managed

This is the basic context manager and it will commit and close your session automatically, at the end of the with block.

with managed(MySessionClass) as session:
    # Do what you need with your session
# Here the session is already closed and commited

If you raise any exception inside the with block, the session will be rolled back and the exception re-raised.

To avoid having all of the function body inside the with block, managed functions as a context manager as well.

@managed(MySessionClass)
def foo(session, *args, **kwargs):
    # Do what you need with your session
    pass

# call as if the session didn't exist:
foo(2, a='b')

The session is opened every time the function is called and closed whenever it returns or raises an exception. Autommit and rollback rules work as normal.

Additional options

auto_flush: Sets the autoflush option on the SQLAlchemy session, defaults fo False

Executing tests

$ python setup.py test
Release History

Release History

This version
History Node

0.5.2

History Node

0.5.1

History Node

0.4

History Node

0.3

History Node

0.2

History Node

0.1

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
Alchemytools-0.5.2.tar.gz (2.7 kB) Copy SHA256 Checksum SHA256 Source Nov 29, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting