Repository navigation
PyNext v0.6.0a1 (experimental)
Pre-releasePyNext v0.6.0a1 (experimental)
This is an alpha release of an experimental prototype. It is not a production security boundary and is not compatible with Next.js, React, or React Server Components.
Request admission
- Separate the 64 request-body intake slots from the 64 Python execution slots. Request bodies are limited to 1 MiB, and a body read must complete within 10 seconds; timeouts return 408, oversized bodies return 413, and exhausted capacity returns 503.
- Static files and fresh ISR cache hits can be served while Python execution slots are saturated. HTTP/1 connections with unread rejected bodies are closed.
- Add regression tests with slow and disconnected uploads and saturated Python handlers.
Application modules
Page, layout and API modules support package-relative imports and use an isolated module namespace for each app. Imports use current Python source rather than stale timestamp-based bytecode. Invalid ISR policies are rejected during app loading.
Breaking change: PyNext no longer prepends each project root to the process-wide sys.path. If a root-based absolute import no longer resolves, migrate it to a relative import or install the project as a Python package.
Verification and manuals
118 Python tests, five Rust tests, Rust lint, Chromium checks against the server's actual CSP, example HTTP and API checks, and an isolated wheel installation and example build. CI passed on Linux, macOS and Windows.
Known limitations
The body deadline does not limit HTTP header reading or the total number of connections. An already running synchronous handler can continue after a 504, including writes. Use explicit upstream timeouts and idempotency. ISR remains process-local. Zero-copy, streaming, distributed ISR, React/RSC, OpenTelemetry, worker isolation and standalone packaging are not implemented. Do not expose the prototype directly to the public internet. See the production roadmap.
Assets
The source distribution requires Python 3.13 and Rust. The attached native wheel is for CPython 3.13 on Linux x86-64; it is not a universal or manylinux wheel. SHA256SUMS contains checksums. This is a GitHub prerelease, not a PyPI publication. PyNext is licensed under MIT, and third-party notices are retained.