{ "info": { "author": "Jannis Leidel", "author_email": "jannis@leidel.info", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Utilities" ], "description": "HireFire\n========\n\nThis is a Python package for HireFire_ -- The Heroku_ Process Manager:\n\n.. epigraph::\n\n HireFire has the ability to automatically scale your web and worker\n dynos up and down when necessary. When new jobs are queued in to your\n application's worker queue [..], HireFire will spin up new worker\n dynos to process these jobs. When the queue is empty, HireFire will\n shut down the worker dynos again so you're not paying for idle\n workers.\n\n HireFire also has the ability to scale your web dynos. When your web\n application experiences heavy traffic during certain times of the day,\n or if you've been featured somewhere, chances are your application's\n backlog might grow to a point that your web application will run\n dramatically slow, or even worse, it might result in a timeout. In\n order to prevent this, HireFire will automatically scale your web\n dynos up when traffic increases to ensure that your application runs\n fast at all times. When traffic decreases, HireFire will spin down\n your web dynos again.\n\n -- from the HireFire_ frontpage\n\nIt supports the following Python queuing systems as backends:\n\n* Celery_\n* HotQueue_\n* Huey_\n* Queues_\n* RQ_\n\nFeel free to `contribute other backends`_ if you're using a different\nqueuing system.\n\n.. _HireFire: http://hirefire.io/\n.. _Heroku: http://www.heroku.com/\n.. _Celery: http://celeryproject.com/\n.. _HotQueue: http://richardhenry.github.com/hotqueue/\n.. _Huey: https://huey.readthedocs.io/\n.. _Queues: http://queues.googlecode.com/\n.. _RQ: http://python-rq.org/\n.. _`contribute other backends`: https://github.com/jezdez/hirefire/\n\nInstallation\n------------\n\nInstall the HireFire package with your favorite installer, e.g.:\n\n.. code-block:: bash\n\n pip install HireFire\n\nSign up for `HireFire`_ and set the ``HIREFIRE_TOKEN`` environment variable\nwith the `Heroku CLI`_ as provided on the specific HireFire `application page`_,\ne.g.:\n\n.. code-block:: bash\n\n heroku config:set HIREFIRE_TOKEN=f69f0c0ddebe041248daf187caa6abb3e5d943ca\n\nNow follow the quickstart guide below and don't forget to tweak the\noptions in the `HireFire management system`_.\n\nFor more help see the Hirefire `documentation`_.\n\n.. _`Heroku CLI`: https://devcenter.heroku.com/articles/heroku-command\n.. _`HireFire`: http://hirefire.io/\n.. _`HireFire management system`: https://manager.hirefire.io/\n.. _documentation: http://hirefire.io/documentation/guides/getting-started\n\nConfiguration\n-------------\n\nThe ``hirefire`` Python package currently supports two frameworks:\nDjango and Tornado. Implementations for other frameworks are planned but\nhaven't been worked on: Flask_, Pyramid_ (PasteDeploy), WSGI_ middleware, ..\n\nFeel free to `contribute one`_ if you can't wait.\n\nThe following guides imply you have defined at least one\n``hirefire.procs.Proc`` subclass defined matching one of the processes in your\nProcfile. For each process you want to monitor you have to have one subclass.\n\nFor example here is a ``Procfile`` which uses RQ_ for the \"worker\" proccess::\n\n web: python manage.py runserver\n worker: DJANGO_SETTINGS_MODULE=mysite.settings rqworker high default low\n\nDefine a ``RQProc`` subclass somewhere in your project, e.g.\n``mysite/procs.py``, with the appropriate attributes (``name`` and\n``queues``)\n\n.. code-block:: python\n\n from hirefire.procs.rq import RQProc\n\n class WorkerProc(RQProc):\n name = 'worker'\n queues = ['high', 'default', 'low']\n\nSee the procs API documentation if you're using another backend. Now follow\nthe framework specific guidelines below.\n\n.. _`contribute one`: https://github.com/jezdez/hirefire/\n.. _flask: http://flask.pocoo.org/\n.. _Pyramid: http://www.pylonsproject.org/\n.. _WSGI: http://www.python.org/dev/peps/pep-3333/\n\nDjango\n^^^^^^\n\nSetting up HireFire support for Django is easy:\n\n#. Add ``'hirefire.contrib.django.middleware.HireFireMiddleware'`` to your\n ``MIDDLEWARE`` setting\n\n .. code-block:: python\n\n # Use ``MIDDLEWARE_CLASSES`` prior to Django 1.10\n MIDDLEWARE = [\n 'hirefire.contrib.django.middleware.HireFireMiddleware',\n # ...\n ]\n\n Make sure it's the first item in the list/tuple.\n\n#. Set the ``HIREFIRE_PROCS`` setting to a list of dotted paths to your\n procs. For the above example proc\n\n .. code-block:: python\n\n HIREFIRE_PROCS = ['mysite.procs.WorkerProc']\n\n#. Set the ``HIREFIRE_TOKEN`` setting to the token that HireFire\n shows on the specific `application page`_ (optional)\n\n .. code-block:: python\n\n HIREFIRE_TOKEN = 'f69f0c0ddebe041248daf187caa6abb3e5d943ca'\n\n This is only needed if you haven't set the ``HIREFIRE_TOKEN``\n environment variable already (see the installation section how to\n do that on Heroku).\n\n .. _`application page`: https://manager.hirefire.io/applications\n\n#. Check that the middleware has been correctly setup by opening the\n following URL in a browser::\n\n http://localhost:8000/hirefire/test\n\n You should see an empty page with 'HireFire Middleware Found!'.\n\n You can also have a look at the page that HireFire_ checks to get the\n number of current tasks::\n\n http://localhost:8000/hirefire//info\n\n where ```` needs to be replaced with your token or\n -- in case you haven't set the token in your settings or environment\n -- just use ``development``.\n\nTornado\n^^^^^^^\n\nSetting up HireFire support for Tornado is also easy:\n\n#. Use ``hirefire.contrib.tornado.handlers.hirefire_handlers`` when defining\n your ``tornado.web.Application`` instance\n\n .. code-block:: python\n\n import os\n from hirefire.contrib.tornado.handlers import hirefire_handlers\n\n application = tornado.web.Application([\n # .. some patterns and handlers\n ] + hirefire_handlers(os.environ['HIREFIRE_TOKEN'],\n ['mysite.procs.WorkerProc']))\n\n Make sure to pass a list of dotted paths to the ``hirefire_handlers``\n function.\n\n#. Set the ``HIREFIRE_TOKEN`` environment variable to the token that HireFire\n shows on the specific `application page`_ (optional)\n\n .. code-block:: bash\n\n export HIREFIRE_TOKEN='f69f0c0ddebe041248daf187caa6abb3e5d943ca'\n\n See the installation section above for how to do that on Heroku.\n\n .. _`application page`: https://manager.hirefire.io/applications\n\n#. Check that the handlers have been correctly setup by opening the\n following URL in a browser::\n\n http://localhost:8888/hirefire/test\n\n You should see an empty page with 'HireFire Middleware Found!'.\n\n You can also have a look at the page that HireFire_ checks to get the\n number of current tasks::\n\n http://localhost:8888/hirefire//info\n\n where ```` needs to be replaced with your token or\n -- in case you haven't set the token as an environment variable\n -- just use ``development``.\n\nFlask\n^^^^^\n\nSetting up HireFire support for Flask is (again!) also easy:\n\n#. The module ``hirefire.contrib.flask.blueprint`` provides a\n ``build_hirefire_blueprint`` factory function that should be called with\n HireFire token and procs as arguments. The result is a blueprint providing\n the hirefire routes and which should be registered inside your app\n\n .. code-block:: python\n\n import os\n from flask import Flask\n from hirefire.contrib.flask.blueprint import build_hirefire_blueprint\n\n app = Flask(__name__)\n bp = build_hirefire_blueprint(os.environ['HIREFIRE_TOKEN'],\n ['mysite.procs.WorkerProc'])\n app.register_blueprint(bp)\n\n Make sure to pass a list of dotted paths to the ``build_hirefire_blueprint``\n function.\n\n#. Set the ``HIREFIRE_TOKEN`` environment variable to the token that HireFire\n shows on the specific `application page`_ (optional)\n\n .. code-block:: bash\n\n export HIREFIRE_TOKEN='f69f0c0ddebe041248daf187caa6abb3e5d943ca'\n\n See the installation section above for how to do that on Heroku.\n\n .. _`application page`: https://manager.hirefire.io/applications\n\n#. Check that the handlers have been correctly setup by opening the\n following URL in a browser::\n\n http://localhost:8080/hirefire/test\n\n You should see an empty page with 'HireFire Middleware Found!'.\n\n You can also have a look at the page that HireFire_ checks to get the\n number of current tasks::\n\n http://localhost:8080/hirefire//info\n\n where ```` needs to be replaced with your token or\n -- in case you haven't set the token as an environment variable\n -- just use ``development``.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://hirefire.readthedocs.io/", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "HireFire", "package_url": "https://pypi.org/project/HireFire/", "platform": "", "project_url": "https://pypi.org/project/HireFire/", "project_urls": { "Homepage": "https://hirefire.readthedocs.io/" }, "release_url": "https://pypi.org/project/HireFire/0.8/", "requires_dist": [ "six", "futures ; python_version == \"2.7\"" ], "requires_python": "", "summary": "A Python lib to integrate with the HireFire service -- The Heroku Proccess Manager", "version": "0.8" }, "last_serial": 4922722, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "eb83c9f9a7402f0ba5d5665744c07540", "sha256": "73ea73e0e26f7233e061f7adf510f1795d4f04f01f0c789e922fe388ae3c6bd0" }, "downloads": -1, "filename": "HireFire-0.1-py27-none-any.whl", "has_sig": true, "md5_digest": "eb83c9f9a7402f0ba5d5665744c07540", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13639, "upload_time": "2013-02-17T19:25:52", "url": "https://files.pythonhosted.org/packages/21/c4/6184d3e39fcea396ab44df58d002acf80154e7d0508ae7510c8aee162715/HireFire-0.1-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9739630a3f2f0b66859bea7085cc975d", "sha256": "90eb413a0a3cef0cea82a615002370176ddb9c177a3f2b97d5995c6b148dbb61" }, "downloads": -1, "filename": "HireFire-0.1.tar.gz", "has_sig": true, "md5_digest": "9739630a3f2f0b66859bea7085cc975d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10041, "upload_time": "2013-02-17T18:59:48", "url": "https://files.pythonhosted.org/packages/ce/27/bb90c806b05c958eeffa179ba0007d3a3b537ec648ee2b039ab7157e90cd/HireFire-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "717f079001c02a56cfabd94470c7a64b", "sha256": "77eb090217388d01860115892a0511b06da4ea4b47b49789d1db241b80983d8c" }, "downloads": -1, "filename": "HireFire-0.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "717f079001c02a56cfabd94470c7a64b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17292, "upload_time": "2014-04-20T11:12:12", "url": "https://files.pythonhosted.org/packages/1c/47/3366b9a9e5afe40b3701905d7e31b907a9a0d4a7c08a08becebaeb03e8fc/HireFire-0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a21e73693c0f340b9500c3cba36c19f8", "sha256": "f28f9bae4a957749716871c65356e80e40071a3e70ec23b2088e14763810707b" }, "downloads": -1, "filename": "HireFire-0.2.tar.gz", "has_sig": true, "md5_digest": "a21e73693c0f340b9500c3cba36c19f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9973, "upload_time": "2014-04-20T11:12:17", "url": "https://files.pythonhosted.org/packages/19/27/7a752728903b561c0e6eddde68927adf019135fbdaa0c328eb45a7ab8495/HireFire-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "c05c25ff6441e63e5a65c524f00afde3", "sha256": "2f88479e7152eee6631f5326ac1541e1423d2859ba5cd323ec9ef44f15871c4b" }, "downloads": -1, "filename": "HireFire-0.2.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "c05c25ff6441e63e5a65c524f00afde3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17562, "upload_time": "2014-05-27T18:27:59", "url": "https://files.pythonhosted.org/packages/8a/99/cc61cb95c98367fd87dd5921e0463c32e6030fbe094d3f3665f8c9797a73/HireFire-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0b2c31bdbcd55a4d0fbc0664decaea9", "sha256": "c9c4082abd7269430a4f3539fc35f9612ba0245f762b275c2cd9d6d02770a1e6" }, "downloads": -1, "filename": "HireFire-0.2.1.tar.gz", "has_sig": true, "md5_digest": "c0b2c31bdbcd55a4d0fbc0664decaea9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10325, "upload_time": "2014-05-27T18:28:12", "url": "https://files.pythonhosted.org/packages/65/ff/589ffb176d6b8a08f7c4dc649bac7813d5d4991f9bdf7acb002b182039c9/HireFire-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "711bc283756f60b778a75448ad27470e", "sha256": "f9e4954cd888b3f04085d1c99d32f19f2eba9bc10eca7ad81c192951f82f6938" }, "downloads": -1, "filename": "HireFire-0.2.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "711bc283756f60b778a75448ad27470e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17580, "upload_time": "2014-11-27T08:28:57", "url": "https://files.pythonhosted.org/packages/38/3e/aa3ef779d25a70eb684fb3c6594b1c03c258c2778378178b99f227dcdae1/HireFire-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dd5c74bb2fc18b8f2e14c8bcb83649a6", "sha256": "eb42635c9e59765de4723932b0a1ac946bd24f69905b5bfe1e0e66989e14d5a9" }, "downloads": -1, "filename": "HireFire-0.2.2.tar.gz", "has_sig": true, "md5_digest": "dd5c74bb2fc18b8f2e14c8bcb83649a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10359, "upload_time": "2014-11-27T08:29:02", "url": "https://files.pythonhosted.org/packages/df/f0/b4227ec4df2873587a46ac8418c7b2850b73248e2ab0db0e7ea3fdf20640/HireFire-0.2.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "3c4d2839772ff6b857dfbbd671bfefbb", "sha256": "6f017ce37211aa72b9502198bc8a0f538627e47d442905e4b44f95203a27f898" }, "downloads": -1, "filename": "HireFire-0.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "3c4d2839772ff6b857dfbbd671bfefbb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19188, "upload_time": "2015-05-05T13:29:16", "url": "https://files.pythonhosted.org/packages/28/3e/b169d3300e1b1f9746c96bb6ccab0046a14ddfcf27ac1612b4dbb3ecb334/HireFire-0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9de000cdf410ceaf63a1a69cb378b755", "sha256": "65fca705df234cc09a83b2bb258ec98b1f21b4e12d8c9560b6e9429d8666fc06" }, "downloads": -1, "filename": "HireFire-0.3.tar.gz", "has_sig": true, "md5_digest": "9de000cdf410ceaf63a1a69cb378b755", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18154, "upload_time": "2015-05-05T13:29:20", "url": "https://files.pythonhosted.org/packages/95/ba/95d2dc3b6c4c1d8526eee1031863e699b9657809e9897c0ccc0c55434ce5/HireFire-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "86e9cdf4e331c4e5b429b523fa735c0b", "sha256": "60df2f1caadfbec196ee70db58e6c55b6a4dad87a0334be0db6a43d300497f79" }, "downloads": -1, "filename": "HireFire-0.4-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "86e9cdf4e331c4e5b429b523fa735c0b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20202, "upload_time": "2016-06-04T17:12:26", "url": "https://files.pythonhosted.org/packages/30/fb/556240202aa585f3117bac4d6d313d3033b3aad38ccf951cf97d27e42ef2/HireFire-0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cd5467e6762cbf0c9fd611d22df85ea4", "sha256": "8922eb4da5c8cca10f7772f333e8a36f6cb1b6c84f4a72466836e3099459c30e" }, "downloads": -1, "filename": "HireFire-0.4.tar.gz", "has_sig": true, "md5_digest": "cd5467e6762cbf0c9fd611d22df85ea4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18994, "upload_time": "2016-06-04T17:12:31", "url": "https://files.pythonhosted.org/packages/1b/ae/9d515d7350e7cf0476a933d5ca511617d1ed97fa8340e5dcc426ebeac900/HireFire-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "e879378b93692455d69af1c62090dadd", "sha256": "0ccc72516e7f768faa47b95681b7c617add2838d7274f6513e5f0a9ac83408c7" }, "downloads": -1, "filename": "HireFire-0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e879378b93692455d69af1c62090dadd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21182, "upload_time": "2017-01-21T00:01:29", "url": "https://files.pythonhosted.org/packages/e3/76/835048b9c26953e0a2160f1b93fff583e3da34fffa93b12e3fdc7f8b276e/HireFire-0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "63f3fa8a7df6028c5ed2bca6c9004988", "sha256": "f5d2084319c7051e9bdcf8d9915418ac31afbbdab687992e96783520fd7afde8" }, "downloads": -1, "filename": "HireFire-0.5.tar.gz", "has_sig": false, "md5_digest": "63f3fa8a7df6028c5ed2bca6c9004988", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22529, "upload_time": "2017-01-21T00:01:30", "url": "https://files.pythonhosted.org/packages/6f/bb/0db2d3f2726dd3561d2caa261dd2d72970470c6805d491a4640369678f6e/HireFire-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "8a579833d27bd8d5099de3b7e1e95c8f", "sha256": "80f28537415d0f046d518180a43fafcde5d28591589985c09f7e36f517016ea6" }, "downloads": -1, "filename": "HireFire-0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8a579833d27bd8d5099de3b7e1e95c8f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23366, "upload_time": "2018-10-10T14:52:56", "url": "https://files.pythonhosted.org/packages/b0/ce/b52fa824ea827fe6c318c81b04ed5e26476509ec0900507da2c9c5442238/HireFire-0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "918d2cd0ede1324a7be2299c1e2007e0", "sha256": "7e80cd23cd78c2727bad52cdf2077bfb268fe319721ef3ee6e8b68498e4919ee" }, "downloads": -1, "filename": "HireFire-0.6.tar.gz", "has_sig": false, "md5_digest": "918d2cd0ede1324a7be2299c1e2007e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25545, "upload_time": "2018-10-10T14:52:58", "url": "https://files.pythonhosted.org/packages/50/4a/b5915f40ea506ec1bdba60f85b962128044d2ed79b2a0c1b8cc2180554d3/HireFire-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "b7d3d66d7d8f7bd59002e1bf6ebfef50", "sha256": "362ae4005d0e748657617810cbb8d968107536d34977a154f9f0f7b659add2c9" }, "downloads": -1, "filename": "HireFire-0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b7d3d66d7d8f7bd59002e1bf6ebfef50", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23364, "upload_time": "2018-12-10T16:23:19", "url": "https://files.pythonhosted.org/packages/ff/b8/006883e79b92ec6a2f8c1c16fa2b06690a20f46beaebfaf03c4ad90c870c/HireFire-0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d1ed57ab268a024771932542d288b0a0", "sha256": "417c969ec910c1d3ee12bf4fde96fa25d984177b3e17c7d2a8940413b357de1b" }, "downloads": -1, "filename": "HireFire-0.7.tar.gz", "has_sig": false, "md5_digest": "d1ed57ab268a024771932542d288b0a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22957, "upload_time": "2018-12-10T16:23:21", "url": "https://files.pythonhosted.org/packages/a7/90/3996780272ac64c77e3b90d91b5c7096a6443f2957c6896c5b2055234a6a/HireFire-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "ee4e7db33bfa17998ff910a0f3e5d91e", "sha256": "10187a0f07ae8e4c6300f5db5705a87e86202c025bb449491545bc383e8b767a" }, "downloads": -1, "filename": "HireFire-0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ee4e7db33bfa17998ff910a0f3e5d91e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24497, "upload_time": "2019-03-10T21:22:48", "url": "https://files.pythonhosted.org/packages/d4/0e/30a7c82e1e1ebda12b8f1aaf8014e0a8e995947d7e0c2b6b5ad6e0cbb53f/HireFire-0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7238440e64632d9d57ad47c07ac9c3c3", "sha256": "0bc2617de27ba6df84b06ac71cb53e3760815373e428874ba675953badc6a6c3" }, "downloads": -1, "filename": "HireFire-0.8.tar.gz", "has_sig": false, "md5_digest": "7238440e64632d9d57ad47c07ac9c3c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23636, "upload_time": "2019-03-10T21:22:49", "url": "https://files.pythonhosted.org/packages/49/68/1ccb60e43f780c2d88aa179efd37f64232948179c5eadffdefb76f49671c/HireFire-0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ee4e7db33bfa17998ff910a0f3e5d91e", "sha256": "10187a0f07ae8e4c6300f5db5705a87e86202c025bb449491545bc383e8b767a" }, "downloads": -1, "filename": "HireFire-0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ee4e7db33bfa17998ff910a0f3e5d91e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24497, "upload_time": "2019-03-10T21:22:48", "url": "https://files.pythonhosted.org/packages/d4/0e/30a7c82e1e1ebda12b8f1aaf8014e0a8e995947d7e0c2b6b5ad6e0cbb53f/HireFire-0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7238440e64632d9d57ad47c07ac9c3c3", "sha256": "0bc2617de27ba6df84b06ac71cb53e3760815373e428874ba675953badc6a6c3" }, "downloads": -1, "filename": "HireFire-0.8.tar.gz", "has_sig": false, "md5_digest": "7238440e64632d9d57ad47c07ac9c3c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23636, "upload_time": "2019-03-10T21:22:49", "url": "https://files.pythonhosted.org/packages/49/68/1ccb60e43f780c2d88aa179efd37f64232948179c5eadffdefb76f49671c/HireFire-0.8.tar.gz" } ] }