RETIRED, further work has moved to Debian project infrastructure
Go to file
Joshua Harlow 9645fabfc7 Ensure we pull down futures for appveyor installs 2016-03-02 11:33:59 -08:00
doc/source Add interprocess warning and try-lock example 2016-01-06 11:37:44 -08:00
fasteners TST: add missing import 2016-02-15 16:19:58 -06:00
.travis.yml Add Python 3.5 and PyPy to Travis 2015-12-27 10:40:04 +02:00
ChangeLog Update changelog with fixed issue 2015-11-12 22:40:28 -08: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 Fix appveyor badge 2016-03-02 11:23:05 -08:00
appveyor.yml Ensure we pull down futures for appveyor installs 2016-03-02 11:33:59 -08:00
setup.cfg Add a setup.cfg file 2015-05-23 18:45:26 -07:00
setup.py Add py3.5 to classifiers as its being tested 2015-12-27 20:28:15 -08: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

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).