Skip to main content
spaday logo, a face with a facemask and lemon slices bounded by a browser window

Build Status codecov License PyPI

Reactive web-component UIs configured in Python, executed in the browser.

Browse the standalone examples or open the interactive notebook. Python runs in Pyodide, so nothing needs to be installed locally.

Overview

Construct a UI as a tree of typed Python components from opt-in packages or any library that ships a Custom Elements Manifest. Attach behavior as declarative data: an action DSL (toggle a prop, send a model edit, call an endpoint) and reactive bindings (a control two-way-bound to a state field, or a prop computed from others). spaday's JavaScript runtime renders the tree to real web components and interprets that behavior client-side — so a toggle or a derived value updates with no round-trip to Python.

That UI state is a transports model, so it syncs over any connection (WebSocket, SSE, Jupyter comm) and any codec; the same tree drops into a web app or a Jupyter notebook unchanged.

Like transports, spaday is a Rust core with thin bindings: the component tree, the diff engine, the CEM parser, the action interpreter, and the reactive engine live in Rust and compile to PyO3 (Python authors the tree) and wasm (the browser runs it). One core, two bindings.

from spaday import Widget, element

# a checkbox two-way-bound to a state field, rendered in a Jupyter cell
ui = element("input", type="checkbox").bind("checked", "on", mode="two-way")
w = Widget(ui, state={"on": True})
w  # flip the switch → w.state["on"] flips in Python; set w.state → the switch follows

Install

pip install spaday            # core: author + serialize component trees
pip install "spaday[widget]"  # + the Jupyter / anywidget host

Component ecosystem

Install only the integrations an application uses. Each package provides typed Python components and registers its browser assets with spaday:

Design Systems

Individual Components

The spaday-shoelace compatibility package installs spaday-webawesome.

Select an installed integration by its entry-point name, for example serve(page, packages=["trees"]).

Documentation

Release files for spaday 0.11.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spaday 0.11.0
File Size Uploaded
spaday-0.11.0.tar.gz 1.7 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for spaday 0.11.0
File
spaday-0.11.0-cp314-cp314-pyemscripten_2026_0_wasm32.whl CPython 3.14 CPython 3.14 PyEmscripten 2026.0+ WebAssembly Details
spaday-0.11.0-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
spaday-0.11.0-cp311-abi3-manylinux_2_28_x86_64.whl CPython 3.11 abi3 Linux glibc 2.28+ x86-64 Details
spaday-0.11.0-cp311-abi3-manylinux_2_28_aarch64.whl CPython 3.11 abi3 Linux glibc 2.28+ ARM64 Details
spaday-0.11.0-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details

Total release size: 13.4 MB

Release files / spaday-0.11.0.tar.gz

Download URL spaday-0.11.0.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
d2f1393a4e2193fa49349c9eb50c5b485a3a0b06ebb2cdfa0eead24c6a8e81ce
BLAKE2b-256 checksum
How to use checksums
e024eeec53c0a51b265248b0321ed05cd8ea55e0dd73cbff66d300c6e219213e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / spaday-0.11.0-cp314-cp314-pyemscripten_2026_0_wasm32.whl

Download URL spaday-0.11.0-cp314-cp314-pyemscripten_2026_0_wasm32.whl
Size 1.7 MB
Tags CPython 3.14 PyEmscripten 2026.0+ WebAssembly
SHA-256 checksum
How to use checksums
1ad0f1bbd85f23220d007f2008b0a5a80f3170c34e1cbe277889b66671afb2dd
BLAKE2b-256 checksum
How to use checksums
9441bf17f6d158f51b7db168cf1519dbfed777bbf29e02804a552351c1e4d213
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / spaday-0.11.0-cp311-abi3-win_amd64.whl

Download URL spaday-0.11.0-cp311-abi3-win_amd64.whl
Size 3.9 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
c2bca4a89f4fbd0b67e250c8b57abc56a696147ec50ed5605e88b234d288ab9a
BLAKE2b-256 checksum
How to use checksums
c25fb581646b05a5826d150b0781b787e55d71c793f4c58543a1b512be7150f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / spaday-0.11.0-cp311-abi3-manylinux_2_28_x86_64.whl

Download URL spaday-0.11.0-cp311-abi3-manylinux_2_28_x86_64.whl
Size 2.0 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
c008f701600bdbb81dc267a22377c0ada82584cc085c1fa7bc0a3a3f4e6f543d
BLAKE2b-256 checksum
How to use checksums
48a4b423521fe1e95ed42faf0a91faac6fa521954a478e817aea90119976066d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / spaday-0.11.0-cp311-abi3-manylinux_2_28_aarch64.whl

Download URL spaday-0.11.0-cp311-abi3-manylinux_2_28_aarch64.whl
Size 2.0 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
0d15462d8224ed45d22c9add6945c2cee940416221ecc38abc8ae8daaafb4759
BLAKE2b-256 checksum
How to use checksums
1ed82cf17be40aab71054e5e2d2244fbe8186b898076afce809921db44d36b12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / spaday-0.11.0-cp311-abi3-macosx_11_0_arm64.whl

Download URL spaday-0.11.0-cp311-abi3-macosx_11_0_arm64.whl
Size 2.0 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
41124326d2a1edcfafb82498cdd1fd2c8c888e2d75d77c3accc5daae29131724
BLAKE2b-256 checksum
How to use checksums
f24c698d32d3c30f630540774726fdbd0318fca0f135ae801a2ba4853100fdc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

This release

0.11.0 This release

6 release files

0.10.0

6 release files

0.9.1

6 release files

0.9.0

6 release files

0.8.2

6 release files

0.8.1

6 release files

0.8.0

6 release files

0.7.14

6 release files

0.7.13

6 release files

0.7.9

6 release files

0.7.8

6 release files

0.7.7

6 release files

0.7.6

6 release files

0.7.5

6 release files

0.7.4

6 release files

0.7.3

6 release files

0.7.2

6 release files

0.7.1

5 release files

0.7.0

5 release files

0.6.0

5 release files

0.5.0

4 release files

0.4.1

4 release files

0.4.0

4 release files

0.3.0

4 release files

0.2.2

4 release files

0.2.1

4 release files

0.2.0

4 release files

0.1.1

4 release files

0.1.0

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page