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

You author a UI as a tree of typed Python components from opt-in packages or any library that ships a Custom Elements Manifest. You 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spaday-0.7.2.tar.gz (1.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

spaday-0.7.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl (1.2 MB view details)

Uploaded CPython 3.14PyEmscripten 2026.0 wasm32

spaday-0.7.2-cp311-abi3-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.11+Windows x86-64

spaday-0.7.2-cp311-abi3-manylinux_2_28_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ x86-64

spaday-0.7.2-cp311-abi3-manylinux_2_28_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

spaday-0.7.2-cp311-abi3-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

File details

Details for the file spaday-0.7.2.tar.gz.

File metadata

  • Download URL: spaday-0.7.2.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for spaday-0.7.2.tar.gz
Algorithm Hash digest
SHA256 85314a0b867e41c2a729fd19f6f926527c9d4a212f359b58f39c4080953228f9
MD5 b2a72176f2d67a4c438fc92f3445ec6b
BLAKE2b-256 aa44f579cc625021e68f69bbe67980a407d6270af7168381f5d807a7c7b259e7

See more details on using hashes here.

File details

Details for the file spaday-0.7.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl.

File metadata

File hashes

Hashes for spaday-0.7.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl
Algorithm Hash digest
SHA256 d563252a408f18e6aa626e7227b087020a97be68847e95df75979dcbb0f64cee
MD5 cd9bb38af83086e078822240e358097a
BLAKE2b-256 bc404dcc9ddbc0024435ab04902f214ad14e3b84b354d98e80142d2180b0029b

See more details on using hashes here.

File details

Details for the file spaday-0.7.2-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: spaday-0.7.2-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.11+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for spaday-0.7.2-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 6dbe8b0961ebeb545e73f1e65215978317cfe6f453f9c6654fb5ce3ef3e5de5d
MD5 8fb9ca2e033ec0456e5798a0476c3bc4
BLAKE2b-256 5d0e4709e75cb1012cbd0512fefd269480a929d694da1c79ac45d6dde5d62cee

See more details on using hashes here.

File details

Details for the file spaday-0.7.2-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for spaday-0.7.2-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 31b1841ab97f18324bbb73b4f61037055b94fae02526c9733c065201e13d3dc2
MD5 fc5ec97107bc0dc82919bf2e9e5bc4cb
BLAKE2b-256 0dcfeb739ede0d68199428f539114bfbc71e1cd51883ca6698b7566c71fd3411

See more details on using hashes here.

File details

Details for the file spaday-0.7.2-cp311-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for spaday-0.7.2-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 492e98665bb15bccdaf4c438103ef45124fca49b66632b5181cfd06ad7cac352
MD5 a0925344a70fd0df0a7d3e29b386f24f
BLAKE2b-256 b0045ac31d59b3c79a008f01b5e3e1a4622faeb82ef37c7aba415a2fea1fb20b

See more details on using hashes here.

File details

Details for the file spaday-0.7.2-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for spaday-0.7.2-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 264b5d65e0e7927ef0dfbcfa48638c5ea4df44657126a9222d3d9dcb4e7e09ca
MD5 b4efcecdac4d44660c7e7bfd4cf01ca2
BLAKE2b-256 b9d8072e587b01b78b0570f8a3488ec611a9a84197f9718e4557ba17bbe947e7

See more details on using hashes here.

Release history Release notifications | RSS feed

0.7.12

6 files

0.7.11

6 files

0.7.10

6 files

0.7.9

6 files

0.7.8

6 files

0.7.7

6 files

0.7.6

6 files

0.7.5

6 files

0.7.4

6 files

0.7.3

6 files

This release

0.7.2 This release

6 files

0.7.1

5 files

0.7.0

5 files

0.6.0

5 files

0.5.0

4 files

0.4.1

4 files

0.4.0

4 files

0.3.0

4 files

0.2.2

4 files

0.2.1

4 files

0.2.0

4 files

0.1.1

4 files

0.1.0

4 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