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

Built distributions (wheels)

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

Download URL spaday-0.11.1.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
d3b045346bfcc3d6ffa0cd8a14d495a4c9e73d67974979d0695e2d0e713636a1
BLAKE2b-256 checksum
How to use checksums
db61051276edc5ad153f209e85734f18717ce47001abd1d0cb4e9dee00ba4e9a
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.1-cp314-cp314-pyemscripten_2026_0_wasm32.whl

Download URL spaday-0.11.1-cp314-cp314-pyemscripten_2026_0_wasm32.whl
Size 1.7 MB
Tags CPython 3.14 PyEmscripten 2026.0+ WebAssembly
SHA-256 checksum
How to use checksums
28b89f7b5892b7c95e374ea6d956f464ce12f50957891dc222b184c14e9cfeb1
BLAKE2b-256 checksum
How to use checksums
534a62e2499a6d3bd8942fc9c3330be9da00edc94789f09a963cb38ac7087311
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.1-cp311-abi3-win_amd64.whl

Download URL spaday-0.11.1-cp311-abi3-win_amd64.whl
Size 3.9 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
0247993cf4f4768e4627ddb9f8578111a70e86e9c4061f5a15f8501e6459b9a7
BLAKE2b-256 checksum
How to use checksums
52827dd71c596766892a0d45018a72f2bbc0275c338439abac27fb736401d65d
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.1-cp311-abi3-manylinux_2_28_x86_64.whl

Download URL spaday-0.11.1-cp311-abi3-manylinux_2_28_x86_64.whl
Size 2.0 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
7591b7ce563ea2c9de5539aaa3e30ec6c890bcb1ef1bef9a163b1e319dd7b05f
BLAKE2b-256 checksum
How to use checksums
5f276376b2325ed7b9dc314a5b78b8bf77e53d494fea4266f0a20ce98de9366d
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.1-cp311-abi3-manylinux_2_28_aarch64.whl

Download URL spaday-0.11.1-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
3714726487534eced6b4c8518d553ee34d7f1338d14e7e281bdd1350d157fafe
BLAKE2b-256 checksum
How to use checksums
344de20171d943c6b25ab28c583334efcabc7a499f7fb2ab80cdf091f4668be2
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.1-cp311-abi3-macosx_11_0_arm64.whl

Download URL spaday-0.11.1-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
0f912515eeccff974c407180741e69546ed7304694b347c12cd1e5ca0995a780
BLAKE2b-256 checksum
How to use checksums
7ce8b3410e8f2f7a6095f8f9773efe675f2bf6c0d70c716cce908196693ebdb4
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

0.11.3

6 release files

0.11.2

6 release files

This release

0.11.1 This release

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