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

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

Built distributions (wheels)

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

Download URL spaday-0.8.0.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
1b15fea87db679ee39cdcf1cc20bbe871649f8a3dc074ed6fd3a3e6f93d4a527
BLAKE2b-256 checksum
How to use checksums
471f28f8c9bc5ee2d818102b2596b368980f28fd99aba94deb066ffe6a8612c0
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.0-cp314-cp314-pyemscripten_2026_0_wasm32.whl

Download URL spaday-0.8.0-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
5824f0e95b031c164f981d758f4d66744da20ee9dc02b231c94bc01687156357
BLAKE2b-256 checksum
How to use checksums
87209a4fcf9ef9031c69f5176f296b7f4b894b9f3d2a0cb8bd0753ffc892a304
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.0-cp311-abi3-win_amd64.whl

Download URL spaday-0.8.0-cp311-abi3-win_amd64.whl
Size 3.6 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
97618f9a83b7c3fedf21af3ad0dc4089a4333bf93d901c1135bd49c9d02cc812
BLAKE2b-256 checksum
How to use checksums
f61557a55098444d39eea727e7d64bc97e1641f2a7c8c5ac596ff5062e7802e9
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.0-cp311-abi3-manylinux_2_28_x86_64.whl

Download URL spaday-0.8.0-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
fded8fbe7494f571151861f5b5f070dc9097654516efc05402de046df61919f8
BLAKE2b-256 checksum
How to use checksums
f2a718a5b476fccea0c333d91a3a943f0985996e93456336725c4158542d0f10
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.0-cp311-abi3-manylinux_2_28_aarch64.whl

Download URL spaday-0.8.0-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
5cd1240f65b25c96acc3d27a83f240a8e082bf8cfbb72f166e4180207e44e931
BLAKE2b-256 checksum
How to use checksums
9fb2f3c87c163be095aa760110d5654e4de4815a8d0eb04098bf02a0b1be6b33
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.0-cp311-abi3-macosx_11_0_arm64.whl

Download URL spaday-0.8.0-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
0511c8c08db2f41b4137e30c85bb1ab16c6f8074ce1bc3772181444316b7f492
BLAKE2b-256 checksum
How to use checksums
7f8ef7723c6f5100901be8474b73e8104c719027e8c5f9db3467e7591a3d4892
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

This release

0.8.0 This release

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