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

Pure Python wrapper for elock distributed locking server.

Project Description

Pure Python wrapper for .

elock is "A simple, fault-tolerant distributed lock server in erlang." Using
it in Python allows you to do all sorts of cool stuff, like ensuring a Celery
task doesn't run more than once simultaneously, even across different Celery

Note, if you are already using Twisted in your project, you should check out
dustin's wrapper at .


Simple single lock:

with pyelock.ELockSingle(('', 11400), 'my_lock'):
# Do some stuff
except pyelock.LockInUse:
print "Can't do stuff, my_lock is in use"

If you want precise control over your locking behavior, or want to acquire
multiple locks, use the following code:

with pyelock.ELock(('', 11400)) as elock:
# Acquire a lock, waiting up to 30 seconds for it
if not elock.lock('my_lock', timeout=30.0):
print "Oh no, can't get my_lock"

# Acquire another lock, without waiting if it's locked
if not elock.lock('my_other_lock'):
print "Can't get my_other_lock"

# Do some stuff...

# Release first lock

# Do some other stuff...

# Note: you don't technically need to release locks right before the end
# of the 'with' block, since all locks held will be automatically released
# when the object is destroyed.
Release History

Release History

This version
History Node


History Node


History Node


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 (4.4 kB) Copy SHA256 Checksum SHA256 Source May 3, 2014

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