Skip to content

Releases: DaleStack/Pyponent

v0.1.2: SPA Routing Update

21 Mar 18:44

Choose a tag to compare

Little bug fixes.

Now you can see 404 pages when navigating to links that do not exist

v0.1.1: The SPA Routing Update

21 Mar 18:43

Choose a tag to compare

What's New in v0.1.1

Pyponent is officially a Single Page Application (SPA) framework!

This release introduces a fully native, real-time routing engine. You can now build multi-page Python web apps with instant, flicker-free navigation—all powered by WebSockets and our Virtual DOM diffing engine, without writing a single line of JavaScript.

✨ New Features

  • The Router Component: Easily map URLs to your Python components. The router automatically handles component swapping and includes a built-in 404 fallback.
  • The Link Component: A Pythonic, fully interactive anchor tag replacement. Clicking a Link updates the UI instantly without triggering a browser reload. It features a clean, natural API: Link("Home", to="/").
  • Programmatic Navigation: Introduced the use_navigate hook, allowing you to trigger route changes from inside your functions (perfect for form submissions, logins, or redirects).
  • Automatic URL Syncing: Under the hood, Pyponent now deeply integrates with the HTML5 History API (window.history.pushState). Whether the user clicks a <Link> or you programmatically trigger Maps(), the browser's URL bar is automatically kept in perfect sync with the server's state.

💻 Quick Example

from pyponent.html import div, h1, nav
from pyponent.router import Router, Link

def Home(**props):
    return div(h1("Welcome Home"))

def About(**props):
    return div(h1("About Us"))

def App(**props):
    return div(
        nav(
            Link("Home", to="/"),
            Link("About", to="/about")
        ),
        Router(
            routes={
                "/": Home,
                "/about": About
            }
        )
    )

v0.1.0 - Initial Release

18 Mar 18:05

Choose a tag to compare

Welcome to the very first release of Pyponent!

Pyponent is a blazing-fast, Server-Driven UI framework that lets you build interactive web apps using pure Python, FastAPI, and WebSockets.

Key Features in this Release:

  • Granular Virtual DOM diffing engine (Zero full-page reloads)
  • Built-in SPA Routing (Router and Link)
  • Client-side state management (use_state) without JavaScript
  • Native Tailwind CSS opt-in
  • Predictable element tracking and event handling

To get started, check out the README or run:
pip install pyponent