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

Uploaded CPython 3.14PyEmscripten 2026.0 wasm32

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

Uploaded CPython 3.11+Windows x86-64

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

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

spaday-0.7.9-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.9.tar.gz.

File metadata

  • Download URL: spaday-0.7.9.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.9.tar.gz
Algorithm Hash digest
SHA256 606a60d96c736e8ed879a76690bc88900c27e525995aaedab9dc9c0bea2e7dde
MD5 de93c1124e732c9d6073c5bdb3175134
BLAKE2b-256 4109c9f5515fc14bd3b75729f504fa6abfacc70ff7c708e547b83defb922e3dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.9-cp314-cp314-pyemscripten_2026_0_wasm32.whl
Algorithm Hash digest
SHA256 8037f64f617dc208dfba6008ac343fe1f07fbf61fd676b7430fa3c4c33deb391
MD5 031fb49e8db4a70862c703fe4c7a37ee
BLAKE2b-256 b3a6d90570499f3de2bc6bdaa9a5e7c6a4880143091a6f5c672f2bb9d25fc735

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spaday-0.7.9-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.13

File hashes

Hashes for spaday-0.7.9-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 67c4b49103ad8c4b5a2b5dfac8fad3742c34b428ebfa0f93b181e25069063fdc
MD5 540de2a72ead28a0aac522bb052f558b
BLAKE2b-256 b11a317f6375197166d631fcac89a82a91288db25b8a35d9174cbe6f7cf4b1c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.9-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e9b0af79e0abd059153f6894223916fc063ba07cd53a95eb015569cf6dca2e40
MD5 c648d76d68bb6f73ef8ba63010887e26
BLAKE2b-256 2bdfc482b70cc80a1cae0e78d8accfae3de2278f8303b446b15c4656ec7a30f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.9-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b0c3131bcd858ce2a42ac50685129d044e48a01147a596fc87b062b9053e73f0
MD5 cefc1866e62a004aed1e833c62880300
BLAKE2b-256 d383fcf524ce0e66cb4b60255f6ec3283eee8ff4b3d1a4c3983721d8c88c1800

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.9-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 09e2a1563dad6c529e5d6633140fe1ebae6d3333fcd93c46c4d6d8235f47151e
MD5 b6bb194f89160594d1f1d638a393f427
BLAKE2b-256 b7ada88fd15c7df5417b0589c2045886798583694cd1fbccc6d4cd992fd14ef0

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

This release

0.7.9 This release

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