Skip to main content

GPU-accelerated, freeform Python UI framework.

Project description

Elysium UI

Python UI without the rectangles.

Status: 1.0 — production / stable. The public API follows strict semver; see the CHANGELOG.

A GPU-accelerated framework for borderless, shaped, animated Python desktop applications. Skia + wgpu hybrid rendering, designer-and- developer split via .esk skin files, animation as a first-class citizen, and a dedicated authoring app (Elysium Designer).

It targets Qt/PySide6 parity for desktop UI while deliberately staying focused on the UI layer — see the scope statement for what's in and what's left to the Python ecosystem.

Documentation

Both sites build from this repo: docs/ and docs-designer/.

Quick start

pip install elysium-ui

Run the minimum borderless ellipse window:

import elysium as ely

ELLIPSE = "M 0,180 A 180,180 0 1 0 360,180 A 180,180 0 1 0 0,180 Z"

app = ely.App(title="Hello", identifier="dev.example.hello")
window = app.window(transparent=True, title_bar=False,
                    resizable=False, initial_size=(360, 360))
window.set_hit_test_path(ELLIPSE)
app.run()

A 360 by 360 transparent ellipse window appears with no chrome, clipping clicks to the ellipse.

Four lead demos

The Getting Started tutorials walk through four flagship apps:

Demo Time What you build
Aurora Clock 30 min Borderless transparent ellipse clock with breathing aurora glow
Pomodoro Timer 25 min Rounded-rect Pomodoro with radial progress + popover settings
Stylized Music Player 90 min Late-1990s-style irregular faceplate music player skin
Butterfly Banner 20 min The Elysium logo: a butterfly descends and unfurls the wordmark

Together they exercise the entire public API: App, Window, shaped windows, skins, signals, effects, Tweens, Springs, Timelines, themes, components, brush, PBR, AI, marketplace.

The Designer

The companion authoring app ships as a signed standalone executable per OS:

  • macOS: Elysium Designer.app
  • Windows: ElysiumDesigner.exe
  • Linux: Elysium-Designer.AppImage

Download from releases, or build from source (see the build-from-source guide).

The Designer's lead tutorial is the Blue Morpho to Monarch butterfly texture-transfer workflow, which produces the same .esk the Butterfly Banner framework demo loads.

Architecture

Layer Crate / Package
Pure-Rust primitives (geometry, display list, color, time) ely-core
Windowing + input + a11y (winit) ely-platform
Skia paint + wgpu compositor + WGSL effects ely-render
.esk parser + naga shader sandbox + Ed25519 signatures ely-skin
Hot-reload IPC ely-ipc
PyO3 bindings (the _native module) ely-py
Pure-Python framework python/elysium/
Standalone visual designer elysium-designer/

Build from source

# Native + Python in one command:
maturin develop --release

# Rust workspace tests:
cd elysium-native && cargo test --workspace

# Python suite:
pytest python/elysium/

# Live-window end-to-end test (gated on a display):
ELYSIUM_RUN_WINDOW_TEST=1 pytest tests/test_smoke.py::test_phase0_live_window_end_to_end

Contributors: see CONTRIBUTING.md and the contributing guide on the docs site.

Where the artifacts land

What Where For
Framework elysium-native/target/wheels/ pip install consumers (developers building apps with the library)
Designer (Mac) dist/macos/ElysiumDesigner.app End-users on macOS
Designer (Win) dist/windows/ElysiumDesigner.exe End-users on Windows

The framework directory holds the pip-installable wheel + universal sdist produced by maturin build --release --sdist. The Designer directories hold the single-file PyInstaller bundles produced by scripts/build-designer.sh (or .ps1 on Windows) — no Python install required to run, since each bundle ships its own interpreter and the compiled native extension.

Cross-platform wheels + Designer binaries also come out of CI: trigger release-library.yml for wheels (Win/Mac arm64+x86_64/Linux), or build-binaries.yml for the Designer matrix.

