AllenNeuralDynamics / AllenNeuralDynamics/biodata-schema

Lists vs Dictionaries when using `List[Model]`

Abierto
#57 13 comentarios 0 reacciones 1 asignado Reclamado por @dbirman Ver en GitHub
question
Lenguaje dominante
Python
Estrellas
0
Forks
0
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

A common pattern in the current schema is to use a `List` of generic objects to keep track of such objects. For instance, cameras can be expressed as follows:

https://github.com/AllenNeuralDynamics/aind-data-schema/blob/c8aca0341d86efc82aa32ba0255b1f66287a4a3c/src/aind_data_schema/rig.py#L64C1

While easy to use, `List`s make grabbing a specific device somewhat difficult without parsing all objects since they must be indexed by the order (which can easily change across days) or the experimenter must generate somesort of keyed collection type with an unique key (e.g. device name).

I wonder if rather than using generic unsorted lists, it would be beneficial to simply use some sort of hashed dictionary structure in the form of `Dict[str, CameraAssembly]` instead of `List[CameraAssembly]`. This would make it much easier to access the objects after deserialization.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.