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

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

Built distributions (wheels)

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

Download URL spaday-0.7.14.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
6e0869225cb78f87c040123d6de034bde3b4b4a1843e569e98165bd3b053cd11
BLAKE2b-256 checksum
How to use checksums
626d2bc50c753815add72bdfe5d791be91307a38b76c8a46a14642cec2295c4c
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.7.14-cp314-cp314-pyemscripten_2026_0_wasm32.whl

Download URL spaday-0.7.14-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
25baa849372c65832e5d2093201f5596b3b975a8236eb348608312bc4113140b
BLAKE2b-256 checksum
How to use checksums
4c36011487f239e718bdedc0485442f9f682b894c84a802d35f99ec52f5a29e6
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.7.14-cp311-abi3-win_amd64.whl

Download URL spaday-0.7.14-cp311-abi3-win_amd64.whl
Size 3.6 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
4746aab72b53f3c9c2b4680124c6d64aecd495702e753c483d4e36a394af76d9
BLAKE2b-256 checksum
How to use checksums
a51cde17b582bb690be56712887822082a2bcb0e887afda6bfec8b0104145d2d
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.7.14-cp311-abi3-manylinux_2_28_x86_64.whl

Download URL spaday-0.7.14-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
92a90c3bdadd2c1def757a5ce401385bea64f5507fda030949287df1ab075315
BLAKE2b-256 checksum
How to use checksums
7f9a82c6b992067e7d66ce740dedb918ef8b1ceac611a249bc731938c12ad387
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.7.14-cp311-abi3-manylinux_2_28_aarch64.whl

Download URL spaday-0.7.14-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
41a65be5f0d106d387054891a37852ed5c591d32a4d87ba378ab849431a0462c
BLAKE2b-256 checksum
How to use checksums
91bc47efe0aac8b5010ecece9293bc015f8acc0030b72e0afa5c7754a9dea643
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.7.14-cp311-abi3-macosx_11_0_arm64.whl

Download URL spaday-0.7.14-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
522cb5851dfd2b9dac49bceeacf9e33664ee070dabe4c07ba1a8047df7ffb77d
BLAKE2b-256 checksum
How to use checksums
2c5d32c49bd4d85db3525c9b4737930e3162e20e4b25ba5325d0ae16a4cdbe1e
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

0.8.1

6 release files

0.8.0

6 release files

This release

0.7.14 This release

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