RETIRED, further work has moved to Debian project infrastructure
Go to file
Joshua Harlow a8a7ba63e8 Update 'ChangeLog' with retry _util class additions 2015-06-18 08:29:56 -07:00
doc/source Fix the generated docs displayed version 2015-06-13 18:25:39 -07:00
fasteners Remove extranous comma 2015-06-16 23:51:20 -07:00
.travis.yml Ensure travis installs test-requirements.txt 2015-03-10 11:21:27 -07:00
ChangeLog Update 'ChangeLog' with retry _util class additions 2015-06-18 08:29:56 -07:00
LICENSE Initial commit 2015-03-10 10:15:04 -07:00
MANIFEST.in Add ChangeLog and README.rst to MANIFEST.in 2015-06-12 16:08:50 -07:00
README.rst Add latest version badge to README.rst 2015-06-16 08:37:00 -07:00
setup.cfg Add a setup.cfg file 2015-05-23 18:45:26 -07:00
setup.py Release 0.11 2015-06-16 10:44:12 -07:00
test-requirements.txt Ensure sphinx sphinx-rtd-theme is listed in test-requirements.txt 2015-06-06 18:41:33 -07:00
tox.ini Remove py33 support 2015-03-10 11:06:42 -07:00

README.rst

Fasteners

image

Documentation Status

Downloads

Latest Version

Overview

A python package that provides useful locks.

It includes the following.

Locking decorator

  • Helpful locked decorator (that acquires instance objects lock(s) and acquires on method entry and releases on method exit).

Reader-writer locks

  • Multiple readers (at the same time).
  • Single writers (blocking any readers).
  • Helpful read_locked and write_locked decorators.

Inter-process locks

  • Single writer using file based locking (these automatically release on process exit, even if __release__ or __exit__ is never called).
  • Helpful interprocess_locked decorator.

Generic helpers

  • A try_lock helper context manager that will attempt to acquire a given lock and provide back whether the attempt passed or failed (if it passes, then further code in the context manager will be ran with the lock acquired).