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

Uploaded CPython 3.14PyEmscripten 2026.0 wasm32

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

Uploaded CPython 3.11+Windows x86-64

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

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

spaday-0.7.8-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.8.tar.gz.

File metadata

  • Download URL: spaday-0.7.8.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.8.tar.gz
Algorithm Hash digest
SHA256 319bdd3bec86753b66b2d1714d8288429ad62993eff04e65436a29ad958e42a7
MD5 be6df0a30ac83a344261a615ef358a32
BLAKE2b-256 4ed31edbeb52255f66617189e24221be92dc4a0ac637e4b06555b7054f01ea3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.8-cp314-cp314-pyemscripten_2026_0_wasm32.whl
Algorithm Hash digest
SHA256 5465c745190ba9ef791391670ce2ec5f985b821612ee1db5da00ba0d0880938c
MD5 8c0716797339fc16efcd9b35db7742fc
BLAKE2b-256 a2069298d0172cb951e21cbba68446c75d4b018afd3461b9252d3d425326bbfb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spaday-0.7.8-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.8-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 6273e68294ff89b1023fdbef00db0d6fd16d89c4a8ef1cd026dc426596afce0f
MD5 9ca6505d0ed0223c44a05874e2d3df4e
BLAKE2b-256 0737fb8be91a5cc6bd561104b3a80a05c10ce136835b0fc76031ba9791694754

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.8-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4016228707853bc40f9452979cb53d9ba0c6e1192c40a8989062711ce7ed1e99
MD5 ae8514eae8e0bbe742622dd87c3541f7
BLAKE2b-256 60d7bd02437ffa670a146c82fe1ce210c24841ad865ccae523adbfc326c65cbe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.8-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 50599e0aebbb5ab6642be533c52f03fa2b5a8e23a1c3957cda5717e4ce38201f
MD5 f63a07e5227a88d011edf5d13f34c594
BLAKE2b-256 38eff47d6dbdb3a77b70a4c4466e1220fa6e36352722be1a7034c7cac7683161

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.8-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 276b6f8c059a58d2601312413389ce7aaa38be868ef8bb4e857b85d22631a796
MD5 903a2309797242818472aa058183c4c8
BLAKE2b-256 cafe6ee0f35df92079d93722b601c8d9f7a035ee5473446cffa0e96ba636b44a

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

This release

0.7.8 This release

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