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.10.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.10-cp314-cp314-pyemscripten_2026_0_wasm32.whl (1.4 MB view details)

Uploaded CPython 3.14PyEmscripten 2026.0 wasm32

spaday-0.7.10-cp311-abi3-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.11+Windows x86-64

spaday-0.7.10-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.10-cp311-abi3-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

spaday-0.7.10-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.10.tar.gz.

File metadata

  • Download URL: spaday-0.7.10.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.10.tar.gz
Algorithm Hash digest
SHA256 b5471d926603d0b1ee7bb93fea5b5a9cb7186a2df236e7fae7aeb8f1904659df
MD5 4022dd954b1ad74e8df2046660b92872
BLAKE2b-256 35df1b96a2ddbc9f1c582606081e8e7d8553cd149bf1ebdfc751c701366b4052

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.10-cp314-cp314-pyemscripten_2026_0_wasm32.whl
Algorithm Hash digest
SHA256 6ae73a68736fd359c99c9bc91aafa89272599370608b6759d2fbc13153f66696
MD5 5492715f3a507bb4e765322d2a4c973e
BLAKE2b-256 69a6c7e9e4d78edcbd96b50e37cd1d1ddc67d9b04c593b3b09733b9cceffbac3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spaday-0.7.10-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 3.5 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.10-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 ac84395dfd5386876d5c27870537152752e89d106384a5f582d7272077182972
MD5 574506f5b8e36edb857b090762cd2f5a
BLAKE2b-256 0eac2b853931e9fce665948bfcacd631baf653d52abbebe1fdced91cdc87ea4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.10-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 103fea4ad7faa7429d6a4f13b5fc91b14838a4ff3ad6e86c0a3ec6fbe41a29bb
MD5 ac5d74d11204bdc02c526e904035df73
BLAKE2b-256 aa53834cadc9a8be94073472636e9a0a509c68aeea6821e2373484bfd2d54234

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.10-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f221d03749f01154fb466454f9a9e53ba28af7d51730625fbe806fc83da64512
MD5 8b1ecf017aad98df965ba3ea4c555b74
BLAKE2b-256 5855ab11d01ecbedb5237c1fa6d47cf6bf12b97c7c419027e85892a2ed498621

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.10-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 949e88c517322f24ff467486b97c8cb061c59a8c8e19c6e80a304d4dffa0ad55
MD5 67c8733ffbd7143969c55a29651b86b6
BLAKE2b-256 68de5f67e7a55638d8bbd8f0e8894b34ce6bf6c9746c3062ab324210d03ab534

See more details on using hashes here.

Release history Release notifications | RSS feed

0.7.12

6 files

0.7.11

6 files

This release

0.7.10 This release

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