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

Uploaded CPython 3.14PyEmscripten 2026.0 wasm32

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

Uploaded CPython 3.11+Windows x86-64

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

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

spaday-0.7.6-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.6.tar.gz.

File metadata

  • Download URL: spaday-0.7.6.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.6.tar.gz
Algorithm Hash digest
SHA256 7394ccded928d14bf9a64dceedfb554349a926c2a5b97dd1bd4017473637c260
MD5 fc31d758876462168fb0d679c4fbb9a0
BLAKE2b-256 55ebeb975a8c04c0e6041835294182454cf0243a1dbc66f93a1b5b2be5c3eccc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.6-cp314-cp314-pyemscripten_2026_0_wasm32.whl
Algorithm Hash digest
SHA256 2970ff48b8780fa2fa6834af0e1a8c92b43e0321b91a5fa052ef892a1fdcd1c8
MD5 38ff0c573701cfebaf60f8b83f6bae9d
BLAKE2b-256 d79b4f2704ac668c78eb8938a5c606e671387e6ebe74295078969c10c65c5c4c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spaday-0.7.6-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.6-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a2a17670c07034ca876bf2ac24521620cf1f49365db9933a116d0135e7441d5e
MD5 68b9aa833e8ad08e010890dfbe45ceab
BLAKE2b-256 22b14d78e5324d72963b2c9c3492fc39b4c1333d933e7584568e4bd49d67f36a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.6-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 84263cac29ad48f60a914def5b49b67858a60178b3d119ade6bade6aa7a878fb
MD5 12fc8f86210ff1f70849a9f6c1b3afe3
BLAKE2b-256 6b8641d1dc5d3c221cf5d542778c160d9f001b43925156e6d9fec639838ec781

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.6-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 39f93737bb7e881f706ea319e783d2316b3c78438f7635c893c24cf017df0f57
MD5 d530de8b0157f5070c7a0342fb5871b1
BLAKE2b-256 571c8c4e7688b43a3b1cf5dcf2880e3a1f2c499f50112571573b4bcf153c5c4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spaday-0.7.6-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bdb4c8f0c705540173c46470700e900bca6fc3c34f89c6302620514f7b453f95
MD5 b281dccacb4b9a8aface7c0295c5294a
BLAKE2b-256 036a055ccc99ca403fbd5bee0e0838dc4725655035b64faadff9d27213d3fbea

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

This release

0.7.6 This release

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