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

Uploaded CPython 3.14PyEmscripten 2026.0 wasm32

spaday-0.7.12-cp311-abi3-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.11+Windows x86-64

spaday-0.7.12-cp311-abi3-manylinux_2_28_x86_64.whl (1.7 MB view details)

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

spaday-0.7.12-cp311-abi3-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

spaday-0.7.12-cp311-abi3-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for spaday-0.7.12.tar.gz
Algorithm Hash digest
SHA256 f1ac5122d7dcdcde726b24566f985e3e28306a1da3d79ac57f8aec008f63c223
MD5 72506d3b392b1dd98222919de3c9d505
BLAKE2b-256 6128e6298d0063fe88c7421bd7003a4aedef3f55031700a04319796b3ac15595

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.12-cp314-cp314-pyemscripten_2026_0_wasm32.whl
Algorithm Hash digest
SHA256 c84b459e2860f6fc043cd160c062f5a77bba410e3b9dde1d30a9abf7fd1575f5
MD5 c22133aa7ba46e5029bf5b77cf60594c
BLAKE2b-256 ca38650f3d573edeba1f15f224c86dd6f8376bb934ef966ff61656e67ee6893c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for spaday-0.7.12-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b9cd7e85070598e5f3205ebb07bfc09485971831b602dc3b35717f69082beddb
MD5 979ee350e5fa52ce4c3bd61063983c42
BLAKE2b-256 47bb2c056d54bc1e3fc6f0df212ec6b1bf05330e0eaab9fad0821f5d9158ec84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.12-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 90e51dd1f4e382f3a6e55965eb6f2d2062aa8a4cc53ea9dcd41ecf7b897aa228
MD5 939a778bb24370115378b04ef49c6654
BLAKE2b-256 53c7f8919d1359eae6686ac7bc21f144e9e53174c845ea29bbe777aabde77316

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.12-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6f8f36bf976c33ccadd4e9a2e83949db2f009d59efdc4dde08bef25d1a30809b
MD5 2828e4a8f9155bb11806d93a8e043c26
BLAKE2b-256 714778041749072cebca79dc98067a72c83934e800d0347b292968339f65ff69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.12-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fce35b43906db0db5363166172de40eca773dda16a123021a9694803c7a07ac5
MD5 7dd233f131f258634e9a3884d5d718ad
BLAKE2b-256 e9762d9b814f7370200bc6d67d22176b1f8e36d2ea1c866a0163700bf2f31997

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.7.12 This release

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

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