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

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.5.tar.gz (1.2 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.5-cp314-cp314-pyemscripten_2026_0_wasm32.whl (1.3 MB view details)

Uploaded CPython 3.14PyEmscripten 2026.0 wasm32

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

Uploaded CPython 3.11+Windows x86-64

spaday-0.7.5-cp311-abi3-manylinux_2_28_x86_64.whl (1.6 MB view details)

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

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

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

spaday-0.7.5-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.5.tar.gz.

File metadata

  • Download URL: spaday-0.7.5.tar.gz
  • Upload date:
  • Size: 1.2 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.5.tar.gz
Algorithm Hash digest
SHA256 fd878a91db678340c48c2a5671014f6545d7e38ccee5895b21f1960b3b25a326
MD5 a8a558be8adba8bad17854a9edb451a4
BLAKE2b-256 c6a817619abced177167c0bbe0f9c5527065909516cbf9a86cb8ffcc43f55482

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.5-cp314-cp314-pyemscripten_2026_0_wasm32.whl
Algorithm Hash digest
SHA256 626d6f6430ef7e01369df6c99e55a2a3d9a0ac1620ccc26d6fa8025fc592ca0a
MD5 ddb5c16232f148425e348b460d679d06
BLAKE2b-256 8c64a2d570aa74a18749b6026fd5b96cd63b22b55ece3b321e22843650b09e6b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spaday-0.7.5-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.5-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8516b0ec4bd282dfd348f2ffa627936e6bddcad515ef3bac8c4452e147f3546b
MD5 39331257686fb645caedab06a1b3a5ff
BLAKE2b-256 2882aedf059fb677db46dc3bfd321ae24c4cec3dc4d7a34af0dbbbe726fd60c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.5-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4ff145b1498f445a06990158a067452514f64967d99dcd811744ac9b531397eb
MD5 46b604caa1714c3e1643cca0c2db649f
BLAKE2b-256 efafc2910a13e09dd7aebc6abcdba1ed539b608cbe175a934f2921c12f9c3be2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.5-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3224d0d96d610d8c52ebedeb50e0c22eb544937c08aeab45e1b7f2eb5ca35c66
MD5 039a91a7c5094e6b95311087c22f0597
BLAKE2b-256 82efd163517851cc36984f31e19f2841aa5296d67db75438e0ffc55feaec1cda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.5-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 492daa7cdb69feb69beddf42bbcab8d53d60f483b93cff4020fa92945811a0de
MD5 61641d0b1d1c9c904a51fc5c7b546374
BLAKE2b-256 2d8b66e8e44240a37dded6f7dc6840c3f8b297c49ae96c212c50680d0596e03a

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

This release

0.7.5 This release

6 files

0.7.4

6 files

0.7.3

6 files

0.7.2

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