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.

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:

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

Documentation

[!NOTE] This library was generated using copier from the Base Python Project Template repository

Release files for spaday 0.8.2

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.8.2
File Size Uploaded
spaday-0.8.2.tar.gz 1.3 MB Details

Built distributions (wheels)

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

Total release size: 11.2 MB

Release files / spaday-0.8.2.tar.gz

Download URL spaday-0.8.2.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
b3dbec4e59abb0ae8fd6b2616fffabb6e7471bb666489478e36f49284f1ac38b
BLAKE2b-256 checksum
How to use checksums
55a09359b3582c69b26bf8074d23048d0b7c9a3c3625a6042c3fa8689765a5a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

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

Download URL spaday-0.8.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl
Size 1.4 MB
Tags CPython 3.14 PyEmscripten 2026.0+ WebAssembly
SHA-256 checksum
How to use checksums
62259e777c947ba280312640d6d9bc77fdd7a3db8b4776feb0a124c4e143db05
BLAKE2b-256 checksum
How to use checksums
9f0a88f43198b5861d9322582ebc1d9f6ad2510af8289db332f4cd5f113aa34e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

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

Download URL spaday-0.8.2-cp311-abi3-win_amd64.whl
Size 3.6 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
e4725fc4bb8a038debe587175ba5bb20636082ed82c65c3a9907c36766dcbd63
BLAKE2b-256 checksum
How to use checksums
016e97c567ffab746bb6492162c25bfdeeb35bff1baa105b8ada16892989afbb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

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

Download URL spaday-0.8.2-cp311-abi3-manylinux_2_28_x86_64.whl
Size 1.7 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
73e213b5b562b0f22c14975a5c3c41d77dc43fcde3572b9061f65d1f8205cd98
BLAKE2b-256 checksum
How to use checksums
5c0b9de3754362b7fe482946a7e6804e665741ec2945f4dd7021b75927d6b5c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

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

Download URL spaday-0.8.2-cp311-abi3-manylinux_2_28_aarch64.whl
Size 1.7 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
2dae332774313342463d84165f230dce00d5b492d48794cf31935670782eb477
BLAKE2b-256 checksum
How to use checksums
85e726cfeb388162cb6b566a0d6eb75b39b5ac1e2435042dff86188acecd7957
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

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

Download URL spaday-0.8.2-cp311-abi3-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ef3fa9fc5c4c17b94cd5dedded152b75ab367dc70971653c7ac9b7bc7e06a583
BLAKE2b-256 checksum
How to use checksums
1406ddcfab702f117430a429d5d66326823f4ded9624bcade9e3737dfbfe906b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release history Release notifications | RSS feed

0.11.0

6 release files

0.10.0

6 release files

0.9.1

6 release files

0.9.0

6 release files

This release

0.8.2 This release

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