Skip to main content
spaday-regular-layout logo, a picnic blanket and basket inside a browser window

Serializable, resizable panel layouts for spaday, powered by regular-layout.

Build Status codecov License PyPI

Documentation

Quick example

from spaday import serve
from spaday_regular_layout import RegularLayout, RegularLayoutFrame

layout = {
    "type": "split-layout",
    "orientation": "horizontal",
    "sizes": [0.3, 0.7],
    "children": [
        {"type": "tab-layout", "tabs": ["nav"]},
        {"type": "tab-layout", "tabs": ["main"]},
    ],
}

page = RegularLayout(
    RegularLayoutFrame("Navigation", name="nav"),
    RegularLayoutFrame("Main", name="main"),
    layout=layout,
    style="height: 32rem",
).prop("class", "lorax")
serve(page, packages=["regular-layout"])

layout is the serializable split/tab tree returned by upstream save(). Bind it to application state to restore layouts reactively. Browser changes emit regular-layout-update; use a spaday event action to persist event.detail.

Each frame's content area (regular-layout-frame::part(container)) is display: block with a definite height, not a flex container, so flex: 1 on slotted content silently does nothing. Give slotted content height: 100% to fill a panel.

Run the local example

python -m pip install -e ".[examples]"
python -m spaday_regular_layout.example

Open http://127.0.0.1:8013 to resize and rearrange the complete three-panel example. It receives a new server layout every five seconds and persists browser rearrangements back to Python. It passes the local package descriptor directly, so it does not install or resolve the integration from GitHub.

Metadata

Release files for spaday-regular-layout 0.2.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spaday-regular-layout 0.2.7
File Size Uploaded
spaday_regular_layout-0.2.7.tar.gz 99.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for spaday-regular-layout 0.2.7
File Interpreter ABI Platform
spaday_regular_layout-0.2.7-py3-none-any.whl Python 3 none any Details

Total release size: 161.5 kB

Release files / spaday_regular_layout-0.2.7.tar.gz

Download URL spaday_regular_layout-0.2.7.tar.gz
Size 99.8 kB
Tags Source
SHA-256 checksum
How to use checksums
af56ef75fe8a8c3172894eb563a91f1647c54ce3d47740dbd112d9363cd8b82a
BLAKE2b-256 checksum
How to use checksums
0595e15460234763e13b03f8c0295a41e1a97a6b42da63989cca8c6f789c17bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / spaday_regular_layout-0.2.7-py3-none-any.whl

Download URL spaday_regular_layout-0.2.7-py3-none-any.whl
Size 61.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
64916864761e8740bfe51077c7de149c025b28605167a67d973c02f6a0720f07
BLAKE2b-256 checksum
How to use checksums
66f1b56b7c4aab445e0bb5ad41fed14fd5311d630827936ddf1085ac39e377d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

0.3.0

2 release files

This release

0.2.7 This release

2 release files

0.2.6

2 release files

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.0

1 release file

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