`box_from_file` returns `ruamel.yaml.scalarfloat.ScalarFloat` instead of `float` for floating-point values
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Inizia dal punto di ingresso box_from_file e riproduci la MRE YAML con il valore Float, quindi traccia come vengono conservati i valori scalari di ruamel YAML. Il lavoro è completato quando il valore caricato e il risultato di Box.to_dict() usano il tipo float incorporato; aggiungi o aggiorna un test di regressione se la struttura dei test del repository identifica la posizione appropriata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
When I load a Box from a YAML file, the floating-pont values are represented as a type from the ruamel YAML library, and not cast to the builtin float type. This resulted in a difficult bug (as without explicitly calling type() on it, it is rendered visually as a float) where these are being improperly serialised when interacting with another library, as it doesn't know how to handle them. This happens even if I convert the box to a builtin dictionary with Box.to_dict().
MRE:
Float: 0.1
import box
float = box.box_from_file('Float.yaml')
print( float.Float )
print(type(float.Float))
outputs
0.1
<class 'ruamel.yaml.scalarfloat.ScalarFloat'>
I assume it would be more appropriate for all types from YAML/JSON/etc that can be represented as builtin to be converted as part of the process.
I would look into this further, but my debugger seems to refuse to step into the function or hit any manually-added breakpoints - I see .pyi and C wrappers, so looks like it might be implemented internally in C.
Thanks
- 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 142 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
-
documentation good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
drevendev/HungryCrab#273 ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
drevendev/BeautifulRepo#19 ·
I maintainer di solito rispondono entro 2 giorni
-
Moonshot: Kimi K3 always sends `reasoning_effort="max"`, though the API now accepts `low` and `high`Apertaaccepted
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
UKGovernmentBEIS/inspect_ai#5939 ·
I maintainer di solito rispondono entro 1 giorno
-
bug linux
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Fill paper for Screen2WordsApertaarea:data data-quality
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
reacher-z/Awesome-CUA#1468 ·
I maintainer di solito rispondono entro 1 giorno