{ "info": { "author": "Antoine Cezar", "author_email": "antoine@cezar.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "===============================\nFlockcontext\n===============================\n\n.. image:: https://img.shields.io/travis/AntoineCezar/flockcontext.svg\n :target: https://travis-ci.org/AntoineCezar/flockcontext\n\n.. image:: https://img.shields.io/badge/docs-latest-brightgreen.svg\n :target: http://flockcontext.readthedocs.org/\n\n.. image:: https://img.shields.io/coveralls/AntoineCezar/flockcontext.svg\n :target: https://coveralls.io/github/AntoineCezar/flockcontext\n\n.. image:: https://img.shields.io/pypi/v/flockcontext.svg\n :target: https://pypi.python.org/pypi/flockcontext\n\n\nImproves `fcntl.flock `_ usage.\n\n``flock`` is a Unix command for `file locking `_,\nthe mecanism that controls access restrictions of files.\n\nUsage\n-----\n\nExclusive blocking lock::\n\n from flockcontext import FlockOpen\n\n with FlockOpen('/tmp/my.lock', 'w') as lock:\n lock.fd.write('Locked\\n')\n\nExclusive blocking lock with 1 second timeout::\n\n from flockcontext import FlockOpen\n\n with FlockOpen('/tmp/my.lock', 'w', timeout=1) as lock:\n lock.fd.write('Locked\\n')\n\nExclusive non-blocking lock::\n\n from flockcontext import FlockOpen\n\n try:\n with FlockOpen('/tmp/my.lock', 'w', blocking=False) as lock:\n lock.fd.write('Locked\\n')\n except IOError as e:\n print('Can not acquire lock')\n\nShared blocking lock::\n\n from flockcontext import Flock\n\n with FlockOpen('/tmp/my.lock', 'w', exclusive=False) as lock:\n lock.fd.write('Locked\\n')\n\nAcquire and release within context::\n\n from flockcontext import FlockOpen\n\n with FlockOpen('/tmp/my.lock', 'w') as lock:\n print('Lock acquired')\n lock.fd.write('Locked\\n')\n\n lock.release()\n print('Lock released')\n\n lock.acquire()\n print('Lock acquired')\n lock.fd.write('Locked\\n')\n\nLocking already opened file::\n\n from flockcontext import Flock\n\n with open('/tmp/my.lock', 'w') as fd:\n with Flock(fd):\n fd.write('Locked\\n')\n\nLicense\n-------\n\n* Free software: BSD license\n\n\n\n\nHistory\n-------\n\n0.4.0 (2019-07-03)\n------------------\n\n* Use docker for mutiple Python version testing from 2.7 to 3.7\n* Add proper BSD licence file\n* Add timeout for blocking lock\n* Upgrade development status to Production/Stable\n\n0.3.1 (2015-08-24)\n------------------\n\n* Add syntax highlighting for code exemples\n* Add Flock manager exemple in README\n\n0.3.0 (2015-08-21)\n------------------\n\n* Add FlockOpen context manager.\n\n0.2.0 (2015-08-20)\n------------------\n\n* Add Flock relase and acquire capability withing context.\n\n0.1.0 (2015-08-19)\n------------------\n\n* Add Flock context manager.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/AntoineCezar/flockcontext", "keywords": "flock context", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "flockcontext", "package_url": "https://pypi.org/project/flockcontext/", "platform": "", "project_url": "https://pypi.org/project/flockcontext/", "project_urls": { "Homepage": "https://github.com/AntoineCezar/flockcontext" }, "release_url": "https://pypi.org/project/flockcontext/0.4.0/", "requires_dist": [ "timeoutcontext" ], "requires_python": "", "summary": "Improves fcntl.flock usage", "version": "0.4.0" }, "last_serial": 5482731, "releases": { "0.3.1": [ { "comment_text": "", "digests": { "md5": "d2892301a5ce94bbe6ceeee06541f3ea", "sha256": "ec2c89c259bb0cb809989226d50d14adc1ed38947873a54f3633a66e605baf03" }, "downloads": -1, "filename": "flockcontext-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d2892301a5ce94bbe6ceeee06541f3ea", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 5167, "upload_time": "2015-08-24T17:35:52", "url": "https://files.pythonhosted.org/packages/0b/da/d331f52d3a6bcd5a1aff0e365433d3e16a2f2dcb0daa05ee1b03ee8eed35/flockcontext-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7d0ec7cf55f857d60d997431f83c5c66", "sha256": "f048cf0b64c6a77ffb0d8d105168c8ec6773f80fbe29def05cd363ed4438df57" }, "downloads": -1, "filename": "flockcontext-0.3.1.tar.gz", "has_sig": false, "md5_digest": "7d0ec7cf55f857d60d997431f83c5c66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13478, "upload_time": "2015-08-24T17:35:45", "url": "https://files.pythonhosted.org/packages/a6/55/0ffba6ef872da015750eebf367d5d78d13c9b5f7c2b0e2a74460a5af1436/flockcontext-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "0848cdd24d210b32934d14083d3b7fc3", "sha256": "c1074a700cf6a3f18f95af3057acb757668bea31b539923a97c716a14ea197e1" }, "downloads": -1, "filename": "flockcontext-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0848cdd24d210b32934d14083d3b7fc3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4997, "upload_time": "2019-07-03T17:11:13", "url": "https://files.pythonhosted.org/packages/eb/33/b5efd1199a729131f5569be6c774e1520b80857c937d99f813ff38d0b861/flockcontext-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "08d466b4f97b247cc2e370f60168a4c9", "sha256": "8bc2a410e12f5c5eafabe24404acb1a699f1b57cc1594ab343623a3f39d1b1d1" }, "downloads": -1, "filename": "flockcontext-0.4.0.tar.gz", "has_sig": false, "md5_digest": "08d466b4f97b247cc2e370f60168a4c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14233, "upload_time": "2019-07-03T17:11:14", "url": "https://files.pythonhosted.org/packages/b6/c3/5bd90034cc2634dbe58bd7c62941494a6538a1ab873ded646a9a0da281db/flockcontext-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0848cdd24d210b32934d14083d3b7fc3", "sha256": "c1074a700cf6a3f18f95af3057acb757668bea31b539923a97c716a14ea197e1" }, "downloads": -1, "filename": "flockcontext-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0848cdd24d210b32934d14083d3b7fc3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4997, "upload_time": "2019-07-03T17:11:13", "url": "https://files.pythonhosted.org/packages/eb/33/b5efd1199a729131f5569be6c774e1520b80857c937d99f813ff38d0b861/flockcontext-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "08d466b4f97b247cc2e370f60168a4c9", "sha256": "8bc2a410e12f5c5eafabe24404acb1a699f1b57cc1594ab343623a3f39d1b1d1" }, "downloads": -1, "filename": "flockcontext-0.4.0.tar.gz", "has_sig": false, "md5_digest": "08d466b4f97b247cc2e370f60168a4c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14233, "upload_time": "2019-07-03T17:11:14", "url": "https://files.pythonhosted.org/packages/b6/c3/5bd90034cc2634dbe58bd7c62941494a6538a1ab873ded646a9a0da281db/flockcontext-0.4.0.tar.gz" } ] }