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

Metadata

Release files for spaday 0.11.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.11.2
File Size Uploaded
spaday-0.11.2.tar.gz 1.7 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for spaday 0.11.2
File
spaday-0.11.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl CPython 3.14 CPython 3.14 PyEmscripten 2026.0+ WebAssembly Details
spaday-0.11.2-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
spaday-0.11.2-cp311-abi3-manylinux_2_28_x86_64.whl CPython 3.11 abi3 Linux glibc 2.28+ x86-64 Details
spaday-0.11.2-cp311-abi3-manylinux_2_28_aarch64.whl CPython 3.11 abi3 Linux glibc 2.28+ ARM64 Details
spaday-0.11.2-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.2.tar.gz

Download URL spaday-0.11.2.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
5fef1f914f054c4c6e5e4ee5a99791679509e3ebe3af06577a3e2d8b0c0661d6
BLAKE2b-256 checksum
How to use checksums
83b97951d5d09cb5a4ac3d0292f360b0d43aef45d995919f881665466a07d0a3
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.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl

Download URL spaday-0.11.2-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
5cf248f9e63b6d5d1c9b329551d52249c0274099738a2dcabd028d18cc34e7a5
BLAKE2b-256 checksum
How to use checksums
52e81422918213ca8ce8840b9d79f4a9a485b4d5fb8ca2aa448e104b56643d5a
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.2-cp311-abi3-win_amd64.whl

Download URL spaday-0.11.2-cp311-abi3-win_amd64.whl
Size 4.0 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
dd0abd41a7c282661161322afbc58e649e273a9462d51282e565221d1609b91d
BLAKE2b-256 checksum
How to use checksums
41b7ae8a1a34c3d11aa8c80b2a5a63ae761538cda90522f897332b943a918a1b
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.2-cp311-abi3-manylinux_2_28_x86_64.whl

Download URL spaday-0.11.2-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
7c0396bc586504b86afca238af6f754f14c2011939f03191781c406bba57e90f
BLAKE2b-256 checksum
How to use checksums
a1d75a9fd2a1ba54e2930b039cb5a7e50ddda989f2c7e6bc16e5315df5665344
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.2-cp311-abi3-manylinux_2_28_aarch64.whl

Download URL spaday-0.11.2-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
621a6a5f084a08b7142afed719de9e15fe00c6ddbe94d7bd803a936db6790324
BLAKE2b-256 checksum
How to use checksums
8df104f5613d4b9d947e594b7ab9bfd8a3c55acfe01281bb23b3a98c7ea4967c
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.2-cp311-abi3-macosx_11_0_arm64.whl

Download URL spaday-0.11.2-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
c78c29a2d9fa161afac42b317512320d91bb91edcf4b8e79992b6b06a32e93a7
BLAKE2b-256 checksum
How to use checksums
9f3335b454b32a0c9e2daa3864c8cf57e5708acd05126df4bf6acf79835c272a
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

0.11.4

6 release files

0.11.3

6 release files

This release

0.11.2 This release

6 release files

0.11.1

6 release files

0.11.0

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