api request: asset blob id to asset/dandiset/version
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia tracciando come DandiAPIClient espone get_dandisets(), get_versions() e get_assets(), e dove sono definite le richieste API. Confronta l’endpoint proposto assets/blob/{blob_id}/ con il flusso esistente dei metadati degli asset. Il lavoro è completato quando un ID blob restituisce i metadati del relativo asset, oltre a ogni dandiset e versione che lo contengono, senza scansionare tutti i dandiset.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I need to build a map from asset blob id to dandiset(s). Currently, I am doing this by:
client = DandiAPIClient()
with shelve.open("asset_blob_to_dandiset") as db:
for dandiset in tqdm(list(client.get_dandisets()), position=1):
for version in tqdm(list(dandiset.get_versions()), position=2, leave=False):
dandiset = client.get_dandiset(dandiset_id=dandiset.identifier, version_id=version.identifier)
for asset in tqdm(list(dandiset.get_assets()), position=3, leave=False):
blob_id = asset.zarr if ".zarr" in pathlib.Path(asset.path).suffixes else asset.blob
db[blob_id] = dandiset.identifier
This works, but feels terrible inefficient because I really only need the map for a subset of assets, but since I don't know which dandisets they belong to I am forced to iterate over all of them in order to create a reverse map. It would be great if I could have an endpoint like assets/blob/{blob_id}/ which would return asset metadata. Ideally, this would include the ids of each dandiset that contains this asset and versions within each of those dandisets that contain this asset.
- Lingua principale
- Python
- Stelle
- 29
- Fork
- 37
- Merge medio
- 1g 5h
- PR unite (30g)
- 20
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 dandi/dandi-cli
-
pynwb metadata: get neurodata typesForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
`metadata.nwb.get_metadata()` validates the whole BIDS dataset for every NWB file, then discards the resultForse già presa @CodyCBakerPhD l’ha presa 2 giorni fa. ApertaBIDS performance
dandi/dandi-cli#1962 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
BIDS bug
Difficoltà 3/5 Mezza giornata Idoneità per principianti 45/100
dandi/dandi-cli#1961 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
dandi/dandi-cli#1920 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di dandi/dandi-cli
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
aws-samples/sample-per-model-bedrock#261 ·
I maintainer di solito rispondono entro 1 giorno
-
[UI/Accessibility] Low contrast text visibility in country selection dropdown on settings pageAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
pwncollege/dojo#1188 ·
I maintainer di solito rispondono entro 1 giorno
-
bug launcher packaging
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
tenstorrent/tt-studio#1426 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
python-attrs/cattrs#796 ·
I maintainer di solito rispondono entro 1 giorno