Skip to main content
spaday logo, a face with a facemask and lemon slices bounded by a browser window

Build Status codecov License PyPI

Build 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.7.13

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

Built distributions (wheels)

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

Download URL spaday-0.7.13.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
58d33bfd8bb1251a11034543e4c22e2cedd9334189b4759a2bd626932c148975
BLAKE2b-256 checksum
How to use checksums
400270031751fffb81fba8f068c313ea6ea83f62cce41b9474b435341439aab0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

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

Download URL spaday-0.7.13-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
8df6ea842928aaad9ccdc00bd7102d38f529ed6a2922a068588d1bb82cd747ca
BLAKE2b-256 checksum
How to use checksums
57feb1c2973f653dd73b6a087cce904ccedd3fb7715312971e8bb9109598538d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

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

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

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

Download URL spaday-0.7.13-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
081996afb729d17788b9b8c7207f9863999ef0d3f9bd4466bb72aef733842f34
BLAKE2b-256 checksum
How to use checksums
ceb17e8042fd680e2bd9ab1909b198d250577f2083c602e136934357542e5be7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

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

Download URL spaday-0.7.13-cp311-abi3-manylinux_2_28_aarch64.whl
Size 1.6 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
df693073c709673759610947771a4879c891ca315e8c8a7be450f004e0f60ccc
BLAKE2b-256 checksum
How to use checksums
7a7aee1dc37d70506b52defc28536e335f64912e9f3b6e7a4930b32d88ce40f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

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

Download URL spaday-0.7.13-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
59fe64914f163e6422d11f17383041b1d25d7bfad19cd6e6a9bd9edb26023876
BLAKE2b-256 checksum
How to use checksums
51048d671d50d94a0423c95b540d0a28b08a1ced1027beaa0dc295da0e1c8e04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

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

0.8.1

6 release files

0.8.0

6 release files

0.7.14

6 release files

This release

0.7.13 This release

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