Allow arbitrary `Mapping` types when setting properties, rather than only `dict`
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 18.8k
- Forks
- 2.8k
- Ø Merge
- 16 Std. 26 Min.
- Gemergte PRs (30 T.)
- 21
Beschreibung
Currently, it seems that only dict is allowed when setting properties. It would be better if an arbitrary Mapping type were allowed, since that grants the user the flexibility to control properties with alternative data structures such as a ChainMap.
As far as I can tell, this could be done just by changing the validate_coerce() logic to check isinstance(v, Mapping) instead of isinstance(v, dict), e.g. on this line.
Example
This raises a ValueError:
from collections import ChainMap
import plotly.graph_objects as go
layout = ChainMap(
dict(width=1000),
dict(width=500, height=500),
)
go.Figure(layout=layout)
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne in packages/python/plotly/_plotly_utils/basevalidators.py bei der in der Issue referenzierten validate_coerce()-Logik. Prüfe, wie das Beispiel Figure(layout=ChainMap(...)) validiert wird, und verifiziere anschließend, dass beliebige Mapping-Eingaben akzeptiert werden, ohne das bestehende dict-Verhalten zu ändern.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- data-visualization
- Issue-Typ
- Feature
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 52/100