{ "info": { "author": "Gabriel Grant", "author_email": "g@briel.ca", "bugtrack_url": null, "classifiers": [], "description": "PRO runs processes and restarts them when it observes file changes.\n\nPRO only does two things, but it does them well: it runs processes,\nand restarts select processes when their dependent files change.\nPRO is designed to be useful for running processes in development, but\nthere are probably better options for running your processes in production.\n\nInstallation\n------------\n\n pip install pro\n\n\nUsage\n-----\n\n pro runfile.py\n\nYour runfile contains the description of which processes to run, and\nan optional list of files to observe for each process group. A process\ncan be defined as a command to run as a string, or as a CMD object,\nwhich can specify a directory in which to run.\n\nExample runfile.py:\n\n import os\n from pro import CMD, run\n\n run(CMD('python manage.py runserver 8080', cd='example_project'))\n run('python -m SimpleHTTPServer 8888', watch_list=['watchme'])\n\n sass_file = 'static/css/style.sass'\n run('sass %s' % sass_file, watch_list=[sass_file])\n\n template_dir=\"static/templates\"\n handlebars_inputs=os.path.join(template_dir, '*.handlebars')\n handlebars_output=os.path.join(template_dir, 'templates.js')\n\n cmd = 'handlebars `ls %s` -f \"%s\"' % (handlebars_inputs, handlebars_output)\n run(cmd, watch_list=[handlebars_inputs])", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": null, "license": "LGPL", "maintainer": null, "maintainer_email": null, "name": "pro", "package_url": "https://pypi.org/project/pro/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pro/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/pro/0.1.2/", "requires_dist": null, "requires_python": null, "summary": "UNKNOWN", "version": "0.1.2" }, "last_serial": 796704, "releases": { "0.1": [], "0.1.1": [ { "comment_text": "", "digests": { "md5": "03befb7f0dd0bc27546d1ef90f61c877", "sha256": "642eb19805e2d630443f0bcc6a1caba8fcbf4b49c9aef4f53d5bf31168ae01c0" }, "downloads": -1, "filename": "pro-0.1.1.tar.gz", "has_sig": false, "md5_digest": "03befb7f0dd0bc27546d1ef90f61c877", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3171, "upload_time": "2012-09-14T23:19:41", "url": "https://files.pythonhosted.org/packages/2a/1b/cd8e7ea7d2fef0cf1ed931274162e4de6e0607e792ddcf627f9974f14c72/pro-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "052e9b3d5526662b306841fb0e924140", "sha256": "ad97558f242b44ffb8316b2bad76aa46c3bd787e7f42989890f0e4f5fd2e2304" }, "downloads": -1, "filename": "pro-0.1.2.tar.gz", "has_sig": false, "md5_digest": "052e9b3d5526662b306841fb0e924140", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3400, "upload_time": "2012-10-04T15:59:46", "url": "https://files.pythonhosted.org/packages/93/7a/3a23e09c6032ad44e65f6bd8d14bf4496aff93d75bc277edfee14e59a7e3/pro-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "052e9b3d5526662b306841fb0e924140", "sha256": "ad97558f242b44ffb8316b2bad76aa46c3bd787e7f42989890f0e4f5fd2e2304" }, "downloads": -1, "filename": "pro-0.1.2.tar.gz", "has_sig": false, "md5_digest": "052e9b3d5526662b306841fb0e924140", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3400, "upload_time": "2012-10-04T15:59:46", "url": "https://files.pythonhosted.org/packages/93/7a/3a23e09c6032ad44e65f6bd8d14bf4496aff93d75bc277edfee14e59a7e3/pro-0.1.2.tar.gz" } ] }