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

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

Built distributions (wheels)

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

Download URL spaday-0.8.1.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
b5d68fd644043db015020b9905a2484f13e104da2556548ecbf21bddea451a15
BLAKE2b-256 checksum
How to use checksums
d4cb7ad5efc8f7802acda33e2fd7e81adf2ef863e3d745c1d824d1472181af53
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.8.1-cp314-cp314-pyemscripten_2026_0_wasm32.whl

Download URL spaday-0.8.1-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
de7def9006662922fbef476ecb016a2adb0d81205ae6a602a591bf6ffa7be2dc
BLAKE2b-256 checksum
How to use checksums
2af70a47f1c33619969e4c17937001c80374f7297e37d5f0927013f0636fe227
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.8.1-cp311-abi3-win_amd64.whl

Download URL spaday-0.8.1-cp311-abi3-win_amd64.whl
Size 3.6 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
84c7c76200230b02d5d150d3701c0a23c6ee56f85c1d0cee3f1c1b24d0b4efc9
BLAKE2b-256 checksum
How to use checksums
b95e6834cc0366886e4a23a34e3c6266c4ddcf9db90663185319d87a912bac73
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.8.1-cp311-abi3-manylinux_2_28_x86_64.whl

Download URL spaday-0.8.1-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
703d16ffb4d11c063f4150adbc98fb304e4d8cfe32851de9fed8637cee14fb96
BLAKE2b-256 checksum
How to use checksums
6b6a5364019cc6722c15c7dfbb7fc4481447a756bf526412ea2478c39e6f8a82
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.8.1-cp311-abi3-manylinux_2_28_aarch64.whl

Download URL spaday-0.8.1-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
c2b7c5e280f00cf9546e0d473e294c292321252423c1d9273fcab2bec0d232c6
BLAKE2b-256 checksum
How to use checksums
5eee5f14c99f07871fdb8e4e4d321eaaf1ba10b43e1061317225f72e7792ae75
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.8.1-cp311-abi3-macosx_11_0_arm64.whl

Download URL spaday-0.8.1-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
7a3a3f9b6887aa564cc51371ce6550ab1a0c8d53d3bfea299e5afef1450b5727
BLAKE2b-256 checksum
How to use checksums
fbe42e6402d952ed48e73d9b97e2ab122023130e40592a8bbac430f45d5fce53
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.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

This release

0.8.1 This release

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