[Python-modules-commits] [python-hupper] 01/02: Import Upstream version 0.4.2
Takaki Taniguchi
takaki at moszumanska.debian.org
Fri Feb 3 03:15:53 UTC 2017
This is an automated email from the git hooks/post-receive script.
takaki pushed a commit to branch master
in repository python-hupper.
commit c4cc5843dd8cc90f04d0ffb1cfd09cb507207a44
Author: TANIGUCHI Takaki <takaki at asis.media-as.org>
Date: Fri Feb 3 12:15:20 2017 +0900
Import Upstream version 0.4.2
---
.coveragerc | 16 ++
.gitignore | 63 +++++++
.travis.yml | 30 ++++
CHANGES.rst | 99 +++++++++++
CONTRIBUTING.rst | 111 ++++++++++++
LICENSE.txt | 19 ++
MANIFEST.in | 13 ++
PKG-INFO | 188 ++++++++++++++++++++
README.rst | 64 +++++++
appveyor.yml | 27 +++
docs/Makefile | 177 +++++++++++++++++++
docs/_static/.keep | 0
docs/api.rst | 42 +++++
docs/changes.rst | 5 +
docs/conf.py | 280 +++++++++++++++++++++++++++++
docs/contributing.rst | 1 +
docs/index.rst | 139 +++++++++++++++
docs/make.bat | 242 ++++++++++++++++++++++++++
rtd.txt | 1 +
setup.cfg | 19 ++
setup.py | 55 ++++++
src/hupper.egg-info/PKG-INFO | 188 ++++++++++++++++++++
src/hupper.egg-info/SOURCES.txt | 47 +++++
src/hupper.egg-info/dependency_links.txt | 1 +
src/hupper.egg-info/entry_points.txt | 3 +
src/hupper.egg-info/not-zip-safe | 1 +
src/hupper.egg-info/requires.txt | 11 ++
src/hupper.egg-info/top_level.txt | 1 +
src/hupper/__init__.py | 12 ++
src/hupper/cli.py | 21 +++
src/hupper/compat.py | 55 ++++++
src/hupper/interfaces.py | 46 +++++
src/hupper/ipc.py | 62 +++++++
src/hupper/polling.py | 62 +++++++
src/hupper/reloader.py | 290 +++++++++++++++++++++++++++++++
src/hupper/watchdog.py | 47 +++++
src/hupper/winapi.py | 154 ++++++++++++++++
src/hupper/worker.py | 263 ++++++++++++++++++++++++++++
tests/__init__.py | 0
tests/conftest.py | 37 ++++
tests/myapp/__init__.py | 0
tests/myapp/__main__.py | 4 +
tests/myapp/cli.py | 56 ++++++
tests/myapp/foo.ini | 0
tests/test_it.py | 32 ++++
tests/test_reloader.py | 80 +++++++++
tests/util.py | 104 +++++++++++
tox.ini | 43 +++++
48 files changed, 3211 insertions(+)
diff --git a/.coveragerc b/.coveragerc
new file mode 100644
index 0000000..f9fb7ce
--- /dev/null
+++ b/.coveragerc
@@ -0,0 +1,16 @@
+[run]
+parallel = true
+source =
+ hupper
+ tests
+omit =
+ hupper/winapi.py
+
+[paths]
+source =
+ src/hupper
+ */site-packages/hupper
+
+[report]
+show_missing = true
+precision = 2
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..bf0bf4d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,63 @@
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+env/
+env*/
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+*.egg-info/
+.installed.cfg
+*.egg
+
+# PyInstaller
+# Usually these files are written by a python script from a template
+# before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*,cover
+.hypothesis/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+target/
+
+.idea
+cover
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..a37a4ea
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,30 @@
+sudo: false
+
+cache:
+ directories:
+ - $HOME/.cache/pip
+
+language: python
+
+matrix:
+ include:
+ - python: '3.6'
+ env: TOXENV=py36
+ - python: '3.5'
+ env: TOXENV=py35
+ - python: '3.4'
+ env: TOXENV=py34
+ - python: '2.7'
+ env: TOXENV=py27
+ - python: 'pypy'
+ env: TOXENV=pypy
+ - python: '3.5'
+ env: TOXENV=py27,py35,coverage
+ - python: '3.5'
+ env: TOXENV=docs
+ - python: '3.5'
+ env: TOXENV=pep8
+
+install: pip install tox
+
+script: tox
diff --git a/CHANGES.rst b/CHANGES.rst
new file mode 100644
index 0000000..d071d2c
--- /dev/null
+++ b/CHANGES.rst
@@ -0,0 +1,99 @@
+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.
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
new file mode 100644
index 0000000..b92b8ac
--- /dev/null
+++ b/CONTRIBUTING.rst
@@ -0,0 +1,111 @@
+.. highlight:: shell
+
+============
+Contributing
+============
+
+Contributions are welcome, and they are greatly appreciated! Every
+little bit helps, and credit will always be given.
+
+You can contribute in many ways:
+
+Types of Contributions
+----------------------
+
+Report Bugs
+~~~~~~~~~~~
+
+Report bugs at https://github.com/Pylons/hupper/issues.
+
+If you are reporting a bug, please include:
+
+* Your operating system name and version.
+* Any details about your local setup that might be helpful in troubleshooting.
+* Detailed steps to reproduce the bug.
+
+Fix Bugs
+~~~~~~~~
+
+Look through the GitHub issues for bugs. Anything tagged with "bug"
+is open to whoever wants to implement it.
+
+Implement Features
+~~~~~~~~~~~~~~~~~~
+
+Look through the GitHub issues for features. Anything tagged with "feature"
+is open to whoever wants to implement it.
+
+Write Documentation
+~~~~~~~~~~~~~~~~~~~
+
+hupper could always use more documentation, whether as part of the
+official hupper docs, in docstrings, or even on the web in blog posts,
+articles, and such.
+
+Submit Feedback
+~~~~~~~~~~~~~~~
+
+The best way to send feedback is to file an issue at
+https://github.com/Pylons/hupper/issues.
+
+If you are proposing a feature:
+
+* Explain in detail how it would work.
+* Keep the scope as narrow as possible, to make it easier to implement.
+* Remember that this is a volunteer-driven project, and that contributions
+ are welcome :)
+
+Get Started!
+------------
+
+Ready to contribute? Here's how to set up `hupper` for local development.
+
+1. Fork the `hupper` repo on GitHub.
+2. Clone your fork locally::
+
+ $ git clone git at github.com:your_name_here/hupper.git
+
+3. Install your local copy into a virtualenv::
+
+ $ python3 -m venv env
+ $ env/bin/pip install -e .[docs,testing]
+ $ env/bin/pip install tox
+
+4. Create a branch for local development::
+
+ $ git checkout -b name-of-your-bugfix-or-feature
+
+ Now you can make your changes locally.
+
+5. When you're done making changes, check that your changes pass flake8 and
+ the tests, including testing other Python versions with tox::
+
+ $ env/bin/tox
+
+6. Commit your changes and push your branch to GitHub::
+
+ $ git add .
+ $ git commit -m "Your detailed description of your changes."
+ $ git push origin name-of-your-bugfix-or-feature
+
+7. Submit a pull request through the GitHub website.
+
+Pull Request Guidelines
+-----------------------
+
+Before you submit a pull request, check that it meets these guidelines:
+
+1. The pull request should include tests.
+2. If the pull request adds functionality, the docs should be updated. Put
+ your new functionality into a function with a docstring, and add the
+ feature to the list in README.rst.
+3. The pull request should work for Python 2.7, 3.4 and 3.5, and for PyPy. Check
+ https://travis-ci.org/Pylons/hupper/pull_requests
+ and make sure that the tests pass for all supported Python versions.
+
+Tips
+----
+
+To run a subset of tests::
+
+$ env/bin/py.test tests.test_hupper
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..b39acb9
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,19 @@
+Copyright (c) 2017 Michael Merickel
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..0432c95
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1,13 @@
+graft src
+graft tests
+graft docs
+
+include README.rst
+include CHANGES.rst
+include LICENSE.txt
+include CONTRIBUTING.rst
+
+include .coveragerc
+include tox.ini appveyor.yml .travis.yml rtd.txt
+
+recursive-exclude * __pycache__ *.py[cod]
diff --git a/PKG-INFO b/PKG-INFO
new file mode 100644
index 0000000..89cf2d8
--- /dev/null
+++ b/PKG-INFO
@@ -0,0 +1,188 @@
+Metadata-Version: 1.1
+Name: hupper
+Version: 0.4.2
+Summary: Integrated process monitor for developing servers.
+Home-page: https://github.com/Pylons/hupper
+Author: Michael Merickel
+Author-email: michael at merickel.org
+License: UNKNOWN
+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.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``.
+
+
+ 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 :: 4 - Beta
+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
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..e421547
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,64 @@
+======
+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.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``.
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000..e712007
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,27 @@
+environment:
+ matrix:
+ - PYTHON: "C:\\Python36"
+ TOXENV: "py36"
+ - PYTHON: "C:\\Python35"
+ TOXENV: "py35"
+ - PYTHON: "C:\\Python27"
+ TOXENV: "py27"
+ - PYTHON: "C:\\Python36-x64"
+ TOXENV: "py36"
+ - PYTHON: "C:\\Python35-x64"
+ TOXENV: "py35"
+ - PYTHON: "C:\\Python27-x64"
+ TOXENV: "py27"
+
+cache:
+ - '%LOCALAPPDATA%\pip\Cache'
+
+version: '{branch}.{build}'
+
+install:
+ - "%PYTHON%\\python.exe -m pip install tox"
+
+build: off
+
+test_script:
+ - "%PYTHON%\\Scripts\\tox.exe"
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 0000000..86787d6
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,177 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+PAPER =
+BUILDDIR = _build
+
+# User-friendly check for sphinx-build
+ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
+$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
+endif
+
+# Internal variables.
+PAPEROPT_a4 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+# the i18n builder cannot share the environment and doctrees with the others
+I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
+
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " html to make standalone HTML files"
+ @echo " dirhtml to make HTML files named index.html in directories"
+ @echo " singlehtml to make a single large HTML file"
+ @echo " pickle to make pickle files"
+ @echo " json to make JSON files"
+ @echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " qthelp to make HTML files and a qthelp project"
+ @echo " devhelp to make HTML files and a Devhelp project"
+ @echo " epub to make an epub"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
+ @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
+ @echo " text to make text files"
+ @echo " man to make manual pages"
+ @echo " texinfo to make Texinfo files"
+ @echo " info to make Texinfo files and run them through makeinfo"
+ @echo " gettext to make PO message catalogs"
+ @echo " changes to make an overview of all changed/added/deprecated items"
+ @echo " xml to make Docutils-native XML files"
+ @echo " pseudoxml to make pseudoxml-XML files for display purposes"
+ @echo " linkcheck to check all external links for integrity"
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+ rm -rf $(BUILDDIR)/*
+
+html:
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+ @echo
+ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+ @echo
+ @echo "Build finished; now you can process the pickle files."
+
+json:
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+ @echo
+ @echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+ @echo
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
+ ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+ @echo
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+ ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/hupper.qhcp"
+ @echo "To view the help file:"
+ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/hupper.qhc"
+
+devhelp:
+ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+ @echo
+ @echo "Build finished."
+ @echo "To view the help file:"
+ @echo "# mkdir -p $$HOME/.local/share/devhelp/hupper"
+ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/hupper"
+ @echo "# devhelp"
+
+epub:
+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+ @echo
+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo
+ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+ @echo "Run \`make' in that directory to run these through (pdf)latex" \
+ "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through pdflatex..."
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+latexpdfja:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through platex and dvipdfmx..."
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+ @echo
+ @echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+ @echo
+ @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+texinfo:
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+ @echo
+ @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
+ @echo "Run \`make' in that directory to run these through makeinfo" \
+ "(use \`make info' here to do that automatically)."
+
+info:
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+ @echo "Running Texinfo files through makeinfo..."
+ make -C $(BUILDDIR)/texinfo info
+ @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
+
+gettext:
+ $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
+ @echo
+ @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
+
+changes:
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+ @echo
+ @echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+ @echo
+ @echo "Link check complete; look for any errors in the above output " \
+ "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+ @echo "Testing of doctests in the sources finished, look at the " \
+ "results in $(BUILDDIR)/doctest/output.txt."
+
+xml:
+ $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
+ @echo
+ @echo "Build finished. The XML files are in $(BUILDDIR)/xml."
+
+pseudoxml:
+ $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
+ @echo
+ @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
diff --git a/docs/_static/.keep b/docs/_static/.keep
new file mode 100644
index 0000000..e69de29
diff --git a/docs/api.rst b/docs/api.rst
new file mode 100644
index 0000000..9d68fa8
--- /dev/null
+++ b/docs/api.rst
@@ -0,0 +1,42 @@
+==================
+:mod:`hupper` API
+==================
+
+.. automodule:: hupper
+
+ .. autofunction:: start_reloader
+
+ .. autofunction:: is_active
+
+ .. autofunction:: get_reloader
+
+ .. autofunction:: is_watchdog_supported
+
+.. automodule:: hupper.reloader
+
+ .. autoclass:: Reloader
+ :members:
+
+.. automodule:: hupper.interfaces
+
+ .. autoclass:: IReloaderProxy
+ :members:
+ :special-members:
+
+ .. autoclass:: IFileMonitor
+ :members:
+ :special-members:
+
+ .. autoclass:: IFileMonitorFactory
+ :members:
+ :special-members:
+
+.. automodule:: hupper.polling
+
+ .. autoclass:: PollingFileMonitor
+ :members:
+
+.. automodule:: hupper.watchdog
+
+ .. autoclass:: WatchdogFileMonitor
+ :members:
diff --git a/docs/changes.rst b/docs/changes.rst
new file mode 100644
index 0000000..5ba0a60
--- /dev/null
+++ b/docs/changes.rst
@@ -0,0 +1,5 @@
+=======
+Changes
+=======
+
+.. include:: ../CHANGES.rst
diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644
index 0000000..2886e21
--- /dev/null
+++ b/docs/conf.py
@@ -0,0 +1,280 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
... 2544 lines suppressed ...
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-hupper.git
More information about the Python-modules-commits
mailing list