Examples

Folder Purpose
examples/hello/ Minimum-viable app; smoke test
examples/butterfly/ Blue Morpho reference + Monarch model used by both lead tutorials
examples/components/ Single-window showcase of every built-in component
examples/agent-cursor/ Aether-driven borderless cursor companion
examples/snapshot-relay/ Headless /snapshot HTTP relay for tests

License

Permissive. See LICENSE.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elysium_ui-1.1.2.tar.gz (605.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

elysium_ui-1.1.2-cp310-abi3-win_amd64.whl (10.8 MB view details)

Uploaded CPython 3.10+Windows x86-64

elysium_ui-1.1.2-cp310-abi3-manylinux_2_28_x86_64.whl (13.6 MB view details)

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

elysium_ui-1.1.2-cp310-abi3-macosx_11_0_arm64.whl (9.7 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

elysium_ui-1.1.2-cp310-abi3-macosx_10_12_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file elysium_ui-1.1.2.tar.gz.

File metadata

  • Download URL: elysium_ui-1.1.2.tar.gz
  • Upload date:
  • Size: 605.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for elysium_ui-1.1.2.tar.gz
Algorithm Hash digest
SHA256 765500d6f84d67263260357e6d1423cdaf470566694b52e39300be4316733914
MD5 c1fa468e7caee8e8810b7b3e75126c48
BLAKE2b-256 a261a2348478fa2855ace7eca6095d4b2d063f2ee97e9f23c06506cd2fecc292

See more details on using hashes here.

Provenance

The following attestation bundles were made for elysium_ui-1.1.2.tar.gz:

Publisher: release-library.yml on elysiumui/elysium

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elysium_ui-1.1.2-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: elysium_ui-1.1.2-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 10.8 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for elysium_ui-1.1.2-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 6508c10111c4af8a97473a5f34bee15881e46baf897d7af8c640f159a30b5fc0
MD5 a15d1e1e8c74a55eaaabe32f2654ff45
BLAKE2b-256 003943c23809e8b896c917316483ffbce95d2bf2f3c57873c4c824b8aa9c3151

See more details on using hashes here.

Provenance

The following attestation bundles were made for elysium_ui-1.1.2-cp310-abi3-win_amd64.whl:

Publisher: release-library.yml on elysiumui/elysium

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elysium_ui-1.1.2-cp310-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for elysium_ui-1.1.2-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8456016d738d0212c0109e4994918614771253293e9aeb948baa30c0a9753e26
MD5 7aa9628fd1c5b2c58a0169d6e5f466b5
BLAKE2b-256 52107ee4d5fb3b8c8dc42ca6cad3433b6a0d4e6048aadcea96ac2173b09a1c96

See more details on using hashes here.

Provenance

The following attestation bundles were made for elysium_ui-1.1.2-cp310-abi3-manylinux_2_28_x86_64.whl:

Publisher: release-library.yml on elysiumui/elysium

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elysium_ui-1.1.2-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for elysium_ui-1.1.2-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 903cdd36cf142f1bb5cdd4f1585bf55742885d90532980bf65d2c6a7e8bdd675
MD5 f4c25e83be1c649efd7cd62833d468e9
BLAKE2b-256 2d8905295110ecd45b595dbc5ab03f52216863da617bb73480fea4870561e3f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for elysium_ui-1.1.2-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release-library.yml on elysiumui/elysium

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elysium_ui-1.1.2-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for elysium_ui-1.1.2-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2f33dec17c2cdb5162ae676c12dc146f52340a67aa3ebefd3af829d9eb24fcd4
MD5 d30522c60ce2c49d9270061a839d1b89
BLAKE2b-256 48840a35b4763f655d9c3229222f9e746417b8ef164a03025cdf61d777921cfa

See more details on using hashes here.

Provenance

The following attestation bundles were made for elysium_ui-1.1.2-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: release-library.yml on elysiumui/elysium

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page