About

pyserve is a Python application orchestrator and HTTP server. Built on top of Starlette and Uvicorn, it manages multiple ASGI/WSGI applications through a single entry point with process isolation, health monitoring, and auto-restart.

Key Features

  • Process Orchestration — Run multiple apps in isolated subprocesses with health checks
  • Auto-restart — Failed processes restart automatically with exponential backoff
  • Multi-worker Support — Configure workers per application
  • nginx-style Routing — Regex patterns with exact, prefix, and case-insensitive matching
  • Reverse Proxy — Forward requests to backend services with header manipulation
  • Static File Serving — Efficient serving with correct MIME types
  • SPA Support — Single Page Application fallback routing
  • SSL/HTTPS — Secure connections with certificate configuration
  • ASGI/WSGI Support — FastAPI, Flask, Django, Starlette and more
  • Request Tracing — X-Request-ID propagation through proxied requests

Documentation

Getting Started

📄 Installation Download and install pyserve
📄 Quick Start Get up and running in 5 minutes

Guides

📄 Process Orchestration Run apps in isolated processes with health monitoring
📄 Configuration Complete configuration reference
📄 Routing URL routing and regex patterns
📄 Reverse Proxy Proxying requests to backend services
📄 ASGI Mounting Mount Python web frameworks in-process

Reference

📄 CLI Reference Command-line interface options
📄 Extensions Built-in extension modules

Resources

Version

Current version: 0.9.10

Requirements

  • Python 3.12 or higher