Caching a box resuts in read error
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia riproducendo la Python MWE fornita con Box 7.1.1 e joblib 1.3.2, quindi esamina l’implementazione di Box intorno a box/box.py:592 e il relativo comportamento di serializzazione. Il lavoro è completato quando una Box caricata con joblib conserva box_dots=True, così che l’accesso alle chiavi con punti funzioni di nuovo, e quando esiste un test di regressione per il fallimento mostrato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I have a use case where I want to cache boxes and read them back again. Below is a MWE using joblib for caching but I also found it doesn't work Flask caching. I think some metadata is lost when caching the box, so the retrieved box somehow is not a box with box_dots = True.
Code
import box
print(box.__version__)
from box import Box
import joblib
print(joblib.__version__)
b2 = Box(
{
"l1": {
"time_range_selected_utc": {
"left": "2023-03-01 10:00:00",
"right": "2023-06-01 10:00:00",
}
}
},
box_dots=True,
conversion_box=False,
frozen_box=False,
)
print(b2.l1.time_range_selected_utc.left)
print(b2["l1.time_range_selected_utc.right"])
print(b2["l1.time_range_selected_utc.left"])
joblib.dump(b2, "boxdump.joblib")
b3 = joblib.load("boxdump.joblib")
print(b3.l1.time_range_selected_utc.left)
print(b3["l1.time_range_selected_utc.right"]) # this will fail
print(b3["l1.time_range_selected_utc.left"])
Output
7.1.1
1.3.2
2023-03-01 10:00:00
2023-06-01 10:00:00
2023-03-01 10:00:00
2023-03-01 10:00:00
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File [~/opt/miniconda3/envs/om3/lib/python3.9/site-packages/box/box.py:592](https://file+.vscode-resource.vscode-cdn.net/Users/sriki/Documents/cpnet/OmegaMuller/~/opt/miniconda3/envs/om3/lib/python3.9/site-packages/box/box.py:592), in box.box.Box.__getitem__()
KeyError: 'l1.time_range_selected_utc.right'
During handling of the above exception, another exception occurred:
KeyError Traceback (most recent call last)
File [~/opt/miniconda3/envs/om3/lib/python3.9/site-packages/box/box.py:592](https://file+.vscode-resource.vscode-cdn.net/Users/sriki/Documents/cpnet/OmegaMuller/~/opt/miniconda3/envs/om3/lib/python3.9/site-packages/box/box.py:592), in box.box.Box.__getitem__()
KeyError: 'time_range_selected_utc.right'
...
- 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 144 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
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
selimfirat/pysad#379 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
open-webui/open-webui#32805 ·
I maintainer di solito rispondono entro 1 giorno
-
fix: [bug description] HTML CVE metric table shows only the last CVE for each productForse già presa @Chris-wh233 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
ossf/cve-bin-tool#5976 ·
I maintainer di solito rispondono entro 1 giorno
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
gke-labs/kube-agents#3615 ·
I maintainer di solito rispondono entro 1 giorno
-
deferred
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno