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

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.3
File Size Uploaded
spaday-0.11.3.tar.gz 1.7 MB Details

Built distributions (wheels)

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

Download URL spaday-0.11.3.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
4bb2a785ce12908234319a98613f22363dfa25110ad820d3b60dd4e5357d472d
BLAKE2b-256 checksum
How to use checksums
64bcc7fc51f101ea234b45ce0bbfef4a8bc827526412e6e6ffbf5aabcdf6d980
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.3-cp314-cp314-pyemscripten_2026_0_wasm32.whl

Download URL spaday-0.11.3-cp314-cp314-pyemscripten_2026_0_wasm32.whl
Size 1.8 MB
Tags CPython 3.14 PyEmscripten 2026.0+ WebAssembly
SHA-256 checksum
How to use checksums
caf501c016ef13453a18c4cc10f927774c18eadc51421d0d86415548735c6e59
BLAKE2b-256 checksum
How to use checksums
f92e997d5e792e8cabd7022749a44fa125d51a30edfa58dc5fdc58b6144be6c4
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.3-cp311-abi3-win_amd64.whl

Download URL spaday-0.11.3-cp311-abi3-win_amd64.whl
Size 4.0 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
9f4fa6b7d1680d4a733e7ba6217bd31add7a53b5b5a4e186b6f81413575d72d8
BLAKE2b-256 checksum
How to use checksums
841a83e6d40081e2126c69e2f30b8cf98a9712fc93da44d62a5d2ca9f1525c72
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.3-cp311-abi3-manylinux_2_28_x86_64.whl

Download URL spaday-0.11.3-cp311-abi3-manylinux_2_28_x86_64.whl
Size 2.1 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
74654070102fbde5eff171ec33b3486711a8101150895e7f4b342c4876243482
BLAKE2b-256 checksum
How to use checksums
58575c4364f4bc3c9298a657f9975dd01c48ddbafbee7f2fa7ff19f1857c0c71
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.3-cp311-abi3-manylinux_2_28_aarch64.whl

Download URL spaday-0.11.3-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
77f849e8bf56ee85e490bc81162ecae0e3d65b59d4f7bd1f711bfc8b43a4f15a
BLAKE2b-256 checksum
How to use checksums
17dbf46612baaeebcf71e27a1e90d54dc0c4758cda79b9b0a1550b09fdf5592c
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.3-cp311-abi3-macosx_11_0_arm64.whl

Download URL spaday-0.11.3-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
59b3b0d95a664695000a97d4ef554d6eefca199aa44ebd411adacc43b24feb9b
BLAKE2b-256 checksum
How to use checksums
0cc07ef77aec164d1e0ca58e857dce353ddac98f7e8c2876ef5a4607ecf0bec8
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

This release

0.11.3 This release

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