{ "info": { "author": "Alexander Artemenko", "author_email": "svetlyak.40wt@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Server Reloader\n===============\n\nIt is common task in all web frameworks \u2014 to provide an easy way to reload development\nserver on code changes. Most of these frameworks are carrying a reloader's code with\nthemselves. And there isn't any python module, simple enougth to use in a small project.\n\nSome times ago, I started to write a chat bot called [TheBot][] and begun to look for\na separate server reloader's implementation. And found nothing suitable.\n\nThen, I extracted autoreloader from the Django's codebase and put it into a separate\nmodule, which README you are reading now. Code was partly modified, now it allows\nnot only to watch on file changes but also to reload upon a some event.\n\nReload on some event is a quite useful feature for [TheBot][], because now he can update\nhimself on a push to the GitHub. A pseudocode for this procedure will look like:\n\n def on_push_to_the_github_master_branch():\n make_git_pull()\n run_pip_install()\n trigger_code_reload()\n\nAnd I don't need an external watcher to run bot, because now he uses [server-reloader][].\n\n\nExample usage\n-------------\n\nHere is a simple example, how to use a reloader.\n\n```python\ndef run_server():\n \"\"\"Some function, which creates and runs your server.\"\"\"\n pass\n\ndef main():\n server_reloader.main(\n run_server,\n before_reload=lambda: print('Reloading code\u2026')\n )\n\nif __name__ == '__main__':\n main()\n```\n\n\nIf you want to trigger code reloading on some custom event, then just do:\n\n```python\nfrom server_reloader import trigger_reload\ntrigger_reload()\n```\n\n\nCredentials\n-----------\n\nMany thanks to original authors of the autoreloader, I took as the basis.\n\n[TheBot]: http://github.com/svetlyak40wt/thebot\n[server-reloader]: http://github.com/svetlyak40wt/server-reloader\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/svetlyak40wt/server-reloader/", "keywords": "server code reload reloader restarter", "license": "New BSD License", "maintainer": null, "maintainer_email": null, "name": "server-reloader", "package_url": "https://pypi.org/project/server-reloader/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/server-reloader/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/svetlyak40wt/server-reloader/" }, "release_url": "https://pypi.org/project/server-reloader/0.1.3/", "requires_dist": null, "requires_python": null, "summary": "Provides easy way to reload you server on code changes or another events", "version": "0.1.3" }, "last_serial": 749157, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "8e8f422302210ac5ca21592e060c3e25", "sha256": "e0c0f0f39f7755fb752b68a3dcb91788cc6de8fa9071f4d1a8d628c71fb1a092" }, "downloads": -1, "filename": "server-reloader-0.1.0.tar.gz", "has_sig": false, "md5_digest": "8e8f422302210ac5ca21592e060c3e25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3214, "upload_time": "2012-10-26T08:16:03", "url": "https://files.pythonhosted.org/packages/4d/21/b15ac519ae1e5fea611e00cc934002172b65a1744f1bbd6a7703260d6bfd/server-reloader-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "11ca4c512f8167f743c8889b4e3db5c8", "sha256": "540a9f0af7b372f24fe5f8bed6ac28a02239c2f3771ec9ee782f7d1126c47a82" }, "downloads": -1, "filename": "server-reloader-0.1.1.tar.gz", "has_sig": false, "md5_digest": "11ca4c512f8167f743c8889b4e3db5c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4463, "upload_time": "2012-10-27T21:05:25", "url": "https://files.pythonhosted.org/packages/f1/aa/4b8b5169e8212a1b2eb04306c22499a27be09a99f7c81101506e7e5f758f/server-reloader-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "fad6d0cf56f124791c69cbabfa59f270", "sha256": "779ce1655fa400d22d3cc1f829da1ac6afaeac12adf44e723eb18681c5c1a3c6" }, "downloads": -1, "filename": "server-reloader-0.1.2.tar.gz", "has_sig": false, "md5_digest": "fad6d0cf56f124791c69cbabfa59f270", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4714, "upload_time": "2012-10-30T16:09:17", "url": "https://files.pythonhosted.org/packages/d3/3a/f97645ed631112ca84e69596fb8f98d295182a974a366005ce1990318d61/server-reloader-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "5abe22b89c11575d45b3d22bcafe273a", "sha256": "a9b6ed6a45f21e078faacee352394659b4675a76d72b62912676a936453f22f8" }, "downloads": -1, "filename": "server-reloader-0.1.3.tar.gz", "has_sig": false, "md5_digest": "5abe22b89c11575d45b3d22bcafe273a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4740, "upload_time": "2012-10-30T16:17:01", "url": "https://files.pythonhosted.org/packages/01/12/4bc7661e34fc8e09e882cc605a85320681339a7d0081405cf06879a64600/server-reloader-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5abe22b89c11575d45b3d22bcafe273a", "sha256": "a9b6ed6a45f21e078faacee352394659b4675a76d72b62912676a936453f22f8" }, "downloads": -1, "filename": "server-reloader-0.1.3.tar.gz", "has_sig": false, "md5_digest": "5abe22b89c11575d45b3d22bcafe273a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4740, "upload_time": "2012-10-30T16:17:01", "url": "https://files.pythonhosted.org/packages/01/12/4bc7661e34fc8e09e882cc605a85320681339a7d0081405cf06879a64600/server-reloader-0.1.3.tar.gz" } ] }