{ "info": { "author": "Stanis Trendelenburg", "author_email": "stanis.trendelenburg@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3" ], "description": "gevent\\_inotifyx\n================\n\n|build-status-img|\n\nGevent-compatible low-level inotify bindings based on\n`inotifyx `__.\n\n- Python 2 and 3 compatible\n- Exposes a low-level\n `inotify(7) `__\n API\n- Allows to wait for events in a non-blocking way when using\n `gevent `__.\n\nInstallation\n------------\n\n::\n\n $ pip install gevent_inotifyx\n\nFrom source:\n\n::\n\n $ python setup.py install\n\nTo run the tests:\n\n::\n\n $ python setup.py test\n\nExamples\n--------\n\nWatch a directory while creating new files. This prints\n\n::\n\n event: test.txt IN_CLOSE|IN_CLOSE_WRITE|IN_ALL_EVENTS\n\nevery second:\n\n.. code:: python\n\n #!/usr/bin/env python\n from __future__ import print_function\n import os\n import gevent\n import gevent_inotifyx as inotify\n\n def create_file_events():\n \"\"\"Open and close a file to generate inotify events.\"\"\"\n while True:\n with open('/tmp/test.txt', 'a'):\n pass\n gevent.sleep(1)\n\n def watch_for_events():\n \"\"\"Wait for events and print them to stdout.\"\"\"\n fd = inotify.init()\n try:\n wd = inotify.add_watch(fd, '/tmp', inotify.IN_CLOSE_WRITE)\n while True:\n for event in inotify.get_events(fd):\n print(\"event:\", event.name, event.get_mask_description())\n finally:\n os.close(fd)\n\n if __name__ == '__main__':\n tasks = [\n gevent.spawn(watch_for_events),\n gevent.spawn(create_file_events),\n ]\n gevent.joinall(tasks)\n\nLicense\n-------\n\ngevent\\_inotifyx is licensed under the MIT License. See the included\nfile ``LICENSE`` for details.\n\n.. |build-status-img| image:: https://travis-ci.org/trendels/gevent_inotifyx.svg\n :target: https://travis-ci.org/trendels/gevent_inotifyx", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/trendels/gevent_inotifyx", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "gevent_inotifyx", "package_url": "https://pypi.org/project/gevent_inotifyx/", "platform": "", "project_url": "https://pypi.org/project/gevent_inotifyx/", "project_urls": { "Homepage": "https://github.com/trendels/gevent_inotifyx" }, "release_url": "https://pypi.org/project/gevent_inotifyx/0.2/", "requires_dist": null, "requires_python": "", "summary": "gevent compatibility for inotifyx", "version": "0.2" }, "last_serial": 3629996, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6a52498aeae77ddddc6016795327d155", "sha256": "06437257ee27070dc83c023e585ddfdd2f66124209bb19b0f59d8c98b9af88bb" }, "downloads": -1, "filename": "gevent_inotifyx-0.1.0.tar.gz", "has_sig": false, "md5_digest": "6a52498aeae77ddddc6016795327d155", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3403, "upload_time": "2012-12-07T15:37:10", "url": "https://files.pythonhosted.org/packages/56/ef/e9f282af076752c9be5d77da338433cf1e3f650575d6358c4d86769427ee/gevent_inotifyx-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "05ebaf8c3d69b92283da93a846f78190", "sha256": "b8e0f01d020e7c5a5f446afc51408259f4b3dbc60c0389d44f61c92ae613c120" }, "downloads": -1, "filename": "gevent_inotifyx-0.1.1.tar.gz", "has_sig": false, "md5_digest": "05ebaf8c3d69b92283da93a846f78190", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3442, "upload_time": "2013-04-12T20:27:42", "url": "https://files.pythonhosted.org/packages/71/de/5ee7f670f8e61e0b5591370646dd65e72ce8d969d0a2931a6264828398ab/gevent_inotifyx-0.1.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "99ad063cfd3e17299dd8ae162728df38", "sha256": "39ad04c8b26d8c8075faac8f4b1d6cb863dd37d85c15ac426ba2d551855ac978" }, "downloads": -1, "filename": "gevent_inotifyx-0.2.tar.gz", "has_sig": false, "md5_digest": "99ad063cfd3e17299dd8ae162728df38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8348, "upload_time": "2018-03-01T21:37:46", "url": "https://files.pythonhosted.org/packages/0b/11/cfd16b1cb00114806b94d5e800bcbca319ae78022d00439e63d3011be6f7/gevent_inotifyx-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "99ad063cfd3e17299dd8ae162728df38", "sha256": "39ad04c8b26d8c8075faac8f4b1d6cb863dd37d85c15ac426ba2d551855ac978" }, "downloads": -1, "filename": "gevent_inotifyx-0.2.tar.gz", "has_sig": false, "md5_digest": "99ad063cfd3e17299dd8ae162728df38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8348, "upload_time": "2018-03-01T21:37:46", "url": "https://files.pythonhosted.org/packages/0b/11/cfd16b1cb00114806b94d5e800bcbca319ae78022d00439e63d3011be6f7/gevent_inotifyx-0.2.tar.gz" } ] }