Dataclass for "VirtualZarrStore"
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- python
- Ambito
- backend-api-design
Direzione di ricerca
Inizia esaminando come kerchunk passa e serializza attualmente i suoi dizionari di riferimenti annidati, quindi leggi le discussioni collegate sullo Zarr Object Model e su ZEP006. Definisci l’ambito e i requisiti di compatibilità all’indietro per un VirtualZarrStore prima dell’implementazione; il lavoro sarà considerato completato quando saranno stati concordati una rappresentazione strutturata, un approccio di serializzazione e un percorso di migrazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
Kerchunk user code currently passes around an obscure multiply-nested "reference dict" object. This is hard to read, interrogate, validate, or reason about.
Suggestion
Instead create a new VirtualZarrStore dataclass, which contains all the same information that is currently stored in the reference dict but in a more structured manner. This would then be the principle object that gets passed around between user calls to kerchunk API.
Advantages
- Easier to read and interrogate than multiply-nested dicts
- Allows direct validation
- Serializes in obvious ways (via
.to_json,to_parquet,.to_dictor similar.) - Easier to write tests, by using fixtures to generate
VirtualZarrStoreobjects - Concentrates concerns over changes/enhancements to Zarr Spec in one class
- A v2->v3 converter could act directly on these objects
- Possibly easier to understand whenever anyone reimplements kerchunk in other languages?
Implementation ideas
- Implementation could subclass Zarr Object Model classes (where
.to_jsonis analogous to the ZOM's.serialize), which then would be solidified as the recommended abstract representation once ZEP006 is accepted - Can't use a bare ZOM class because we need to add some extra attributes for byte ranges etc. However information on where to find chunks is essentially a "Chunk Manifest", a generalizable idea that @jhamman has also been working on (for a nascent ZEP007??)
- Attributes of this dataclass need to always be serializable, so the
VirtualZarrStoreshould be basically a json schema (see #373)
Questions
- Is it possible to do this in a broadly backwards-compatible manner?
- Lingua principale
- Python
- Stelle
- 367
- Fork
- 96
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 fsspec/kerchunk
-
add autodask exampleAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
CI breakage with new zarrAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Tutte le issue di fsspec/kerchunk
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
didi/helixharness#18 ·
-
[MOVIE]: Airport '77 (1977)Apertarequest-theme
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
LizardByte/ThemerrDB#9883 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
NousResearch/hermes-agent#149885 ·
I maintainer di solito rispondono entro 1 giorno
-
Set cache_ok = True on GUID TypeDecorator to enable SQLAlchemy query cachingForse già presa @patelshivani2283-lab l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
fedora-infra/anitya#2157 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Project-MONAI/MONAI#9258 ·
I maintainer di solito rispondono entro 3 giorni