Typed Calcite Design System components and browser assets for spaday.
Usage
from spaday import element
from spaday.backends.starlette import serve
from spaday_calcite import CalciteButton, CalciteNotice, package
page = element(
"main",
CalciteNotice(open=True, kind="success").child_in("title", "Ready"),
CalciteButton("Open map", icon_start="map"),
)
app = serve(page, packages=[package], title="Calcite app")
Install the package with pip install spaday-calcite. Assets are loaded only when the exported package descriptor is passed to serve.
Generic controls
Passing package to serve also selects Calcite for spaday's generic controls. All 13 generic controls render as Calcite components, including typed number inputs, radio groups with child-owned selection, slotted notices, and progress normalized to Calcite's 0–100 range.
Use design="native" with serve to opt out, or set a control's Calcite-specific properties with control.for_design("calcite", ...).
Catalog coverage
Wrappers are generated from the Custom Elements Manifest published with @esri/calcite-components 5.1.2. The catalog covers its 104 public, declaratively usable elements. The upstream manifest also exposes calcite-date-picker-day and calcite-date-picker-month; these are undocumented private calendar renderers that require internal controller context and cannot be authored as standalone custom elements, so they are deliberately excluded.
Coverage is enforced at two layers:
- Python tests require the exact tags in
gallery.page.to_node()to match the generated wrapper catalog. - Playwright loads that Python page through Pyodide and requires every resulting host to be registered and hydrated with a shadow root.
The browser harness does not synthesize substitute components.
Browser examples
Both run Python locally through Pyodide; no install or server is required.
Run the examples locally
python -m pip install -e ".[examples]"
python -m spaday_calcite.example
python -m spaday_calcite.gallery
Open http://127.0.0.1:8026 for the field operations workspace or http://127.0.0.1:8027 for the complete component gallery.
Metadata
Release files for spaday-calcite 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| spaday_calcite-0.2.0.tar.gz | 1.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| spaday_calcite-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.8 MB
Release files / spaday_calcite-0.2.0.tar.gz
| Download URL | spaday_calcite-0.2.0.tar.gz |
|---|---|
| Size | 1.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e61cd872921da3c84eee1368902260aab63dd634ac4940215949dddc43d5e735
|
|
BLAKE2b-256 checksum How to use checksums |
cfc3bc841be033cfa135ea92deb01ac9ee7e3aa60d054c4e90936e3cbe5ed33d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / spaday_calcite-0.2.0-py3-none-any.whl
| Download URL | spaday_calcite-0.2.0-py3-none-any.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4464e248b46da5b0e8b10019a92ba3bd70fe6e70abdccbb17037fb31a168cd1c
|
|
BLAKE2b-256 checksum How to use checksums |
e6e174880619905a8b535d648225ef13ce78d7253379dd9c43235144170b18e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|