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

You author a UI as a tree of typed Python components from opt-in packages or any library that ships a Custom Elements Manifest. You 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.3.tar.gz (1.1 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.3-cp314-cp314-pyemscripten_2026_0_wasm32.whl (1.2 MB view details)

Uploaded CPython 3.14PyEmscripten 2026.0 wasm32

spaday-0.7.3-cp311-abi3-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.11+Windows x86-64

spaday-0.7.3-cp311-abi3-manylinux_2_28_x86_64.whl (1.5 MB view details)

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

spaday-0.7.3-cp311-abi3-manylinux_2_28_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

spaday-0.7.3-cp311-abi3-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: spaday-0.7.3.tar.gz
  • Upload date:
  • Size: 1.1 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.3.tar.gz
Algorithm Hash digest
SHA256 cb10c7ce3a18e0408398d65f7248027a00e30b193f40ed00fbcc4852822edf92
MD5 45a3e0f390e5a3be0807f5198fd8a088
BLAKE2b-256 0e55066166c4721e97d3a7ba4ff7ad3b8a72ae5f296da5d684e24e423a3f3d70

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.3-cp314-cp314-pyemscripten_2026_0_wasm32.whl
Algorithm Hash digest
SHA256 d06b14da801954e62fd0f567072aad5432186916be9426078659cfa4202f7e5a
MD5 7e15253a6c261754af4d40e8203cfe1a
BLAKE2b-256 ea468525eec8a6fad9acfb5d8d136ba5e6c0563454b82dd60f344c2b6eb742de

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spaday-0.7.3-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 3.4 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.3-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 0a61f0265be4d216c7797b556a8fe3197aea3a8f3b14ae66c579081076a2962e
MD5 a6dd16e51a688d838ca9305f1b1b996f
BLAKE2b-256 38e8b0d4d8174b7eef62632f6bd296e77dc388f84c0032639241730c15c43024

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.3-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9f6bbd3fa25357102f687a66a733aeefbdef9a7e967ccbe93797b2b6fcd140a5
MD5 18ad9fd0a89f1bd7bff3bd38ad43760d
BLAKE2b-256 75b4f8ec69386a14b8237f8ab63a39d956eb2ceb9693d158d450d13c84fd5372

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.3-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 791f3c1ccd4bbb15d4d155321b8ed362314f299728f97a03b8d8949efbf583ea
MD5 f9b38fcd93b16830acada3099deb5440
BLAKE2b-256 2fa8c8329ac237baa90ce821e0e69267736f332164d79167beb286ee6aa138df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.3-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 684be035089149dded761220b3b8fd9e7e7610d34134b3ec4635ed8ba06a4a01
MD5 f4cfcd1656467296691293594c8fb4b7
BLAKE2b-256 883aae532dd38323feda46b5eab04b6824817a3ce4adfe88de7a745e29cd1ce6

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

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

This release

0.7.3 This release

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