Limelight
Limelight is a portable package format for data-driven figures and analysis stories, and a desktop app for reading them.
A Limelight package is a folder, or a .limelight archive with the same
layout, holding a project.dhall manifest alongside the datasets it
describes, the figure specs drawn from them, and a story that walks a reader
through the analysis. The app opens either form, validates the manifest,
resolves the data, renders the figures, and follows the story.
Packages are meant to be produced by libraries and tools rather than by hand;
limelight.writer is the Python library for building them, and
limelight.reader for opening them without the app.
Installing
pip install limelight-app
The distribution is limelight-app (PyPI would not allow plain limelight),
but the package imports as limelight and the commands are named as below.
A package's project.dhall manifest is read by a built-in evaluator, so
nothing beyond the Python dependencies is needed. A hand-written manifest
that uses Dhall features beyond what the writer emits (functions, if,
merge, interpolation) is handed to dhall-to-json instead, if one is on
PATH or named by LIMELIGHT_DHALL_TO_JSON.
Native installers for Windows, macOS and Linux are built by packaging/;
see packaging/README.md.
Using it
limelight-gui example.limelight # open a package in the desktop app
limelight-cli summary example.limelight # print a summary of a package
limelight-cli verify example.limelight # validate one or more packages
limelight-cli pdf example.limelight # render a package's story to PDF
LL is the short form of both: LL example.limelight opens the app, and
LL verify example.limelight (or summary, json, pdf) runs the CLI.
On a Linux desktop, LL desktop-entry gives a pip or uv install what the
native installers have: an entry in the applications menu, a taskbar icon,
and .limelight files that open with Limelight. LL desktop-entry --remove
takes it away again.
The scripts in examples/ build sample packages into _build/examples/, and
src/limelight/language-reference/ holds the Dhall types a manifest is
written against; the writer copies them into every package it builds.
Developing
uv sync --all-groups
uv run pytest
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file limelight_app-0.0.3.tar.gz.
File metadata
- Download URL: limelight_app-0.0.3.tar.gz
- Upload date:
- Size: 3.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a6aaf26e6ebed0dae4aceb74046daa904ed66a03f96b1a7825f0eb599e68cd0
|
|
| MD5 |
60d46a8e925b3f6a273e4dd08b5e2f1d
|
|
| BLAKE2b-256 |
1b2fd585d67baf3cbbec1d17b509be537492fa88f31018d358195713c4fb39f0
|
Provenance
The following attestation bundles were made for limelight_app-0.0.3.tar.gz:
Publisher:
publish.yml on mikehulluk/limelight
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
limelight_app-0.0.3.tar.gz -
Subject digest:
6a6aaf26e6ebed0dae4aceb74046daa904ed66a03f96b1a7825f0eb599e68cd0 - Sigstore transparency entry: 2798942349
- Sigstore integration time:
-
Permalink:
mikehulluk/limelight@3175003bb841f15856d2ae688c25937524b4c94e -
Branch / Tag:
refs/tags/v0.0.3 - Owner: https://github.com/mikehulluk
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3175003bb841f15856d2ae688c25937524b4c94e -
Trigger Event:
push
-
Statement type:
File details
Details for the file limelight_app-0.0.3-py3-none-any.whl.
File metadata
- Download URL: limelight_app-0.0.3-py3-none-any.whl
- Upload date:
- Size: 156.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e904ca9759df780a44fb738e0fdf26a12e66b26653293e534703f2ef5f776b3a
|
|
| MD5 |
6dad2e7f7216aba3e11b6e4b0c26d560
|
|
| BLAKE2b-256 |
26364a1dbc93f5a06362223da413a07f1262ff829b8b4b9db44539b7b701f28a
|
Provenance
The following attestation bundles were made for limelight_app-0.0.3-py3-none-any.whl:
Publisher:
publish.yml on mikehulluk/limelight
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
limelight_app-0.0.3-py3-none-any.whl -
Subject digest:
e904ca9759df780a44fb738e0fdf26a12e66b26653293e534703f2ef5f776b3a - Sigstore transparency entry: 2798942369
- Sigstore integration time:
-
Permalink:
mikehulluk/limelight@3175003bb841f15856d2ae688c25937524b4c94e -
Branch / Tag:
refs/tags/v0.0.3 - Owner: https://github.com/mikehulluk
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3175003bb841f15856d2ae688c25937524b4c94e -
Trigger Event:
push
-
Statement type: