Lightcone Lab
The open AI-assisted research workbench
Lightcone Lab brings a research workbench into JupyterLab, connecting
methods, evidence, and computation. The extension currently provides an ASTRA
analysis inventory, materialized outputs, and cited papers. ASTRA is the
analysis format; astra.yaml and its SDK contracts retain their names.
Requirements
- Python >= 3.11
- JupyterLab >= 4.5.10, < 5
- Node.js >= 20 for extension development only
Install
pip install jupyterlab-lightcone
The wheel includes the frontend, shared components, and PDF.js assets. End users do not need Node.js or sibling source checkouts.
Use
Open astra.yaml in the file browser, or select Open With → Lightcone Lab.
The Lightcone Lab launcher category and command palette also offer
ASTRA Inventory. The inventory is read-only: viewing preserves analysis and
result files and starts no kernel. JupyterLab may create its standard document
checkpoint when opening a writable file; the normal text editor remains
available for editing.
The inventory shows outputs, decisions, inputs, findings, prior insights, and
cited papers using the shared ASTRA components. Select an analysis or record to
inspect its details. Figures, CSV/TSV tables, and JSON tables/metrics have bounded
previews and an action to open the full artifact. Paths, universe selection,
validation, and artifact cache tokens come from @astra-spec/sdk.
Launcher actions use the launcher's directory. Palette actions use the current project/document or file-browser directory. Opening the same project reuses its document tab; different projects keep their own selection and dialogs. You can also open an explicit project programmatically:
app.commands.execute('jupyterlab_lightcone:open-inventory', {
path: 'research/astra.yaml',
analysisPath: '$'
});
Projects refresh after relevant file operations, through Refresh ASTRA Inventory, and by polling while the browser is visible. Multiple views of the same project share that work. A transient invalid edit preserves the last valid view and displays a notice until the project recovers.
Cited papers
Cached papers are read from ~/.cache/astra/papers, retaining access to existing
ASTRA caches. Set LIGHTCONE_PAPER_CACHE_DIR in the Jupyter server environment to
use another location; ASTRA_PAPER_CACHE_DIR remains supported as a fallback.
On JupyterHub this configuration belongs to each single-user server.
Missing PDFs are downloaded only when you choose Fetch paper, using
astra-tools==0.2.17. Cache lookup and download failures do not prevent viewing
the analysis. Cached PDFs are served from the authenticated Jupyter origin and
support continuous scrolling, zoom, and navigation to cited passages.
Appearance
Inventory components use the shared Lightcone brand and follow JupyterLab's light/dark theme without changing the surrounding shell.
The brand adapter from @lightcone-research/brand supplies every ASTRA UI
token; the extension does not redefine any of them from JupyterLab settings.
JupyterLab styles plain button, a, select, code and pre elements
throughout its shell, which would otherwise override the shared components'
layered styles (style/base.css explains the cascade). Inside the inventory
those elements are handed back to the ASTRA UI and brand layers, so they render
exactly as the shared components define them.
Troubleshoot
Check that both extensions are enabled:
jupyter server extension list
jupyter labextension list
After installing a new extension, restart JupyterLab. During development, build after TypeScript changes and refresh the browser; restart the server after Python changes.
Uninstall
pip uninstall jupyterlab-lightcone
Contributing
See CONTRIBUTING.md for the template's development, testing, and packaging workflow, and AGENTS.md for repository conventions.
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 jupyterlab_lightcone-0.0.2.tar.gz.
File metadata
- Download URL: jupyterlab_lightcone-0.0.2.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49de374d0743b0170f0465263d3d0b876e9ab55be3321cd09389460f9ab5b0b0
|
|
| MD5 |
666b19415e7a41d09eabf0af6eebcfc3
|
|
| BLAKE2b-256 |
308cd33d01def54e91fd9f576957bdddcc812b226d0b552dffb95cfa8ae57cd0
|
Provenance
The following attestation bundles were made for jupyterlab_lightcone-0.0.2.tar.gz:
Publisher:
publish-release.yml on LightconeResearch/jupyterlab-lightcone
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jupyterlab_lightcone-0.0.2.tar.gz -
Subject digest:
49de374d0743b0170f0465263d3d0b876e9ab55be3321cd09389460f9ab5b0b0 - Sigstore transparency entry: 2755305756
- Sigstore integration time:
-
Permalink:
LightconeResearch/jupyterlab-lightcone@f5bde17903a9abae70d1f75d3738aac27fa38cea -
Branch / Tag:
refs/tags/v0.0.2 - Owner: https://github.com/LightconeResearch
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-release.yml@f5bde17903a9abae70d1f75d3738aac27fa38cea -
Trigger Event:
release
-
Statement type:
File details
Details for the file jupyterlab_lightcone-0.0.2-py3-none-any.whl.
File metadata
- Download URL: jupyterlab_lightcone-0.0.2-py3-none-any.whl
- Upload date:
- Size: 2.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c12f8dd9a191a57fabc7c87c32e3ffe5dff0d6afeac35b9ec8399f5f08813796
|
|
| MD5 |
ed651f45f19991e16761b0d01c9d705b
|
|
| BLAKE2b-256 |
b8758857ce89389f8b2d440168d0dd8280901e6c910c44214b0c3df9823954bc
|
Provenance
The following attestation bundles were made for jupyterlab_lightcone-0.0.2-py3-none-any.whl:
Publisher:
publish-release.yml on LightconeResearch/jupyterlab-lightcone
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jupyterlab_lightcone-0.0.2-py3-none-any.whl -
Subject digest:
c12f8dd9a191a57fabc7c87c32e3ffe5dff0d6afeac35b9ec8399f5f08813796 - Sigstore transparency entry: 2755305757
- Sigstore integration time:
-
Permalink:
LightconeResearch/jupyterlab-lightcone@f5bde17903a9abae70d1f75d3738aac27fa38cea -
Branch / Tag:
refs/tags/v0.0.2 - Owner: https://github.com/LightconeResearch
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-release.yml@f5bde17903a9abae70d1f75d3738aac27fa38cea -
Trigger Event:
release
-
Statement type: