httpwatcher
Web server library and command-line utility for serving static files with live reload functionality
What it is and what it does
httpwatcher is a development-focused HTTP server that serves static files from a specified directory and automatically reloads them in the browser when changes are detected. It uses Tornado for the asynchronous HTTP and WebSocket server, watchdog to monitor file changes, and injects JavaScript into served HTML to establish a WebSocket connection back to the server for triggering reloads.
The package works both as a command-line tool (run `httpwatcher` to serve the current directory) and as a Python library you can embed in your own code. It supports custom watch paths, custom base paths for serving content, and callback hooks on reload. The author explicitly states it is intended only for developers testing static websites during development, not for production use.
Use it for:
- Develop and test static HTML/CSS/JavaScript sites locally with automatic browser refresh on file changes.
- Serve content from a non-standard base path (e.g., /blog/) during local development without needing to reconfigure your site.
- Integrate live-reload functionality into a static site generator or build pipeline via the library API.
- Quickly prototype and iterate on static web content without manual browser refresh.
- Set up a temporary local web server for testing responsive design or cross-browser compatibility.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
httpwatcher is a simple HTTP server and library for serving static files with live reload triggered via WebSockets, designed for local development and testing.
No. While the package is functional and has low install friction, it is abandoned with no maintenance since 2018 and an archived repository. Its dependencies (tornado, watchdog, future) may have compatibility issues with modern Python versions. For active development, use a maintained alternative like python-livereload or a modern build tool with live-reload support.
Install
httpwatcher on PyPI
pip
pip install httpwatcheruv
uv add httpwatcherpoetry
poetry add httpwatcherInstalling httpwatcher
Before you install
Low install friction with a pure-Python wheel distribution. However, the package is abandoned—last release was 2018-11-14 and the repository was archived after the last commit on 2021-05-25. No active maintenance or security updates are expected.
License in practice
MIT license is permissive and places no restrictions on use, modification, or distribution. You can use this freely in commercial or private projects without licensing obligations.
Quickstart
pip install httpwatcher
import httpwatcher
httpwatcher.watch("/path/to/html", open_browser=False)
Requires Python 2.7+ or Python 3.5+; exact Python version support is unspecified in the package metadata.
Verify before relying
- Whether tornado, watchdog, and future dependencies remain compatible with modern Python versions.
- Whether the injected WebSocket JavaScript still works with current browsers.
- Current state of the archived repository and whether it accepts security patches or pull requests.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — tornado, watchdog, future |
| Maintenance | abandoned — 2,830 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 94,671/month — #13,314 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: httpwatcher-0.5.2-py2.py3-none-any.whl
Keywords: livereload, hotreload, web, server, live, reload, hot, reload
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
livereloadAutomatically reloads webpages in your browser…
permissive · top 15,000 on PyPI
watchgodWatches a directory for file changes and…
permissive · top 15,000 on PyPI
watchfilesWatches file system changes and triggers…
permissive · top 1,000 on PyPI
hupperHupper monitors Python source files for changes…
permissive · top 5,000 on PyPI
django-watchfilesReplaces Django's default file-change watcher…
permissive · top 15,000 on PyPI
tornadoTornado is a Python web framework and…
permissive · top 1,000 on PyPI
django-browser-reloadAutomatically reloads your browser when you…
permissive · top 15,000 on PyPI
granianGranian is a Rust-based HTTP server that runs…
permissive · top 5,000 on PyPI
pytest-hot-reloadingA pytest plugin that runs a daemon to watch and…
unclear · top 15,000 on PyPI