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.4

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.4
File Size Uploaded
spaday-0.11.4.tar.gz 1.9 MB Details

Built distributions (wheels)

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

Total release size: 15.0 MB

Release files / spaday-0.11.4.tar.gz

Download URL spaday-0.11.4.tar.gz
Size 1.9 MB
Tags Source
SHA-256 checksum
How to use checksums
47d6573b9d1ca006b9d6a13f15ebdd995ab1322b82a962bd6e3d64b483548312
BLAKE2b-256 checksum
How to use checksums
2352fa2933eee7392854c11e1f6524eaae7c6d3abc0b8a91c36863f42633df84
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.4-cp314-cp314-pyemscripten_2026_0_wasm32.whl

Download URL spaday-0.11.4-cp314-cp314-pyemscripten_2026_0_wasm32.whl
Size 2.0 MB
Tags CPython 3.14 PyEmscripten 2026.0+ WebAssembly
SHA-256 checksum
How to use checksums
abe27a91cbecca6e6c5fb8439ae21caa89d89cc45733e208cdc6c59a9a8615b7
BLAKE2b-256 checksum
How to use checksums
9be5faecb84ab3e7d71923da8bcbb29fbf0c7a4e4fba216e2719e5536a0c070a
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.4-cp311-abi3-win_amd64.whl

Download URL spaday-0.11.4-cp311-abi3-win_amd64.whl
Size 4.2 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
97e5329e6de65440c0726eae81567a7bab7fd44ffdf3650eb67060f43f4b2459
BLAKE2b-256 checksum
How to use checksums
33d2b03f6c58549daa1d8a2dd3c3c905d0fa149ef5a528aebc73e03d4085f59c
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.4-cp311-abi3-manylinux_2_28_x86_64.whl

Download URL spaday-0.11.4-cp311-abi3-manylinux_2_28_x86_64.whl
Size 2.3 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
190e4ffa6c4030968d89332c1b07dd69ea5e5b78bf86607abb798937922f88f2
BLAKE2b-256 checksum
How to use checksums
7db2097359dbabab911e170de78bdb806961bc0f843fcd8c0ac7408afea34b8b
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.4-cp311-abi3-manylinux_2_28_aarch64.whl

Download URL spaday-0.11.4-cp311-abi3-manylinux_2_28_aarch64.whl
Size 2.3 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
342a33a52c8fbe8e868b22899c3ac37d444e20ede94fb6dbd6ce3b122c679212
BLAKE2b-256 checksum
How to use checksums
29d08cca7b40c6b1097122c353a4e0aba1962839a8a48430ffdbad60bac1bab9
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.4-cp311-abi3-macosx_11_0_arm64.whl

Download URL spaday-0.11.4-cp311-abi3-macosx_11_0_arm64.whl
Size 2.3 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b6e83c6718445ac07bc8d5dfcf64986d55159ee4f7444c9e42fd2ddc863748ca
BLAKE2b-256 checksum
How to use checksums
f1da0d90b8c72228eef7d69ba31d92d215424be3865ddb4ac188c5380a2b679f
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.4 This release

6 release files

0.11.3

6 release files

0.11.2

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