• PyServeX v0.9.10
    Some checks failed
    Run Tests / test (3.12) (push) Successful in 2m39s
    Run Tests / test (3.13) (push) Successful in 2m31s
    CI/CD Pipeline / lint (push) Successful in 0s
    Build and Release / build (push) Successful in 36s
    CI/CD Pipeline / test (push) Has been skipped
    CI/CD Pipeline / build-and-release (push) Has been skipped
    Build and Release / release (push) Successful in 6s
    CI/CD Pipeline / notify (push) Successful in 1s
    Lint Code / lint (push) Failing after 40s
    Stable

    Ghost released this 2025-12-03 22:39:19 +00:00 | 6 commits to main since this release

    Release v0.9.10

    What's new in this version

    New Features

    • Process Orchestration — run ASGI/WSGI apps in isolated subprocesses with health monitoring and auto-restart
    • Dynamic Port Allocation — automatic port assignment from configurable range (9000-9999)
    • Multi-worker Support — configure number of workers per application
    • Health Checks — automatic health monitoring with configurable interval, timeout, and retries
    • Auto-restart with Backoff — failed processes restart automatically with exponential backoff
    • WSGI Support — Flask/Django apps wrapped via a2wsgi for uvicorn compatibility
    • Request ID TracingX-Request-ID header propagated through all proxied requests
    • Configurable Logging — control httpx verbosity, proxy logs, and health check logs

    Bug Fixes

    • Fixed extension ordering for proper request routing
    • Fixed mypy type errors in WSGI wrapper module

    Technical Changes

    • New process_manager.py module for subprocess lifecycle management
    • New process_extension.py with httpx-based reverse proxy
    • New _wsgi_wrapper.py for WSGI-to-ASGI conversion
    • Async extension loading via lifespan context manager
    • Structured logging with latency measurement for proxied requests
    • 34 new tests for process orchestration

    Dependencies

    • Added a2wsgi as optional dependency for WSGI support

    Full Changelog: https://git.pyserve.org/Shifty/pyserveX/compare/v0.5.0...v0.9.10

    Installation

    pip install pyserve==0.9.10
    

    Usage

    pyserve --help
    
    Downloads
  • PyServeX v0.9.1
    All checks were successful
    Build and Release / release (push) Successful in 5s
    CI/CD Pipeline / build-and-release (push) Has been skipped
    CI/CD Pipeline / notify (push) Successful in 1s
    Lint Code / lint (push) Successful in 40s
    Run Tests / test (3.12) (push) Successful in 1m3s
    Run Tests / test (3.13) (push) Successful in 1m4s
    CI/CD Pipeline / lint (push) Successful in 0s
    Build and Release / build (push) Successful in 37s
    CI/CD Pipeline / test (push) Has been skipped
    Stable

    Ghost released this 2025-12-03 10:06:28 +00:00 | 10 commits to main since this release

    What's new in this version

    Bug Fixes

    • Fixed linting issues in CI/CD

    Full Changelog: https://git.pyserve.org/Shifty/pyserveX/compare/v0.5.0...v0.9.1

    Installation

    pip install pyserve==v0.9.1
    

    Usage

    pyserve --help
    
    Downloads
  • PyServeX v0.9.0
    Some checks failed
    Run Tests / test (3.12) (push) Successful in 1m10s
    Run Tests / test (3.13) (push) Successful in 1m9s
    CI/CD Pipeline / lint (push) Successful in 0s
    Build and Release / build (push) Successful in 41s
    CI/CD Pipeline / test (push) Has been skipped
    CI/CD Pipeline / build-and-release (push) Has been skipped
    Build and Release / release (push) Successful in 5s
    CI/CD Pipeline / notify (push) Successful in 1s
    Lint Code / lint (push) Failing after 38s
    Stable

    Ghost released this 2025-12-03 09:59:50 +00:00 | 12 commits to main since this release

    What's new in this version

    New Features

    • Cython Path Matcher: Added high-performance Cython module for path matching operations
      • FastMountedPath class for optimized ASGI mount path matching
      • FastMountManager for efficient mount lookup with longest-prefix matching
      • Utility functions: path_matches_prefix, strip_path_prefix, match_and_modify_path
      • Performance improvement: 1.5x-7.5x faster path matching operations
      • Automatic fallback to pure Python implementation if Cython is not available

    Bug Fixes

    • Fixed mypy type checking for optional dependencies (a2wsgi, asgiref, django)

    Technical Changes

    • New build system for Cython extensions (scripts/build_cython.py)
    • Updated Makefile with new commands:
      • make build-cython - Build Cython extensions only
      • make benchmark - Run performance benchmarks
    • Clean command now removes Cython artifacts (*.c, *.so, *.pyd, *.html)
    • Lint and format commands exclude .pyx files
    • Added comprehensive test suite for path matcher (28 tests)
    • Added benchmark suite in benchmarks/bench_path_matcher.py

    Dependencies

    • Added cython>=3.0.0 to dev dependencies
    • Added setuptools>=80.0.0 to dev dependencies
    • Updated build-system requires in pyproject.toml

    Full Changelog: https://git.pyserve.org/Shifty/pyserveX/compare/v0.8.0...v0.9.0

    Installation

    pip install pyserve==0.9.0
    

    Usage

    pyserve --help
    

    Building with Cython (Optional)

    For maximum performance, build the Cython extensions:

    make build-cython
    

    Or manually:

    python scripts/build_cython.py build_ext --inplace
    

    Benchmark Results

    Operation Pure Python Cython Speedup
    Single path match ~130 ns ~70 ns 1.9x
    Mount manager lookup (10 mounts) ~660 ns ~200 ns 3.3x
    No match (fast fail) ~660 ns ~90 ns 7.5x
    Downloads
  • PyServeX v0.7.1
    All checks were successful
    CI/CD Pipeline / lint (push) Successful in 0s
    CI/CD Pipeline / test (push) Has been skipped
    CI/CD Pipeline / build-and-release (push) Has been skipped
    CI/CD Pipeline / notify (push) Successful in 0s
    Lint Code / lint (push) Successful in 42s
    Build and Release / build (push) Successful in 31s
    Build and Release / release (push) Successful in 5s
    Run Tests / test (3.12) (push) Successful in 1m0s
    Run Tests / test (3.13) (push) Successful in 59s
    Stable

    Ghost released this 2025-12-03 08:49:32 +00:00 | 18 commits to main since this release

    What's new in this version

    Bug Fixes

    • Fixed index file search if path in config IS directory on host
                # If path is a directory, look for index file
                if file_path.is_dir():
                    index_file = config.get("index_file", "index.html")
                    file_path = file_path / index_file
    

    Full Changelog: https://gitea.example.com/Shifty/pyserveX/compare/v0.5.0...v0.7.1

    Installation

    pip install pyserve==v0.7.1
    

    Usage

    pyserve --help
    
    Downloads
  • PyServeX v0.7.0
    All checks were successful
    Lint Code / lint (push) Successful in 49s
    Run Tests / test (3.12) (push) Successful in 1m1s
    Run Tests / test (3.13) (push) Successful in 58s
    CI/CD Pipeline / lint (push) Successful in 0s
    Build and Release / build (push) Successful in 32s
    CI/CD Pipeline / test (push) Has been skipped
    CI/CD Pipeline / build-and-release (push) Has been skipped
    Build and Release / release (push) Successful in 8s
    CI/CD Pipeline / notify (push) Successful in 1s
    Stable

    Ghost released this 2025-12-02 21:09:13 +00:00 | 22 commits to main since this release

    What's new in this version

    New Features

    • Implemented and tested Reverse Proxy!

    Bug Fixes

    • Add description of bug fixes

    Technical Changes

    • Add description of technical improvements

    Dependencies

    • added httpx
    • added pytest-asyncio in dev dependencies

    Full Changelog: https://gitea.example.com/Shifty/pyserveX/compare/v0.5.0...v0.7.0

    Installation

    pip install pyserve==v0.7.0
    

    Usage

    pyserve --help
    
    Downloads
  • PyServe v0.6.0
    All checks were successful
    Run Tests / test (3.12) (push) Successful in 37s
    Run Tests / test (3.13) (push) Successful in 34s
    CI/CD Pipeline / lint (push) Successful in 0s
    Build and Release / build (push) Successful in 34s
    CI/CD Pipeline / test (push) Has been skipped
    Build and Release / release (push) Successful in 9s
    CI/CD Pipeline / build-and-release (push) Has been skipped
    CI/CD Pipeline / notify (push) Successful in 0s
    Lint Code / lint (push) Successful in 52s
    Stable

    Ghost released this 2025-09-02 21:37:24 +00:00 | 24 commits to main since this release

    What's new in this version

    New Features

    • Completely rewritten HTTP server backend using industry-standard uvicorn and starlette

    Bug Fixes

    • Improved server stability and reliability through proven frameworks

    Technical Changes

    • Replaced custom HTTP implementation with uvicorn ASGI server and starlette framework
    • Enhanced logging system using structlog for better structured output and debugging

    Dependencies

    • Added uvicorn and starlette as core dependencies
    • Added structlog for improved logging capabilities
    • Updated dependencies to latest versions

    Installation

    pip install pyserve==v0.6.0
    

    Usage

    pyserve --help
    
    Downloads