api request: asset blob id to asset/dandiset/version
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
Empieza rastreando cómo DandiAPIClient expone get_dandisets(), get_versions() y get_assets(), y dónde se definen las solicitudes de API. Compara el endpoint propuesto assets/blob/{blob_id}/ con el flujo existente de metadatos de assets. Se considera terminado cuando un ID de blob devuelve sus metadatos de asset, además de cada dandiset y versión que lo contienen, sin recorrer todos los dandisets.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Python
- Estrellas
- 29
- Forks
- 37
- Merge medio
- 1 d 5 h
- PR fusionados (30 d)
- 20
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de dandi/dandi-cli
-
pynwb metadata: get neurodata typesQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
`metadata.nwb.get_metadata()` validates the whole BIDS dataset for every NWB file, then discards the resultPosiblemente ocupada @CodyCBakerPhD la tomó hace 3 días. AbiertoBIDS performance
dandi/dandi-cli#1962 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
BIDS bug
Dificultad 3/5 Medio día Aptitud para principiantes 45/100
dandi/dandi-cli#1961 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
dandi/dandi-cli#1920 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 64/100
Los mantenedores suelen responder en 1 día
Todos los issues de dandi/dandi-cli
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
lidofinance/diffyscan#239 ·
Los mantenedores suelen responder en 1 día
-
docs: the dev-setup table and AGENTS.md name the reviewed_by guard that CI's Changelog job runsAbiertoarea: tools documentation good first issue ready for a contributor
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
eyalgolan/statecraft-israel#873 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
GET rooms API returns 500 due to nonexistent Room.is_active attributePosiblemente ocupada @Mars-60 la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Add cover art to song rowsAbiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 5 días
-
Harmony OPeNDAP SubSetter (HOSS) Geographic production rssmif16d 7 XYZ_PROV
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
nasa/harmony-autotester#341 ·