Skip to content

PyNext v0.6.0a2 (experimental)

Pre-release
Pre-release

Choose a tag to compare

@Duioolllll Duioolllll released this 07 Nov 12:43
· 222 commits to main since this release

PyNext v0.6.0a2 (experimental)

This is a prerelease of an experimental Python and Rust full-stack framework. It is not compatible with Next.js, React, or React Server Components, and it is not a production security boundary.

What's new

  • Stream asynchronous API responses on ASGI and Axum with bounded chunks, backpressure, and disconnect cancellation. Page SSR is still buffered.
  • Serve conditional and single-byte-range requests for public assets, SSG pages, and island bundles using content-based ETags.
  • Invalidate individual ISR paths in the current process, with protection against an older in-flight render repopulating the cache.
  • Activate a hydrated island on a supported button click and replay up to 16 queued clicks after hydration. Keyboard activation is covered; links and form submissions retain their normal behavior.
  • Add trie-based routing, configurable native request admission, bounded waiting, HTTP/1 header timeouts, and HTTP/2 prior-knowledge (h2c) support.

Important limits

An already running synchronous Python handler can continue after a timeout or disconnect. ISR caches and invalidation are process-local. Interaction replay supports user clicks on button type="button" after the island's listener is registered; replayed events are synthetic (isTrusted=false). A DOM mismatch, removal, or activation failure discards pending clicks, and overflow clicks are dropped with a warning. Other events are not replayed.

Distributed ISR, streaming SSR, React/RSC, OpenTelemetry, worker isolation, standalone builds, and general client navigation remain unimplemented. Do not expose this prototype directly to the public internet or run untrusted applications with it. See the production roadmap.

Verification and manuals

The release commit passed CI on Linux, macOS, and Windows with Rust and Python tests, package installation and HTTP serving, an example production build, a bounded load smoke test, and Chromium end-to-end tests.

English · 한국어 · 日本語 · 简体中文

Distribution

The source distribution requires CPython 3.13 and a Rust toolchain. Attached CPython 3.13 wheels target Linux x86-64, macOS arm64, and Windows x86-64. The Linux wheel has a linux_x86_64 tag and is not a manylinux wheel. SHA256SUMS lists checksums. This GitHub prerelease is not a PyPI publication. PyNext is licensed under MIT; third-party notices are included.