Skip to main content

Integrated process monitor for developing and reloading daemons.

Project description

https://img.shields.io/pypi/v/hupper.svg https://github.com/Pylons/hupper/actions/workflows/ci-tests.yml/badge.svg?branch=main 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.

$ 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.

# 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hupper-1.12.1.tar.gz (43.2 kB view details)

Uploaded Source

Built Distribution

hupper-1.12.1-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file hupper-1.12.1.tar.gz.

File metadata

  • Download URL: hupper-1.12.1.tar.gz
  • Upload date:
  • Size: 43.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for hupper-1.12.1.tar.gz
Algorithm Hash digest
SHA256 06bf54170ff4ecf4c84ad5f188dee3901173ab449c2608ad05b9bfd6b13e32eb
MD5 773e07afa457cf4e812996df086fe7ef
BLAKE2b-256 bde6bb064537288eee2be97f3e0fcad8e7242bc5bbe9664ae57c7d29b3fa18c2

See more details on using hashes here.

File details

Details for the file hupper-1.12.1-py3-none-any.whl.

File metadata

  • Download URL: hupper-1.12.1-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for hupper-1.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e872b959f09d90be5fb615bd2e62de89a0b57efc037bdf9637fb09cdf8552b19
MD5 f6e34068fff81e7e3c0a0ddd001da6f7
BLAKE2b-256 867d3888833e4f5ea56af4a9935066ec09a83228e533d7b8877f65889d706ee4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page