{ "info": { "author": "Torben Haase", "author_email": "torben@pixelsvsbytes.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3" ], "description": "# Inotify Recursive - Recursive inotify watches for Python\n\nInotify Recursive is a Python package that offers a simple way to watch a directory-tree recursively for file changes\nvia the inotify functionality of the Linux kernel. It uses [the inotify_simple package](https://github.com/chrisjbillington/inotify_simple)\nto set and remove the inotify watches and also incorporates its whole functionality. The package is written in\nPython and licensed as open-source under the GPL version 3.\n\nAt the moment the main purpose of Inotify Recursive is to provide the file watching functionality for [Synoindex Watcher](https://github.com/letorbi/synoindexwatcher), a small tool that automatically updates the media index of Synology DiskStations.\n\n*This Python package is still an alpha! Its core functionality has been tested and is working, but there could still be undiscovered bugs. Also breaking interface changes are likely to happen, so it is not recommended to use it in\nproduction projects, yet.*\n\n## Features\n\n* **Small** Less than 150 lines of code (including comments) \n* **Powerfull** All features of inotify-simple plus recursive watching\n* **Agnostic** Python 2 and Python 3 compatible (minimum tested version is 2.7)\n\n## Installation\n\nThe recommended installation method is via pip:\n\n`pip install inotifyrecursive`\n\nYou could also simply clone the repository or copy the code directly into your project, but don't forget to install the\ndependencies [inotify-simple](https://pypi.org/project/inotify_simple/) and [enum](https://pypi.org/project/enum/)\n(Python2 only), if you choose one of these ways.\n\n## Documentation\n\nPlease [read the docs for inotify_simple](http://inotify_simple.readthedocs.org) first, since the basic usage is the\nsame.\n\nThe `INotify` class of Inotify Recursive provides three additional methods, which are useful, if a directory shall be\nwatched recursively:\n\n#### `inotify.add_watch_recursive(path, mask, filter = None)`\n\n * **path** The path to watch\n * **mask** The mask of events to watch for\n * **filter** A function to ignore certain sub-directories\n\nReturns the descriptor for the newly created watch of the directory where the given path points to. Unlike `add_watch()`\nthis function also creates watches for all sub-directories below it. The descriptors of the sub-watches are not\nreturned.\n\nThe filter function is optional. If it exists it takes a directory-name and returns boolean value which describes\nwhether the directory shall be watched (`True`) or ignored (`False`).\n\n#### `inotify.rm_watch_recursive(wd)`\n\n * **wd** The watch descriptor to remove\n\nRemoves the watch with the given descriptor and all associated sub-watches. Should be used for any watch that has been\ncreated by `add_watch_recursive()`.\n\n#### `inotify.get_path(wd)`\n\n * **wd** The watch descriptor the path is fetched for\n\nReturns the absolute path of the directory associated to the watch with given descriptor.\n\n----\n\nCopyright 2019 Torben Haase \\<[https://pixelsvsbytes.com](https://pixelsvsbytes.com)>\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/letorbi/inotifyrecursive", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "inotifyrecursive", "package_url": "https://pypi.org/project/inotifyrecursive/", "platform": "", "project_url": "https://pypi.org/project/inotifyrecursive/", "project_urls": { "Homepage": "https://github.com/letorbi/inotifyrecursive" }, "release_url": "https://pypi.org/project/inotifyrecursive/0.1.0/", "requires_dist": [ "inotify-simple" ], "requires_python": "", "summary": "Recursive inotify watches based on inotify_simple.", "version": "0.1.0" }, "last_serial": 5920991, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b729663fe59112806ff9696779ddad6b", "sha256": "387fb9bd60222d94a1a6bea1722ced1d0a792b6703bdab658db41164926675f9" }, "downloads": -1, "filename": "inotifyrecursive-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b729663fe59112806ff9696779ddad6b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17411, "upload_time": "2019-10-02T23:06:56", "url": "https://files.pythonhosted.org/packages/ba/d0/59ef4fcf9be4c94b12cec189945969146a3cdcf3cc2b0cac24fa53071789/inotifyrecursive-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dca32c569005ffc803ebbb009320b3e6", "sha256": "ccd5836d85a4f85627eb9a42a703bf2f05e88f642cee633765dc77f859c3e69a" }, "downloads": -1, "filename": "inotifyrecursive-0.1.0.tar.gz", "has_sig": false, "md5_digest": "dca32c569005ffc803ebbb009320b3e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4278, "upload_time": "2019-10-02T23:06:58", "url": "https://files.pythonhosted.org/packages/69/3d/6247350657f878667131951065f11485cb4aacf9d2e8f8464758d2e19515/inotifyrecursive-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b729663fe59112806ff9696779ddad6b", "sha256": "387fb9bd60222d94a1a6bea1722ced1d0a792b6703bdab658db41164926675f9" }, "downloads": -1, "filename": "inotifyrecursive-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b729663fe59112806ff9696779ddad6b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17411, "upload_time": "2019-10-02T23:06:56", "url": "https://files.pythonhosted.org/packages/ba/d0/59ef4fcf9be4c94b12cec189945969146a3cdcf3cc2b0cac24fa53071789/inotifyrecursive-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dca32c569005ffc803ebbb009320b3e6", "sha256": "ccd5836d85a4f85627eb9a42a703bf2f05e88f642cee633765dc77f859c3e69a" }, "downloads": -1, "filename": "inotifyrecursive-0.1.0.tar.gz", "has_sig": false, "md5_digest": "dca32c569005ffc803ebbb009320b3e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4278, "upload_time": "2019-10-02T23:06:58", "url": "https://files.pythonhosted.org/packages/69/3d/6247350657f878667131951065f11485cb4aacf9d2e8f8464758d2e19515/inotifyrecursive-0.1.0.tar.gz" } ] }