Application components that do not depend on the widget library
I maintainer di solito rispondono entro 1 giorno
@SimonHeybrock ci sta già lavorando.
Dal 5/11/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Panel is what the prototype uses, and applications may end up on another widget library. Every GUI needs the same things, such as a list of the outputs computed so far, so those parts should not depend on the widget library, and the Panel layer should be thin.
| Component | Where it is today | What does not need a widget library |
|---|---|---|
| What a request may name, record and output labels | panel/listing.py |
all of it; it imports no Panel, but lives in the Panel package |
| List of outputs | Outputs.refresh |
the rows; they are built next to the table |
| Details of an output | Outputs._describe, records.describe |
the text and what it reads |
| Form from a spec | panel/form.py, 843 lines |
the tree of fields, collecting values, and placing errors; _Scalar, _Group, _Record, and the rest hold these in one class with their widgets |
| Provenance graph | panel/graph.py |
the nodes, edges, and layout |
| Outcome of a submission | App.submit, App.poll |
the messages, and what happens when a record finishes (#148) |
Approach
Extract these as the SANS application (#24) needs them, not ahead of it. That application and the generic App are the two users that show what is generic. Parts of Listing stand in for client calls that are still undecided (#95), so they may move into the client rather than into this layer.
Done when
The tests of the extracted components run without importing Panel, and what remains in ess.apps.panel only places widgets and connects their events.
Related
What a plot function returns, so that plots do not bind an application to one library, is in #149.
- Lingua principale
- Python
- Stelle
- 0
- Fork
- 1
- Merge medio
- 9h 40m
- PR unite (30g)
- 60
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di scipp/essapps
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
A number that is not finite is stored as None at a field that accepts NoneForse già presa @jeevanabhi-r l’ha presa 2 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
scipp/essapps#140 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
scipp/essapps#152 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di scipp/essapps
Issue simili
-
binding:python bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
The Browser tab fails with a Wayland error when Open Terminal runs from a Wayland desktop sessionAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
open-webui/open-terminal#210 ·
-
triage/confirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
agentscope-ai/agentscope#3807 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
NousResearch/hermes-agent#150542 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
triton-inference-server/server#9069 ·
I maintainer di solito rispondono entro 1 giorno