plotly / plotly/dash

Let the unspecified arguments of dict output of a callback function default to `dash.no_update` (or other user defined default)

Offen
#1,983 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

feature P3
Vorherrschende Sprache
Python
Sterne
24.4k
Forks
2.3k
Ø Merge
2 T. 7 Std.
Gemergte PRs (30 T.)
13

Beschreibung

If you use named arguments for the output a callback function, as in

@app.callback(
    output=dict(x=Output(...), y=Output(...)),
    inputs=dict(a=Input(...), b=Input(...)),
    state=dict(c=State(...))
)
def callback(b, c, a):
    return dict(x=a + b, y=b + c)

you have to specify all the arguments in the returning dict. But since named argument are useful especially when you have several output arguments, and if, like I experienced, you need to update only one or few arguments in the various return cases, it would be much more comfortable to return a dict specifying only those few arguments, instead of returning a long dict mostly made of dash.no_update.

I think the code would be shorter and clearer if the returning dict could default the unspecified named arguments to dash.no_update or some user defined value, like in defaultdict.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit nachzuverfolgen, wie dict-Ausgaben von callback functions validiert und normalisiert werden. Vergleiche das bestehende Verhalten von dash.no_update mit weggelassenen Schlüsseln und dem vorgeschlagenen benutzerdefinierten Default und füge anschließend gezielte Tests für partielle Rückgaben und die Behandlung des Defaults hinzu. Die Aufgabe ist erledigt, wenn nicht spezifizierte Ausgaben konsistent den ausgewählten Default erhalten, ohne explizit zurückgegebene Werte zu ändern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
backend-api-design
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.