Camel killer box without data mangling
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
Inizia riproducendo l’esempio camel_killer_box nell’issue e leggi la documentazione collegata di Camel Killer Box. Traccia il modo in cui la costruzione di Box, l’assegnazione degli attributi e to_dict() gestiscono i nomi delle chiavi; il lavoro è completato quando i dati modificati possono ancora essere esportati con le chiavi camelCase originali, mentre l’accesso agli attributi in snake_case rimane disponibile.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The camel killer box is a great feature. I work a lot with data structures from Kubernetes which uses camel case everywhere, and it's really nice to be able to access them via snake case attributes.
>>> from box import Box
>>> data = Box({"loadBalancer": "foo"}, camel_killer_box=True)
>>> data.load_balancer
'foo'
I need to be able to modify these data structures and then send them back to the Kubernetes API. Unfortunately because Box defaults to destructively updating the underlying dictionary to use snake case there is no way for me to get a data structure out that the Kubernetes API will understand.
>>> data.load_balancer = "bar"
>>> data.to_dict()
{'load_balancer': 'bar'} # Kubernetes wants {'loadBalancer': 'bar'}
Would it be possible to add some way to round trip a dict through a Box without mangling it, and still get the benefits of accessing snake case attributes?
- Lingua principale
- Python
- Stelle
- 2.8k
- Fork
- 145
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
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 cdgriffith/Box
-
subclass of `Box` does not unpickle correctlyForse già presa @koriyoshi2041 l’ha presa 141 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
cdgriffith/Box#308 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
cdgriffith/Box#307 · 1 commento ·
-
Dotted keys read from YAML are lost with box_dots / default_boxForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
cdgriffith/Box#305 ·
-
[Bug] Camel killer box and box dots gives unexpected behaviourForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 30/100
cdgriffith/Box#300 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
cdgriffith/Box#298 ·
Tutte le issue di cdgriffith/Box
Issue simili
-
bug needs-triage priority:medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
yeongseon/azure-functions-logging-python#583 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation needs-triage priority:medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
yeongseon/azure-functions-validation-python#546 ·
I maintainer di solito rispondono entro 1 giorno
-
PHP workflow streaming requests buffer the full SSE responseForse già presa @Winoren l’ha presa oggi. Apertareview: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
langgenius/dify#44270 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
P4: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
jeffknupp/association#523 ·
-
bug help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
DarkStarSystems/pcons#229 ·
I maintainer di solito rispondono entro 1 giorno