{ "info": { "author": "Michael Merickel", "author_email": "pylons-discuss@googlegroups.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "======\nhupper\n======\n\n.. image:: https://img.shields.io/pypi/v/hupper.svg\n :target: https://pypi.python.org/pypi/hupper\n\n.. image:: https://img.shields.io/travis/Pylons/hupper/master.svg\n :target: https://travis-ci.org/Pylons/hupper\n\n.. image:: https://readthedocs.org/projects/hupper/badge/?version=latest\n :target: https://readthedocs.org/projects/hupper/?badge=latest\n :alt: Documentation Status\n\n``hupper`` is an integrated process monitor that will track changes to\nany imported Python files in ``sys.modules`` as well as custom paths. When\nfiles are changed the process is restarted.\n\nCommand-line Usage\n==================\n\nHupper can load any Python code similar to ``python -m `` by using the\n``hupper -m `` program.\n\n.. code-block:: console\n\n $ hupper -m myapp\n Starting monitor for PID 23982.\n\nAPI Usage\n=========\n\nStart by defining an entry point for your process. This must be an importable\npath in string format. For example, ``myapp.scripts.serve.main``.\n\n.. code-block:: python\n\n # myapp/scripts/serve.py\n\n import sys\n import hupper\n import waitress\n\n\n def wsgi_app(environ, start_response):\n start_response('200 OK', [('Content-Type', 'text/plain')])\n yield b'hello'\n\n\n def main(args=sys.argv[1:]):\n if '--reload' in args:\n # start_reloader will only return in a monitored subprocess\n reloader = hupper.start_reloader('myapp.scripts.serve.main')\n\n # monitor an extra file\n reloader.watch_files(['foo.ini'])\n\n waitress.serve(wsgi_app)\n\nAcknowledgments\n===============\n\n``hupper`` is inspired by initial work done by Carl J Meyer and David Glick\nduring a Pycon sprint and is built to be a more robust and generic version of\nIan Bicking's excellent PasteScript ``paste serve --reload`` and Pyramid's\n``pserve --reload``.\n\n\n1.9 (2019-10-14)\n================\n\n- Support ``--shutdown-interval`` on the ``hupper`` CLI.\n See https://github.com/Pylons/hupper/pull/56\n\n- Support ``--reload-interval`` on the ``hupper`` CLI.\n See https://github.com/Pylons/hupper/pull/59\n\n- Do not choke when stdin is not a TTY while waiting for changes after a\n crash. For example, when running in Docker Compose.\n See https://github.com/Pylons/hupper/pull/58\n\n1.8.1 (2019-06-12)\n==================\n\n- Do not show the ``KeyboardInterrupt`` stacktrace when killing ``hupper``\n while waiting for a reload.\n\n1.8 (2019-06-11)\n================\n\n- If the worker process crashes, ``hupper`` can be forced to reload the worker\n by pressing the ``ENTER`` key in the terminal instead of waiting to change a\n file.\n See https://github.com/Pylons/hupper/pull/53\n\n1.7 (2019-06-04)\n================\n\n- On Python 3.5+ support recursive glob syntax in ``reloader.watch_files``.\n See https://github.com/Pylons/hupper/pull/52\n\n1.6.1 (2019-03-11)\n==================\n\n- If the worker crashes immediately, sometimes ``hupper`` would go into a\n restart loop instead of waiting for a code change.\n See https://github.com/Pylons/hupper/pull/50\n\n1.6 (2019-03-06)\n================\n\n- On systems that support ``SIGKILL`` and ``SIGTERM`` (not Windows), ``hupper``\n will now send a ``SIGKILL`` to the worker process as a last resort. Normally,\n a ``SIGINT`` (Ctrl-C) or ``SIGTERM`` (on reload) will kill the worker. If,\n within ``shutdown_interval`` seconds, the worker doesn't exit, it will\n receive a ``SIGKILL``.\n See https://github.com/Pylons/hupper/pull/48\n\n- Support a ``logger`` argument to ``hupper.start_reloader`` to override\n the default logger that outputs messages to ``sys.stderr``.\n See https://github.com/Pylons/hupper/pull/49\n\n1.5 (2019-02-16)\n================\n\n- Add support for ignoring custom patterns via the new ``ignore_files``\n option on ``hupper.start_reloader``. The ``hupper`` cli also supports\n ignoring files via the ``-x`` option.\n See https://github.com/Pylons/hupper/pull/46\n\n1.4.2 (2018-11-26)\n==================\n\n- Fix a bug prompting the \"ignoring corrupted payload from watchman\" message\n and placing the file monitor in an unrecoverable state when a change\n triggered a watchman message > 4096 bytes.\n See https://github.com/Pylons/hupper/pull/44\n\n1.4.1 (2018-11-11)\n==================\n\n- Stop ignoring a few paths that may not be system paths in cases where the\n virtualenv is the root of your project.\n See https://github.com/Pylons/hupper/pull/42\n\n1.4 (2018-10-26)\n================\n\n- Ignore changes to any system / installed files. This includes mostly\n changes to any files in the stdlib and ``site-packages``. Anything that is\n installed in editable mode or not installed at all will still be monitored.\n This drastically reduces the number of files that ``hupper`` needs to\n monitor.\n See https://github.com/Pylons/hupper/pull/40\n\n1.3.1 (2018-10-05)\n==================\n\n- Support Python 3.7.\n\n- Avoid a restart-loop if the app is failing to restart on certain systems.\n There was a race where ``hupper`` failed to detect that the app was\n crashing and thus fell into its restart logic when the user manually\n triggers an immediate reload.\n See https://github.com/Pylons/hupper/pull/37\n\n- Ignore corrupted packets coming from watchman that occur in semi-random\n scenarios. See https://github.com/Pylons/hupper/pull/38\n\n1.3 (2018-05-21)\n================\n\n- Added watchman support via ``hupper.watchman.WatchmanFileMonitor``.\n This is the new preferred file monitor on systems supporting unix sockets.\n See https://github.com/Pylons/hupper/pull/32\n\n- The ``hupper.watchdog.WatchdogFileMonitor`` will now output some info\n when it receives ulimit or other errors from ``watchdog``.\n See https://github.com/Pylons/hupper/pull/33\n\n- Allow ``-q`` and ``-v`` cli options to control verbosity.\n See https://github.com/Pylons/hupper/pull/33\n\n- Pass a ``logger`` value to the ``hupper.interfaces.IFileMonitorFactory``.\n This is an instance of ``hupper.interfaces.ILogger`` and can be used by\n file monitors to output errors and debug information.\n See https://github.com/Pylons/hupper/pull/33\n\n1.2 (2018-05-01)\n================\n\n- Track only Python source files. Previously ``hupper`` would track all pyc\n and py files. Now, if a pyc file is found then the equivalent source file\n is searched and, if found, the pyc file is ignored.\n See https://github.com/Pylons/hupper/pull/31\n\n- Allow overriding the default monitor lookup by specifying the\n ``HUPPER_DEFAULT_MONITOR`` environment variable as a Python dotted-path\n to a monitor factory. For example,\n ``HUPPER_DEFAULT_MONITOR=hupper.polling.PollingFileMonitor``.\n See https://github.com/Pylons/hupper/pull/29\n\n- Backward-incompatible changes to the\n ``hupper.interfaces.IFileMonitorFactory`` API to pass arbitrary kwargs\n to the factory.\n See https://github.com/Pylons/hupper/pull/29\n\n1.1 (2018-03-29)\n================\n\n- Support ``-w`` on the CLI to watch custom file paths.\n See https://github.com/Pylons/hupper/pull/28\n\n1.0 (2017-05-18)\n================\n\n- Copy ``sys.path`` to the worker process and ensure ``hupper`` is on the\n ``PYTHONPATH`` so that the subprocess can import it to start the worker.\n This fixes an issue with how ``zc.buildout`` injects dependencies into a\n process which is done entirely by ``sys.path`` manipulation.\n See https://github.com/Pylons/hupper/pull/27\n\n0.5 (2017-05-10)\n================\n\n- On non-windows systems ensure an exec occurs so that the worker does not\n share the same process space as the reloader causing certain code that\n is imported in both to not ever be reloaded. Under the hood this was a\n significant rewrite to use subprocess instead of multiprocessing.\n See https://github.com/Pylons/hupper/pull/23\n\n0.4.4 (2017-03-10)\n==================\n\n- Fix some versions of Windows which were failing to duplicate stdin to\n the subprocess and crashing.\n https://github.com/Pylons/hupper/pull/16\n\n0.4.3 (2017-03-07)\n==================\n\n- Fix pdb and other readline-based programs to operate properly.\n See https://github.com/Pylons/hupper/pull/15\n\n0.4.2 (2017-01-24)\n==================\n\n- Pause briefly after receiving a SIGINT to allow the worker to kill itself.\n If it does not die then it is terminated.\n See https://github.com/Pylons/hupper/issues/11\n\n- Python 3.6 compatibility.\n\n0.4.1 (2017-01-03)\n==================\n\n- Handle errors that may occur when using watchdog to observe non-existent\n folders.\n\n0.4.0 (2017-01-02)\n==================\n\n- Support running any Python module via ``hupper -m ``. This is\n equivalent to ``python -m`` except will fully reload the process when files\n change. See https://github.com/Pylons/hupper/pull/8\n\n0.3.6 (2016-12-18)\n==================\n\n- Read the traceback for unknown files prior to crashing. If an import\n crashes due to a module-scope exception the file that caused the crash would\n not be tracked but this should help.\n\n0.3.5 (2016-12-17)\n==================\n\n- Attempt to send imported paths to the monitor process before crashing to\n avoid cases where the master is waiting for changes in files that it never\n started monitoring.\n\n0.3.4 (2016-11-21)\n==================\n\n- Add support for globbing using the stdlib ``glob`` module. On Python 3.5+\n this allows recursive globs using ``**``. Prior to this, the globbing is\n more limited.\n\n0.3.3 (2016-11-19)\n==================\n\n- Fixed a runtime failure on Windows 32-bit systems.\n\n0.3.2 (2016-11-15)\n==================\n\n- Support triggering reloads via SIGHUP when hupper detected a crash and is\n waiting for a file to change.\n\n- Setup the reloader proxy prior to importing the worker's module. This\n should allow some work to be done at module-scope instead of in the\n callable.\n\n0.3.1 (2016-11-06)\n==================\n\n- Fix package long description on PyPI.\n\n- Ensure that the stdin file handle is inheritable incase the \"spawn\" variant\n of multiprocessing is enabled.\n\n0.3 (2016-11-06)\n================\n\n- Disable bytecode compiling of files imported by the worker process. This\n should not be necessary when developing and it was causing the process to\n restart twice on Windows due to how it handles pyc timestamps.\n\n- Fix hupper's support for forwarding stdin to the worker processes on\n Python < 3.5 on Windows.\n\n- Fix some possible file descriptor leakage.\n\n- Simplify the ``hupper.interfaces.IFileMonitor`` interface by internalizing\n some of the hupper-specific integrations. They can now focus on just\n looking for changes.\n\n- Add the ``hupper.interfaces.IFileMonitorFactory`` interface to improve\n the documentation for the ``callback`` argument required by\n ``hupper.interfaces.IFileMonitor``.\n\n0.2 (2016-10-26)\n================\n\n- Windows support!\n\n- Added support for `watchdog `_ if it's\n installed to do inotify-style file monitoring. This is an optional dependency\n and ``hupper`` will fallback to using polling if it's not available.\n\n0.1 (2016-10-21)\n================\n\n- Initial release.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Pylons/hupper", "keywords": "server daemon autoreload reloader hup file watch process", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "hupper", "package_url": "https://pypi.org/project/hupper/", "platform": "", "project_url": "https://pypi.org/project/hupper/", "project_urls": { "Homepage": "https://github.com/Pylons/hupper" }, "release_url": "https://pypi.org/project/hupper/1.9/", "requires_dist": [ "watchdog ; extra == 'docs'", "Sphinx ; extra == 'docs'", "pylons-sphinx-themes ; extra == 'docs'", "watchdog ; extra == 'testing'", "pytest ; extra == 'testing'", "pytest-cov ; extra == 'testing'", "mock ; extra == 'testing'" ], "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "summary": "Integrated process monitor for developing and reloading daemons.", "version": "1.9" }, "last_serial": 5974655, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "514006d7d0f2a70f7a9ae30356504bfb", "sha256": "eddb3669c2286f5493df21bac1f26421ff4c9a0f0ec9f2e96f1d9f90de7c97f3" }, "downloads": -1, "filename": "hupper-0.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "514006d7d0f2a70f7a9ae30356504bfb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7385, "upload_time": "2016-10-21T05:27:26", "url": "https://files.pythonhosted.org/packages/b7/b3/749bfdc2f0a8cafbffe43ba3cb933f63dc881c5838860461f58173965c09/hupper-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dd2779bdc1591f6f71d08d6f8428669c", "sha256": "e6cc1a9d93e22c1e8a7b432b9e50081155566366a2d5858e41739a8dbcda36d8" }, "downloads": -1, "filename": "hupper-0.1.tar.gz", "has_sig": true, "md5_digest": "dd2779bdc1591f6f71d08d6f8428669c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16268, "upload_time": "2016-10-21T05:27:28", "url": "https://files.pythonhosted.org/packages/32/af/8510fd7405050cd713dce320ef768d01d976e9642097ac773925c24359b9/hupper-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "49b769bfc734592c718d5e5a10e27b03", "sha256": "9779c56b40631097abc7827c388fe0915361c6efa5a15bad9281aad38861f8e2" }, "downloads": -1, "filename": "hupper-0.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "49b769bfc734592c718d5e5a10e27b03", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10455, "upload_time": "2016-10-27T04:16:50", "url": "https://files.pythonhosted.org/packages/12/f5/6bf598a24a9bf487f1b050ab94028cd0c1c68c8392876ce46878f1e5c3db/hupper-0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dfa3d36a9838bc31b0b0e28d6a2fb50b", "sha256": "6385165ff282db7e6ab3b414fb78d6d0964e43c4fdf9bd14ca4735d7b2a69563" }, "downloads": -1, "filename": "hupper-0.2.tar.gz", "has_sig": true, "md5_digest": "dfa3d36a9838bc31b0b0e28d6a2fb50b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18840, "upload_time": "2016-10-27T04:16:52", "url": "https://files.pythonhosted.org/packages/f7/65/1bb2926a8779679859bdee839d82f6ca66fdb8900939198a903d31b9937f/hupper-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "2a59dec9cfa68768dd34907a47cae84b", "sha256": "8830263a29b4e03f69dd2c6aa9530263c7d259114baa62767d22388f34bfdb76" }, "downloads": -1, "filename": "hupper-0.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "2a59dec9cfa68768dd34907a47cae84b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12042, "upload_time": "2016-11-06T18:09:59", "url": "https://files.pythonhosted.org/packages/39/60/1132456f8fbe8f2d19c07d7d864ab6d892dbfb61cd3bd147c67a5e7f4734/hupper-0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "186fa81763837f056b207bd7494191fa", "sha256": "2e3445aad790c5ae7b36829c6aac29a7173ef71c698e29c4bbf45d6b5731c275" }, "downloads": -1, "filename": "hupper-0.3.tar.gz", "has_sig": true, "md5_digest": "186fa81763837f056b207bd7494191fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20224, "upload_time": "2016-11-06T18:10:04", "url": "https://files.pythonhosted.org/packages/34/20/002c651b554c29f7a432e171fc9e6403c3bf0121e959f3751b363ce8504d/hupper-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "057b0ecaea1080c9e44f6faf708c6b1e", "sha256": "095b8972b5b06f94ea90bfe9535a37adb95eafa64b1eb9764eb45fafe34e3997" }, "downloads": -1, "filename": "hupper-0.3.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "057b0ecaea1080c9e44f6faf708c6b1e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15547, "upload_time": "2016-11-07T01:43:09", "url": "https://files.pythonhosted.org/packages/da/4c/0a237b68caff2508e045883a40f1ed5ad7a9b4e7350c8079614bb246f564/hupper-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a23fe2cba2a3c6b8768575e9802fd414", "sha256": "1a589f2656429683cb7d26515c0a578dae2478358d4cb6f361c4f07a54886d94" }, "downloads": -1, "filename": "hupper-0.3.1.tar.gz", "has_sig": true, "md5_digest": "a23fe2cba2a3c6b8768575e9802fd414", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21999, "upload_time": "2016-11-07T01:43:12", "url": "https://files.pythonhosted.org/packages/fc/66/a88339cddec23beb4497ecca6528c92704919718f2eb25b918cea8600428/hupper-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "9018aa17d8a6cdd0329c66188295cb03", "sha256": "f12754d2b5c2dd9c1b16ec98b69e03cc4c2c62e8682d00057af06ffa3ff2d435" }, "downloads": -1, "filename": "hupper-0.3.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "9018aa17d8a6cdd0329c66188295cb03", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15064, "upload_time": "2016-11-16T03:53:01", "url": "https://files.pythonhosted.org/packages/fd/3f/af7b8d49ca55bf043132fd5fc3a969a71c67640272b5f42e86462251f8cb/hupper-0.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0fde2397fa3781f9d1a2a444ed5fcf64", "sha256": "b55e9f0ad6a06cbcfa10e43156ea92900b4a6ea7db9395a1e42e821bf02d3196" }, "downloads": -1, "filename": "hupper-0.3.2.tar.gz", "has_sig": true, "md5_digest": "0fde2397fa3781f9d1a2a444ed5fcf64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24305, "upload_time": "2016-11-16T03:53:03", "url": "https://files.pythonhosted.org/packages/2d/63/a686bc9d3b8131f77abaf4622e26f044b958cf8f72b5fdf0ebe032c0b16c/hupper-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "a53ec9f3cf994dcc2b84a19f803fa1d6", "sha256": "bed17d21ed07fc9b3b5d03542f2494f83008040cc68a930ac504c3137527b112" }, "downloads": -1, "filename": "hupper-0.3.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "a53ec9f3cf994dcc2b84a19f803fa1d6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15135, "upload_time": "2016-11-20T00:34:53", "url": "https://files.pythonhosted.org/packages/cf/a9/8b5113a05b62f76cde172ef224be78ff7b083012adc3ce18fa5edada617b/hupper-0.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6fcb6f064249fca0346f7df411c64633", "sha256": "e2ac522f61ad7be075757879f1c9476e6470ef9c0c15fdd04ba08e7b0a9134f8" }, "downloads": -1, "filename": "hupper-0.3.3.tar.gz", "has_sig": true, "md5_digest": "6fcb6f064249fca0346f7df411c64633", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25079, "upload_time": "2016-11-20T00:34:55", "url": "https://files.pythonhosted.org/packages/c6/8d/e6b7ad817ad4b3ff3adfa25254fd02ee1dce7f2f3e1ffb22c0fe2e333455/hupper-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "33071a2e37405dfcb7c4d0843ec61642", "sha256": "c8b51f5c657b90f37e1568efaddf42b0ee4c48036246d87a8a65afcd67e2226d" }, "downloads": -1, "filename": "hupper-0.3.4-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "33071a2e37405dfcb7c4d0843ec61642", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15353, "upload_time": "2016-11-22T04:39:23", "url": "https://files.pythonhosted.org/packages/d7/29/b4c3413d9c72f849db92cb61c3360752f1dfd458a1b9d1214d0f06a2c8ab/hupper-0.3.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "817b58025a690674843a15778fed6d38", "sha256": "b86dba2bc50e106425e0a09582b0f4d394c9da2446cf480fd08981c1cd8ed639" }, "downloads": -1, "filename": "hupper-0.3.4.tar.gz", "has_sig": true, "md5_digest": "817b58025a690674843a15778fed6d38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25957, "upload_time": "2016-11-22T04:39:25", "url": "https://files.pythonhosted.org/packages/ce/fd/3d151df5befa6e7020d86bd9e5b3d1b188e39f3fa1989536ebca16e7e8b7/hupper-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "1d9b772ff481b93b24df326d13081977", "sha256": "74ec01a754705fbf44c90939ce143a4b0cfae901c577bb082a29f09a83011164" }, "downloads": -1, "filename": "hupper-0.3.5-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "1d9b772ff481b93b24df326d13081977", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15673, "upload_time": "2016-12-18T07:15:46", "url": "https://files.pythonhosted.org/packages/ac/c7/f865fb9cae9cb10fc40ddd5eea8260cd083d77af5927be914d5b34dc2132/hupper-0.3.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99698bb3a97e6d16edd40109b592afdc", "sha256": "507d2e77c2b05e5c3260b7d4a46b802ad57c9a22873d4cc13e0b7009edb818a0" }, "downloads": -1, "filename": "hupper-0.3.5.tar.gz", "has_sig": true, "md5_digest": "99698bb3a97e6d16edd40109b592afdc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26310, "upload_time": "2016-12-18T07:15:48", "url": "https://files.pythonhosted.org/packages/4c/ee/1195675d0494a2b07eb46bff848310e39820edb08e335c551369f09bd54b/hupper-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "7c90833e45218a07cd4b234f5482a72f", "sha256": "f6da2c36d90d15666812d250b92ac228a78150b3097869ee8015ccc32c660cdf" }, "downloads": -1, "filename": "hupper-0.3.6-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "7c90833e45218a07cd4b234f5482a72f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15929, "upload_time": "2016-12-18T20:47:58", "url": "https://files.pythonhosted.org/packages/c9/9b/1fe2f72d0c8c63a64aea8e3b22b6d0e10c16210f68fe060e26d5b035abcb/hupper-0.3.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "842e79e1e42838f7f281ac455cdc4e3b", "sha256": "12c92847f61a44172bf3de942a209128699ef2794c48232cd72fc530f42da26b" }, "downloads": -1, "filename": "hupper-0.3.6.tar.gz", "has_sig": true, "md5_digest": "842e79e1e42838f7f281ac455cdc4e3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26667, "upload_time": "2016-12-18T20:48:00", "url": "https://files.pythonhosted.org/packages/0b/31/4109961d750e724e2932f1bd722bbb207e1bfff088de26667396e62a75d2/hupper-0.3.6.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "3c197c6b37c2451606e2ce5f53126ed7", "sha256": "0548677bca034ca5e30c7b95ccc00672f0f1a757a98aee1790f6edb94a99f55f" }, "downloads": -1, "filename": "hupper-0.4.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "3c197c6b37c2451606e2ce5f53126ed7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17102, "upload_time": "2017-01-03T05:06:57", "url": "https://files.pythonhosted.org/packages/b9/ea/a69f1612b937f28a7c6453dc1b2b655c5f84e61b48d736ebce8e4937198e/hupper-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da4db70574e7ffec7ddc766dc66beeb4", "sha256": "d2714efe4ef7a5d381e88502f8140c8fe0728a3a87fa5bfdf1f426a549c32cd9" }, "downloads": -1, "filename": "hupper-0.4.0.tar.gz", "has_sig": true, "md5_digest": "da4db70574e7ffec7ddc766dc66beeb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27560, "upload_time": "2017-01-03T05:06:59", "url": "https://files.pythonhosted.org/packages/c4/10/0167622f3dba9143af7c72652e739d309db8c16ce59aba7a3c2d6a4c85fc/hupper-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "b1a11dbfe5b399ac04b4d282aa5ab009", "sha256": "cb4d9ee275255a7ae7451894d7c8717563f8be9711dc6e684c1e480589f3a362" }, "downloads": -1, "filename": "hupper-0.4.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "b1a11dbfe5b399ac04b4d282aa5ab009", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17256, "upload_time": "2017-01-03T07:03:49", "url": "https://files.pythonhosted.org/packages/f5/16/f61444c95434ec2bcc0e3ada2b59ae14342ffbd908f55c65bf1630aee93f/hupper-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "18c3cf6ee830983a8bfffa7ff4956680", "sha256": "7d6eda2bb54a35f0045122de80354711f4eeaeeb625bbedc5410f826b2aa1457" }, "downloads": -1, "filename": "hupper-0.4.1.tar.gz", "has_sig": true, "md5_digest": "18c3cf6ee830983a8bfffa7ff4956680", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27729, "upload_time": "2017-01-03T07:03:52", "url": "https://files.pythonhosted.org/packages/df/e8/b5a87b4878e8b67bd57354d6c6856d37aa261a676add4d9480c8e21ce245/hupper-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "d5dd0425fdeb7e94a2bd9a160696264f", "sha256": "2a15e90b4a19d55015f3a7e348bd15dbc93fbe2bd9c49d6b781d05794bd06c84" }, "downloads": -1, "filename": "hupper-0.4.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "d5dd0425fdeb7e94a2bd9a160696264f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17493, "upload_time": "2017-01-24T08:27:39", "url": "https://files.pythonhosted.org/packages/ad/91/4dab9e637b6502c7bc06b1801e734cb90aebe3aabeedec90edad9f0a6b34/hupper-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a5a86763bd2297286713aec37c881ddd", "sha256": "c638b88b1a1505522870219a68272d2f1ae5778cf046c267925edec97678b0fb" }, "downloads": -1, "filename": "hupper-0.4.2.tar.gz", "has_sig": true, "md5_digest": "a5a86763bd2297286713aec37c881ddd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28048, "upload_time": "2017-01-24T08:27:40", "url": "https://files.pythonhosted.org/packages/58/72/3fa084a9b68cfb0442b100431533af1c3ff189a33406e9dad066062eb5fc/hupper-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "b03c36a4a4f7e59b4d7d70b36ccf6db2", "sha256": "1926e8b297b7f44aacef601aca22c3ab9c812376917818eee7777257074b1998" }, "downloads": -1, "filename": "hupper-0.4.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "b03c36a4a4f7e59b4d7d70b36ccf6db2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18165, "upload_time": "2017-03-08T06:07:40", "url": "https://files.pythonhosted.org/packages/80/f0/7c89811dc514dfc602cbbfa81cf9af02ca0fb2358be5c4ef81326760c1b2/hupper-0.4.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "819377de8d4cf3a375698f9c4acc5ffd", "sha256": "4561c2efceb152e951d45d00dc9ae3a8eccc61a22a7ffc43753d3fb0b95cdf23" }, "downloads": -1, "filename": "hupper-0.4.3.tar.gz", "has_sig": true, "md5_digest": "819377de8d4cf3a375698f9c4acc5ffd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28681, "upload_time": "2017-03-08T06:07:43", "url": "https://files.pythonhosted.org/packages/f5/52/714cbf94c9474121730cd385b9afdf0923386f3e73cad255e31950295ee2/hupper-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "02c41fc163001c9079c22af707cdc180", "sha256": "7251cd7af734bc36dff0c86391bfd1c486bfd8a64a0a535beaf3de6056d03591" }, "downloads": -1, "filename": "hupper-0.4.4-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "02c41fc163001c9079c22af707cdc180", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18573, "upload_time": "2017-03-10T09:26:42", "url": "https://files.pythonhosted.org/packages/ca/ab/7358f5bf605dbb6157a173bf3e00047266bbcc054e36004cce25cb0c09db/hupper-0.4.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f3d104086e3ad363517b2ecd43029701", "sha256": "a44971bd58e904864f31058b2e64b5716568d7db67f34d8f83b4d40f268adf7a" }, "downloads": -1, "filename": "hupper-0.4.4.tar.gz", "has_sig": true, "md5_digest": "f3d104086e3ad363517b2ecd43029701", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29042, "upload_time": "2017-03-10T09:26:44", "url": "https://files.pythonhosted.org/packages/32/aa/847c6ede6da7b2d9438c4ae5c4ce7c47f7db73572f4ea2566ffd83c23dd6/hupper-0.4.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "47db7fdb64d2133a6804e214f3a43e93", "sha256": "f81fe935a8fe7ff3c18596bc08ff74cd6a2a8ee9f530c5f69bdc538d81d31cf2" }, "downloads": -1, "filename": "hupper-0.5-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "47db7fdb64d2133a6804e214f3a43e93", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 19726, "upload_time": "2017-05-11T01:35:48", "url": "https://files.pythonhosted.org/packages/7e/57/6c2c64cf3fd9f87682f3dd29ecf8db8fec7d84d52db917367a71d94d4d4f/hupper-0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ac67c1505bdf8f9c49ea58342c83a19", "sha256": "25a84e8b8d5dbe938fdc54c0f6a3b77a3d7c6f08f22ee940256b654e95dde4b8" }, "downloads": -1, "filename": "hupper-0.5.tar.gz", "has_sig": true, "md5_digest": "7ac67c1505bdf8f9c49ea58342c83a19", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 29924, "upload_time": "2017-05-11T01:35:51", "url": "https://files.pythonhosted.org/packages/68/00/3a5d1cb01e360ffc329dab497b69a94fa95a75a274df7d7430032bc7c1d0/hupper-0.5.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "9d9323951103ebb590cb896168582641", "sha256": "e0dbe89b637b59d82687ba7f74690a0fa37d0f5ca4963cbb9069834ab08272fe" }, "downloads": -1, "filename": "hupper-1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "9d9323951103ebb590cb896168582641", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 21130, "upload_time": "2017-05-18T21:34:19", "url": "https://files.pythonhosted.org/packages/ca/8e/e4ac17924c56ce6a0098084afe7d3a45c5815d57bf37ee29350bd4b8916f/hupper-1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "26e77da7d5ac5858f59af050d1a6eb5a", "sha256": "afb9584fc387c962824627bb243d7d92c276df608a771b17c8b727a7de34920a" }, "downloads": -1, "filename": "hupper-1.0.tar.gz", "has_sig": true, "md5_digest": "26e77da7d5ac5858f59af050d1a6eb5a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 30734, "upload_time": "2017-05-18T21:34:21", "url": "https://files.pythonhosted.org/packages/2e/07/df892c564dc09bb3cf6f6deb976c26adf9117db75ba218cb4353dbc9d826/hupper-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "f327f1ca33f42da5b9202f49eaff6a95", "sha256": "3c054723ee7461d34260e2e9d99f9ae3fb106c3de3602c05f5e2eb554054ecb9" }, "downloads": -1, "filename": "hupper-1.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "f327f1ca33f42da5b9202f49eaff6a95", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 21239, "upload_time": "2018-03-29T18:44:24", "url": "https://files.pythonhosted.org/packages/41/4c/5da193953be01a42f24da3b057729cc9fc8bea6bb5e1e182795f26562072/hupper-1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "79711e784653af7c851879206e9c47d9", "sha256": "e18037fa43fb4af7c00bd262ca6f5d7bcd22debd5d71e43b0fb1437f56e78035" }, "downloads": -1, "filename": "hupper-1.1.tar.gz", "has_sig": true, "md5_digest": "79711e784653af7c851879206e9c47d9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 32142, "upload_time": "2018-03-29T18:50:01", "url": "https://files.pythonhosted.org/packages/21/0d/b7832396df00564836b204ac23aadd6ff177d1c0e68ce40e5ccaccc1dd86/hupper-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "741c898f1382c54100b395b49e461c8a", "sha256": "193c3e9323607676bac62e53507565fa9260b15fc8ffd43311cff740d6e83d2b" }, "downloads": -1, "filename": "hupper-1.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "741c898f1382c54100b395b49e461c8a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 18487, "upload_time": "2018-05-02T04:04:24", "url": "https://files.pythonhosted.org/packages/5e/17/cde4d9724ef71459d6816e8482425bd83e0413fddb216c51646141d4b6fa/hupper-1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41de10bd4f0078c34e44732a78a3f62a", "sha256": "a85c11e5c8ab1aae00c7a216674030327284fa81a25febe1bd1aef14ae96f9a2" }, "downloads": -1, "filename": "hupper-1.2.tar.gz", "has_sig": true, "md5_digest": "41de10bd4f0078c34e44732a78a3f62a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 33347, "upload_time": "2018-05-02T04:04:26", "url": "https://files.pythonhosted.org/packages/13/f4/6fbd7cf27b228261a8cbe3c87e85aeb2b1f28d4941ac7f137493d6afe586/hupper-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "ad7df84207bf68e9a01e981facee384a", "sha256": "6b8133e9c5cc0a8ec422a29ef3b38aea2c49a809a0af73f419a78a7015b32615" }, "downloads": -1, "filename": "hupper-1.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "ad7df84207bf68e9a01e981facee384a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 21230, "upload_time": "2018-05-21T21:40:14", "url": "https://files.pythonhosted.org/packages/2f/ba/a4f257c5a7ede042c9cab15571c351de204015c6869a83c5249215fb3e5a/hupper-1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e18f36dee7875b8cd13e29882e04f04a", "sha256": "20387760e4d32bd4813c2cabc8e51d92b2c22c546102a0af182c33c152cd7ede" }, "downloads": -1, "filename": "hupper-1.3.tar.gz", "has_sig": true, "md5_digest": "e18f36dee7875b8cd13e29882e04f04a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 35839, "upload_time": "2018-05-21T21:40:16", "url": "https://files.pythonhosted.org/packages/51/0c/96335b1f2f32245fb871eea5bb9773196505ddb71fad15190056a282df9e/hupper-1.3.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "3f6585391a28793228de020020153442", "sha256": "2ae87fb826313950a80a24d3334a3d317715cb02735cc6167a1b8c9c748190e0" }, "downloads": -1, "filename": "hupper-1.3.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "3f6585391a28793228de020020153442", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 21654, "upload_time": "2018-10-05T19:33:21", "url": "https://files.pythonhosted.org/packages/70/b7/4013ae11e977d4a38141ecba1c754f8b0a826b182de0c5c6fb780ede9834/hupper-1.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc2dd6965ff7f48a127cd431504eb96b", "sha256": "899a1da85b71b62d903b5732703cad7454425b4ba9a6453930ad9168ec08ae0e" }, "downloads": -1, "filename": "hupper-1.3.1.tar.gz", "has_sig": true, "md5_digest": "dc2dd6965ff7f48a127cd431504eb96b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 36515, "upload_time": "2018-10-05T19:33:23", "url": "https://files.pythonhosted.org/packages/cf/4b/467b826a84c8594b81f414b5ab6794e981951dac90ca40abaf9ea1cb36b0/hupper-1.3.1.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "a37a3c1b989be6b882208be8f2569e6d", "sha256": "948a13df3af7884210ca118af3875e1a4a101142aa745a0360cae41fcbfe13d4" }, "downloads": -1, "filename": "hupper-1.4-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "a37a3c1b989be6b882208be8f2569e6d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 22173, "upload_time": "2018-10-26T15:24:29", "url": "https://files.pythonhosted.org/packages/29/04/9be87e39d7346daff2117af7505c2f5aa900965f29ce88f5a1f9ff670cf4/hupper-1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d9a5dacc40f889b5a747c28fd327666a", "sha256": "f9d9ab2457fdd01ee20278d3d7dfc91c49cae329863f47571a4a2e78d90fa738" }, "downloads": -1, "filename": "hupper-1.4.tar.gz", "has_sig": true, "md5_digest": "d9a5dacc40f889b5a747c28fd327666a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 37357, "upload_time": "2018-10-26T15:24:31", "url": "https://files.pythonhosted.org/packages/fb/8e/0e45729d54e88c3791fb7e8c0c99530c5b9204bae73156a28b258583609a/hupper-1.4.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "a552e6c158c2ab95ece21e0b96b51fe2", "sha256": "795e89e6157e8b1f25556bf2a7dc5358706efdcd03cdc2641ba665071e6e6ead" }, "downloads": -1, "filename": "hupper-1.4.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "a552e6c158c2ab95ece21e0b96b51fe2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 22294, "upload_time": "2018-11-11T19:11:46", "url": "https://files.pythonhosted.org/packages/3b/51/eb38fa153080bf683528b02aa97d82753293f3835c017ec7aa80984e948f/hupper-1.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1fbb1e0e62c9692cc0ca1d640e955ab6", "sha256": "17dd6f59e7cd52166302b2a6a3112e03fb4612eaff9bb19cd0603cf67e03c5cf" }, "downloads": -1, "filename": "hupper-1.4.1.tar.gz", "has_sig": true, "md5_digest": "1fbb1e0e62c9692cc0ca1d640e955ab6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 37684, "upload_time": "2018-11-11T19:11:49", "url": "https://files.pythonhosted.org/packages/3d/8d/fa1367cf4713038e074083d557eede6ece89f9a35d50e325eacdd63e4190/hupper-1.4.1.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "3e488aa7e821d68d5c11e04db29de567", "sha256": "0c0083efcd1b777d7c292e7476e36adaaad187bd0f3cd7b48d8f8ab0abf288a3" }, "downloads": -1, "filename": "hupper-1.4.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "3e488aa7e821d68d5c11e04db29de567", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 22384, "upload_time": "2018-11-26T08:25:35", "url": "https://files.pythonhosted.org/packages/d8/5f/242706fefee74df5d17d79c027d95c48d751aa5095f56d44d17d5045c224/hupper-1.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e30064ea69927aab953cbc7ce89f922", "sha256": "eb3778398658a011c96e620adcd73175f306f880a6d86b2ebb6d2a15a74b6b9b" }, "downloads": -1, "filename": "hupper-1.4.2.tar.gz", "has_sig": true, "md5_digest": "8e30064ea69927aab953cbc7ce89f922", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 37891, "upload_time": "2018-11-26T08:25:38", "url": "https://files.pythonhosted.org/packages/f1/75/1915dc7650b4867fa3049256e24ca8eddb5989998fcec788cf52b9812dfc/hupper-1.4.2.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "27e0aa18336b7830f72325d7decb1045", "sha256": "626b77e3ce55dbfc11e670a0eeed413de6fdbf5cf0bb92458dd4e0d5fc462ab8" }, "downloads": -1, "filename": "hupper-1.5-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "27e0aa18336b7830f72325d7decb1045", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 22600, "upload_time": "2019-02-16T23:47:01", "url": "https://files.pythonhosted.org/packages/14/c8/98cd90c0dc5fb7d6448e9a3fc121c80d8d9cbb1d4ea4edd2daf6d6b2d39c/hupper-1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d95cee3eba3907b45d170db8487d5285", "sha256": "693a167badbe82177219fccf1a27c5a007498c843c21d0071795a9bbb3f0c60a" }, "downloads": -1, "filename": "hupper-1.5.tar.gz", "has_sig": true, "md5_digest": "d95cee3eba3907b45d170db8487d5285", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 38713, "upload_time": "2019-02-16T23:47:03", "url": "https://files.pythonhosted.org/packages/89/f1/aace4ea69c1d79e243e48a81dcf1608c87e8c5a190e6ef80fae245d494ac/hupper-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "f4a76433c79abded6cfb09a8195d180b", "sha256": "ec2c48b26d839c635871d2e4b04e89677ea55a80706b58897ba0400c4c1646ea" }, "downloads": -1, "filename": "hupper-1.6-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "f4a76433c79abded6cfb09a8195d180b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 23185, "upload_time": "2019-03-07T05:01:15", "url": "https://files.pythonhosted.org/packages/98/9e/9f584623d5b6bcdfa9f0377fc1dbe8a2f35cf79d04d555d354852a278eb4/hupper-1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "25f0d467a4e10a046754dd2df0c55617", "sha256": "cc8d0756bb8dbfefb172557a02219f5c55e77603ec140a01035a0e332fa0605c" }, "downloads": -1, "filename": "hupper-1.6.tar.gz", "has_sig": true, "md5_digest": "25f0d467a4e10a046754dd2df0c55617", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 39440, "upload_time": "2019-03-07T05:01:17", "url": "https://files.pythonhosted.org/packages/a4/f7/595756fdfdf896d2c46ae6dc25b1bc97645d0fbf2d6ca547b5b55728eaf3/hupper-1.6.tar.gz" } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "9d906aef14f8e8040e32f7e88b21802e", "sha256": "cb33b8f1de73a3566f4bd7decc620d0c6de7d7da9cdf176b6ad310fe037d6106" }, "downloads": -1, "filename": "hupper-1.6.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "9d906aef14f8e8040e32f7e88b21802e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 23475, "upload_time": "2019-03-11T16:53:00", "url": "https://files.pythonhosted.org/packages/b7/dd/807635115e7442e2487e8af7e5d58a080565b24e2ec4620ee31cfd65317f/hupper-1.6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5dbe743e9ea3a91a2388e2f9c88f8769", "sha256": "fe8febd68cec7fbed174fcbb0b42c427f96c8a7471c1cd4999fc698dd8dc6c34" }, "downloads": -1, "filename": "hupper-1.6.1.tar.gz", "has_sig": true, "md5_digest": "5dbe743e9ea3a91a2388e2f9c88f8769", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 39773, "upload_time": "2019-03-11T16:53:02", "url": "https://files.pythonhosted.org/packages/85/d9/e005d357b11249c5d70ddf5b7adab2e4c0da4e8b0531ff146917a04fe6c0/hupper-1.6.1.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "0313f783a983372e6ae6e4478226d752", "sha256": "034c69d5ada9ce538f248ee02c3398660bfdfd2b06d12a43e2e7e4d6dcb6ed02" }, "downloads": -1, "filename": "hupper-1.7-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "0313f783a983372e6ae6e4478226d752", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 23546, "upload_time": "2019-06-05T03:45:23", "url": "https://files.pythonhosted.org/packages/be/67/d2077086c16895f7f76fa0eb40a7769fe26b4c4d39eb1f04686d2e82cdb4/hupper-1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b64883998d98e1c7a7194ffad5dbf254", "sha256": "eed9b367f7b4c3891d3daed7dc851d2752ca617e99205dbf25dab8eedfc50cea" }, "downloads": -1, "filename": "hupper-1.7.tar.gz", "has_sig": true, "md5_digest": "b64883998d98e1c7a7194ffad5dbf254", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 40010, "upload_time": "2019-06-05T03:45:25", "url": "https://files.pythonhosted.org/packages/9b/20/99b9b21020544d245eac3d0e0a3b2806f61716589e2bd4793eccd826f4cc/hupper-1.7.tar.gz" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "2851b45e88e487370c801935b96b8a2a", "sha256": "88010ac4b8c5f606748bfca13e6cd156193cd87130b478b38a52af3daec7bf06" }, "downloads": -1, "filename": "hupper-1.8-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "2851b45e88e487370c801935b96b8a2a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 23817, "upload_time": "2019-06-12T04:53:13", "url": "https://files.pythonhosted.org/packages/75/fe/504b151af933d072c360d28226915f9c63a92f813e3bcd2239cde25b6e6d/hupper-1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "452fd948d7d7961da2a2a6e447316d9c", "sha256": "b056301f50125e633e869ca1d78ac0942545b1771677b71b7867202907d8fd4e" }, "downloads": -1, "filename": "hupper-1.8.tar.gz", "has_sig": true, "md5_digest": "452fd948d7d7961da2a2a6e447316d9c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 40085, "upload_time": "2019-06-12T04:53:15", "url": "https://files.pythonhosted.org/packages/74/f0/e5a1bfffec89d0105eebd0bcf00433157ac968efbb64d9317d1126a36a02/hupper-1.8.tar.gz" } ], "1.8.1": [ { "comment_text": "", "digests": { "md5": "fcc5148c24443b1b8f729330f3c166c7", "sha256": "8532d116fef1f89add74dbd8d5e6541cb3278b04f4fe9780a1356cb6adba1141" }, "downloads": -1, "filename": "hupper-1.8.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "fcc5148c24443b1b8f729330f3c166c7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 23906, "upload_time": "2019-06-12T18:21:22", "url": "https://files.pythonhosted.org/packages/ba/0f/fb7d8c05abec2e423e775b0b07e63793e8316cb090cb67d7c779eaef25b1/hupper-1.8.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1eef60df59fe72e506db98b77a56a71", "sha256": "5869ec2a46ba8ad481b0a27ca68f3e01dc7d3424925b7c872d9fcdff44b43442" }, "downloads": -1, "filename": "hupper-1.8.1.tar.gz", "has_sig": true, "md5_digest": "e1eef60df59fe72e506db98b77a56a71", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 40122, "upload_time": "2019-06-12T18:21:24", "url": "https://files.pythonhosted.org/packages/c7/d0/e4b893c88eb8b7389d3a4b5306525742c3497b4bffe0a4257bbacbdbcec5/hupper-1.8.1.tar.gz" } ], "1.9": [ { "comment_text": "", "digests": { "md5": "946dce857c138364c80a59ee0dcdc2ba", "sha256": "2519cf5f8cae581c44594c7b8eaff1219c413f815320b67e5da1f5be1969894f" }, "downloads": -1, "filename": "hupper-1.9-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "946dce857c138364c80a59ee0dcdc2ba", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 24381, "upload_time": "2019-10-15T03:55:01", "url": "https://files.pythonhosted.org/packages/eb/24/3eeb567055e7c02ee3c2a6d0561c25dc3401262e1b5646e97fb5bc4b1b29/hupper-1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "878e18c8b894ab0c8cd449bc23332615", "sha256": "afd4e7beedc7417fed12cb2e15a21610c73cb08821c7f09aa926be24d4038dae" }, "downloads": -1, "filename": "hupper-1.9.tar.gz", "has_sig": true, "md5_digest": "878e18c8b894ab0c8cd449bc23332615", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 40912, "upload_time": "2019-10-15T03:55:04", "url": "https://files.pythonhosted.org/packages/eb/62/a54a34fddfec90ce650430203ee168804b925dd97138a5732b7d70b08627/hupper-1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "946dce857c138364c80a59ee0dcdc2ba", "sha256": "2519cf5f8cae581c44594c7b8eaff1219c413f815320b67e5da1f5be1969894f" }, "downloads": -1, "filename": "hupper-1.9-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "946dce857c138364c80a59ee0dcdc2ba", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 24381, "upload_time": "2019-10-15T03:55:01", "url": "https://files.pythonhosted.org/packages/eb/24/3eeb567055e7c02ee3c2a6d0561c25dc3401262e1b5646e97fb5bc4b1b29/hupper-1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "878e18c8b894ab0c8cd449bc23332615", "sha256": "afd4e7beedc7417fed12cb2e15a21610c73cb08821c7f09aa926be24d4038dae" }, "downloads": -1, "filename": "hupper-1.9.tar.gz", "has_sig": true, "md5_digest": "878e18c8b894ab0c8cd449bc23332615", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 40912, "upload_time": "2019-10-15T03:55:04", "url": "https://files.pythonhosted.org/packages/eb/62/a54a34fddfec90ce650430203ee168804b925dd97138a5732b7d70b08627/hupper-1.9.tar.gz" } ] }