{ "info": { "author": "Bobby", "author_email": "bobbytrapz@protonmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Build Tools", "Topic :: System :: Filesystems" ], "description": "# noticeme\n\nProvides python bindings for inotify and framework for building file watchers using coroutines.\n\nPlease note this only runs on Linux and a have no plans to support any other OS.\n\nThere are many, many alternatives though.\n\nnoticeme includes the noticeme command for quickly setting up a file watcher.\n\n## Using noticeme declaratively\n\nIf you just need a small file watcher you can try this out.\n\n```\npip install --user noticeme # install\nnano noticeme.cfg # use noticeme/examples/noticeme.cfg for an example\nnoticeme # start watching\n```\n\nTo see a full list of events:\n\n```\n noticeme events\n```\n\nTo select which watchers we want to run we can give a list.\\\nSay we had watchers named build:js, build:css, and test in a single config file.\\\nIn one terminal we could run:\n\n```\n noticeme build:js build:css\n```\n\nAnd in another:\n\n```\n noticeme test\n```\n\n\n## Quick look at configuration\n\nsee noticeme/examples/noticeme.cfg for details\n\n```\n# noticeme.cfg\n[should]\n clear_screen = yes\n\n[imports]\n example = A .py file with a @noticeme.watcher decorator in it\n\n[my_watcher]\n description = This is an example.\n paths = . **\n events = written\n regex = ^docs\n glob = *.txt\n shell = echo \"my_watcher: file was added\"\n```\n\n## Using noticeme to build a file watcher programmatically\n\n```\nimport asyncio\nimport noticeme\n\n@noticeme.watcher('/path/to/directory', 'created modified')\nasync def my_watcher(event):\n if '.py' == event.path.suffix.lower():\n proc = await asyncio.create_subprocess_exec('cmd', event.path.absolute())\n await proc.wait()\n\nif __name__ == '__main__':\n noticeme.run()\n```\n\n## Requirements\n\n- Linux >= 2.6.13\n- Python >= 3.5\n- cffi\n- C compiler installed (if you need to run inotify_build.py)\n\n## Install\n\n### pip\n\n```\npip install --user noticeme\n```\n\n### Include directly\n\n- Copy noticeme.py and inotify_build.py to your project directory\n- Within noticeme's package directory run:\n\n```\npython3 inotify_build.py\n```\n\n- This creates a 'build' directory containing the result of ffibuilder.compile\n- You should now be able to use noticeme.\n- inotify_build.py will no longer be needed.\n\n## Alternatives\n\n[watchdog](https://github.com/gorakhargosh/watchdog)\n[pyinotify](https://github.com/seb-m/pyinotify)\n\n## Version 2019.7\n\n- set a more informative window title\n\n## Version 2019.8\n\n- add '.noticeme' as possible config file", "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/bobbytrapz/noticeme", "keywords": "inotify watch development", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "noticeme", "package_url": "https://pypi.org/project/noticeme/", "platform": "", "project_url": "https://pypi.org/project/noticeme/", "project_urls": { "Homepage": "https://github.com/bobbytrapz/noticeme" }, "release_url": "https://pypi.org/project/noticeme/2019.8/", "requires_dist": null, "requires_python": ">=3.5", "summary": "Provides a framework for building file watchers. Includes a file watcher utility program that allows you to create file watchers declaratively.", "version": "2019.8" }, "last_serial": 5612071, "releases": { "2018.12": [ { "comment_text": "", "digests": { "md5": "bebbc5c1342e1afd28c12322788c79e1", "sha256": "5ff2ec3f6bd99eb457f3e8f2afdb98735186aa61c16812747c7e3f9c56274315" }, "downloads": -1, "filename": "noticeme-2018.12.tar.gz", "has_sig": false, "md5_digest": "bebbc5c1342e1afd28c12322788c79e1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12463, "upload_time": "2018-12-29T11:12:19", "url": "https://files.pythonhosted.org/packages/dc/bd/55ab96e7bc62bd1d16d385681f1852b1e9aea0ba1c6118bc6f30b7e99613/noticeme-2018.12.tar.gz" } ], "2019.1": [ { "comment_text": "", "digests": { "md5": "7827368a7fe4da78b4292968f53e7eef", "sha256": "b656c296d9f71262b4d1149aa607f26a152e7b988d45edc0cf95d569839e1993" }, "downloads": -1, "filename": "noticeme-2019.1.tar.gz", "has_sig": false, "md5_digest": "7827368a7fe4da78b4292968f53e7eef", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12526, "upload_time": "2018-12-31T01:24:00", "url": "https://files.pythonhosted.org/packages/26/8e/187f7a40a03000159a8abe31c719d14ba51c13e060fac523e0bc3eb1fb37/noticeme-2019.1.tar.gz" } ], "2019.7": [ { "comment_text": "", "digests": { "md5": "37598859775110688ec1e2c1b65064da", "sha256": "fb575380e72e12fcfe8713abb3757591226527feeddcdb96d31fe962d3b17e54" }, "downloads": -1, "filename": "noticeme-2019.7.tar.gz", "has_sig": false, "md5_digest": "37598859775110688ec1e2c1b65064da", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 14104, "upload_time": "2019-07-29T02:55:20", "url": "https://files.pythonhosted.org/packages/ff/26/3b5b4822b6a0bbaa50c586c3a9c683901726d1ea66798246de29a82b2020/noticeme-2019.7.tar.gz" } ], "2019.8": [ { "comment_text": "", "digests": { "md5": "02061c73546fe8c8b15c285d928b6502", "sha256": "18660293437d58f6ae3429d592c7e56dbbfd657e58187009ee8699865b63de79" }, "downloads": -1, "filename": "noticeme-2019.8.tar.gz", "has_sig": false, "md5_digest": "02061c73546fe8c8b15c285d928b6502", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 14152, "upload_time": "2019-07-31T07:39:19", "url": "https://files.pythonhosted.org/packages/a1/5c/e6c8f144593aba0f51b7f99ad941eaca120292d179d090a5c71ac349d2ce/noticeme-2019.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "02061c73546fe8c8b15c285d928b6502", "sha256": "18660293437d58f6ae3429d592c7e56dbbfd657e58187009ee8699865b63de79" }, "downloads": -1, "filename": "noticeme-2019.8.tar.gz", "has_sig": false, "md5_digest": "02061c73546fe8c8b15c285d928b6502", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 14152, "upload_time": "2019-07-31T07:39:19", "url": "https://files.pythonhosted.org/packages/a1/5c/e6c8f144593aba0f51b7f99ad941eaca120292d179d090a5c71ac349d2ce/noticeme-2019.8.tar.gz" } ] }