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

Uploaded CPython 3.14PyEmscripten 2026.0 wasm32

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

Uploaded CPython 3.11+Windows x86-64

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

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

spaday-0.7.11-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.11.tar.gz.

File metadata

  • Download URL: spaday-0.7.11.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.11.tar.gz
Algorithm Hash digest
SHA256 7734a0954a54a259ec2f5299a7a22cf0eb70a2c167d8978ac5e8bb2fe36773a7
MD5 410b5f2b4f23f000a1f650d9c9898df5
BLAKE2b-256 b7c514caeff92840d10639fd9da52d5617ab99d1ba08ce494d6b9505575c2e84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.11-cp314-cp314-pyemscripten_2026_0_wasm32.whl
Algorithm Hash digest
SHA256 54148fffd7d2f7e5a50c395c77f5514ee3d819a13d90b7f445bb0cbb0cf61ea6
MD5 736f254c0ed097b8498f205a4aef2e9b
BLAKE2b-256 6f6fb84b11ea1f05aaf6583673e44975c74ad05913922d80f9c7c06097d90f1b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spaday-0.7.11-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.11-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 69d894a0ac3bd088bf90323f1550e678f09b5b5c41689a7a318ee1d5dac55370
MD5 9b589b2b485564d796f3c1523b8d13e4
BLAKE2b-256 16bec295679f2d0b73c9d14d780022f6573eee54e081774bbf642952762a69c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.11-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ecc488e6ef7f5fd8642a60bf77156c40763db20f2ea26e04c6f8aedbc564ca38
MD5 704bce7d867760b3bda6436f70c90c5d
BLAKE2b-256 e02764f71e65ee3e682309d75a363ec991d9d0865e24dcfd60fe3209d86a0115

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.11-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f643adaf014d04719b5e94363cf35aa79538554cbb2e877acaa68988ae1be082
MD5 7c6b7ff40177e4d69668375c9da60025
BLAKE2b-256 4dbe6bc7efb683b9b80a288456fa57cc1eb7df9fd320a1cdb53632f5da3d747f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.11-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 36cc804dfd60c512d3619ca35da0957f050ceab887009e64bc6ce222fd26dfd2
MD5 89f43d7f27417eeefaecc2a8c24a5c6c
BLAKE2b-256 dd6a86cee4777f038d6764a1970c021cff3f0df1a1d909b59aadc660f3680314

See more details on using hashes here.

Release history Release notifications | RSS feed

0.7.12

6 files

This release

0.7.11 This release

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