/usr/lib/python2.7/dist-packages/hupper-1.0.egg-info/PKG-INFO is in python-hupper 1.0-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 | Metadata-Version: 1.2
Name: hupper
Version: 1.0
Summary: Integrated process monitor for developing and reloading daemons.
Home-page: https://github.com/Pylons/hupper
Author: Michael Merickel
Author-email: pylons-discuss@googlegroups.com
License: MIT
Description: ======
hupper
======
.. image:: https://img.shields.io/pypi/v/hupper.svg
:target: https://pypi.python.org/pypi/hupper
.. image:: https://img.shields.io/travis/Pylons/hupper/master.svg
:target: https://travis-ci.org/Pylons/hupper
.. image:: https://readthedocs.org/projects/hupper/badge/?version=latest
:target: https://readthedocs.org/projects/hupper/?badge=latest
:alt: Documentation Status
``hupper`` is an integrated process monitor that will track changes to
any imported Python files in ``sys.modules`` as well as custom paths. When
files are changed the process is restarted.
Command-line Usage
==================
Hupper can load any Python code similar to ``python -m <module>`` by using the
``hupper -m <module>`` program.
.. code-block:: console
$ hupper -m myapp
Starting monitor for PID 23982.
API Usage
=========
Start by defining an entry point for your process. This must be an importable
path in string format. For example, ``myapp.scripts.serve.main``.
.. code-block:: python
# myapp/scripts/serve.py
import sys
import hupper
import waitress
def wsgi_app(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain'])
yield [b'hello']
def main(args=sys.argv[1:]):
if '--reload' in args:
# start_reloader will only return in a monitored subprocess
reloader = hupper.start_reloader('myapp.scripts.serve.main')
# monitor an extra file
reloader.watch_files(['foo.ini'])
waitress.serve(wsgi_app)
Acknowledgments
===============
``hupper`` is inspired by initial work done by Carl J Meyer and David Glick
during a Pycon sprint and is built to be a more robust and generic version of
Ian Bicking's excellent PasteScript ``paste serve --reload`` and Pyramid's
``pserve --reload``.
1.0 (2017-05-18)
================
- Copy ``sys.path`` to the worker process and ensure ``hupper`` is on the
``PYTHONPATH`` so that the subprocess can import it to start the worker.
This fixes an issue with how ``zc.buildout`` injects dependencies into a
process which is done entirely by ``sys.path`` manipulation.
See https://github.com/Pylons/hupper/pull/27
0.5 (2017-05-10)
================
- On non-windows systems ensure an exec occurs so that the worker does not
share the same process space as the reloader causing certain code that
is imported in both to not ever be reloaded. Under the hood this was a
significant rewrite to use subprocess instead of multiprocessing.
See https://github.com/Pylons/hupper/pull/23
0.4.4 (2017-03-10)
==================
- Fix some versions of Windows which were failing to duplicate stdin to
the subprocess and crashing.
https://github.com/Pylons/hupper/pull/16
0.4.3 (2017-03-07)
==================
- Fix pdb and other readline-based programs to operate properly.
See https://github.com/Pylons/hupper/pull/15
0.4.2 (2017-01-24)
==================
- Pause briefly after receiving a SIGINT to allow the worker to kill itself.
If it does not die then it is terminated.
See https://github.com/Pylons/hupper/issues/11
- Python 3.6 compatibility.
0.4.1 (2017-01-03)
==================
- Handle errors that may occur when using watchdog to observe non-existent
folders.
0.4.0 (2017-01-02)
==================
- Support running any Python module via ``hupper -m <module>``. This is
equivalent to ``python -m`` except will fully reload the process when files
change. See https://github.com/Pylons/hupper/pull/8
0.3.6 (2016-12-18)
==================
- Read the traceback for unknown files prior to crashing. If an import
crashes due to a module-scope exception the file that caused the crash would
not be tracked but this should help.
0.3.5 (2016-12-17)
==================
- Attempt to send imported paths to the monitor process before crashing to
avoid cases where the master is waiting for changes in files that it never
started monitoring.
0.3.4 (2016-11-21)
==================
- Add support for globbing using the stdlib ``glob`` module. On Python 3.5+
this allows recursive globs using ``**``. Prior to this, the globbing is
more limited.
0.3.3 (2016-11-19)
==================
- Fixed a runtime failure on Windows 32-bit systems.
0.3.2 (2016-11-15)
==================
- Support triggering reloads via SIGHUP when hupper detected a crash and is
waiting for a file to change.
- Setup the reloader proxy prior to importing the worker's module. This
should allow some work to be done at module-scope instead of in the
callable.
0.3.1 (2016-11-06)
==================
- Fix package long description on PyPI.
- Ensure that the stdin file handle is inheritable incase the "spawn" variant
of multiprocessing is enabled.
0.3 (2016-11-06)
================
- Disable bytecode compiling of files imported by the worker process. This
should not be necessary when developing and it was causing the process to
restart twice on Windows due to how it handles pyc timestamps.
- Fix hupper's support for forwarding stdin to the worker processes on
Python < 3.5 on Windows.
- Fix some possible file descriptor leakage.
- Simplify the ``hupper.interfaces.IFileMonitor`` interface by internalizing
some of the hupper-specific integrations. They can now focus on just
looking for changes.
- Add the ``hupper.interfaces.IFileMonitorFactory`` interface to improve
the documentation for the ``callback`` argument required by
``hupper.interfaces.IFileMonitor``.
0.2 (2016-10-26)
================
- Windows support!
- Added support for `watchdog <https://pypi.org/project/watchdog/>`_ if it's
installed to do inotify-style file monitoring. This is an optional dependency
and ``hupper`` will fallback to using polling if it's not available.
0.1 (2016-10-21)
================
- Initial release.
Keywords: server daemon autoreload reloader hup file watch process
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*
|