wptserve
Python web server intended for in web browser testing
What it is and what it does
wptserve is a specialized HTTP server written in Python for running web platform tests—automated tests that verify browser behavior and web standards compliance. It sits between a test runner and a web browser, serving test pages and handling the HTTP interactions needed to exercise browser features in a controlled way.
The server depends on h2 for HTTP/2 support and pywebsocket3 for WebSocket handling, making it capable of testing modern web protocols. It is marked Production/Stable and has been in use since 2014, but development has slowed significantly—the last release was 455 days ago. It is intended specifically for the web-platform-tests project and similar in-browser testing scenarios rather than general-purpose web serving.
Use it for:
- Run web-platform-tests locally to verify browser standards compliance
- Serve test pages over HTTP/2 and WebSocket for protocol-specific browser testing
- Set up a controlled test environment for automated cross-browser testing
- Test web applications that require specific HTTP server behavior or headers
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Python web server built for testing web applications in browsers, particularly for the web-platform-tests project.
Yes, if you are working with web-platform-tests or need a specialized test server for browser testing. The low install friction, permissive license, and stable status make it straightforward to use. However, the 455-day release gap and unspecified Python version support mean you should verify compatibility with your environment before relying on it for new projects.
Install
wptserve on PyPI
pip
pip install wptserveuv
uv add wptservepoetry
poetry add wptserveInstalling wptserve
Before you install
Low install friction with only two runtime dependencies. Maintenance status is aging—last release was 455 days ago—so expect no active development, though the package is marked Production/Stable.
License in practice
BSD permissive license allows use in most contexts without restriction, including commercial and proprietary projects.
Quickstart
pip install wptserve
from wptserve.server import WebTestHttpd
server = WebTestHttpd()
server.start()
Requires Python environment with h2 and pywebsocket3 available; no minimum Python version specified in metadata.
Verify before relying
- Whether the package works with current Python versions (requires_python is unspecified)
- Active maintenance status and responsiveness to issues given the 455-day gap since last release
- Compatibility with modern versions of h2 and pywebsocket3
- Specific host and port configuration options supported by the server
Package facts
| License | BSD (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — h2, pywebsocket3 |
| Maintenance | aging — 455 days since the last release |
| First released | |
| Downloads | 123,323/month — #11,914 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: wptserve-4.0.3-py3-none-any.whl
Tags
More HTTP Servers packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
grpclibgrpclib is a pure-Python asyncio-based…
permissive · top 1,000 on PyPI
sqlmodelSQLModel combines SQLAlchemy and Pydantic to…
permissive · top 5,000 on PyPI
cadwynCadwyn generates older API versions…
permissive · top 5,000 on PyPI
bottleBottle is a lightweight WSGI microframework for…
permissive · top 5,000 on PyPI
connexionConnexion builds REST APIs from OpenAPI/Swagger…
permissive · top 5,000 on PyPI
pytest-playwrightA pytest plugin that integrates Playwright…
permissive · top 5,000 on PyPI
pytest-playwright-asyncioA pytest plugin that integrates Playwright…
permissive · top 15,000 on PyPI
jupyter-http-over-wsAdds a WebSocket-based HTTP proxy endpoint to…
permissive · top 15,000 on PyPI
wootheeWoothee parses user-agent strings to identify…
permissive · top 15,000 on PyPI
marionette-harnessMarionette-harness is a test runner for…
copyleft · top 15,000 on PyPI
browserstack-localProvides Python bindings to manage BrowserStack…
unclear · top 15,000 on PyPI
primpHTTP client library that mimics real web…
permissive · top 5,000 on PyPI
mechanizeAutomate programmatic interaction with HTTP web…
permissive · top 15,000 on PyPI
seleniumSelenium provides Python bindings to automate…
permissive · top 1,000 on PyPI
proxy.pyA lightweight, pluggable HTTP proxy server…
permissive · top 5,000 on PyPI