Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Allow HasName object to be added to inject of plans

Abierto
#1,462 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
52/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
python

Línea de trabajo

Empieza por rastrear cómo el inject de BlueAPI resuelve los objetos Device dentro de los planes y, después, inspecciona el protocolo HasName y el manejo actual de Device. Se considerará terminado cuando se puedan inyectar en los planes objetos HasName con nombre, como ConfigClient, sin envolverlos como Devices, mientras la inyección existente de Device siga funcionando.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

c: context needs investigation

Currently, MX are needing access to objects inside plans which are not devices, for example the daq-config-server ConfigClient. They are currently achieving this via a mix of dependency injection and global states. See https://github.com/DiamondLightSource/dodal/issues/1997 for details.

Currently BlueAPI only supports the concept of a Device from ophyd-async. I originally suggested wrapping the ConfigClient with Device, but it was rightly pointed out this isn't a device (https://github.com/DiamondLightSource/dodal/pull/1798#discussion_r3008554895).

My suggestion is to allow any objects with HasName Bluesky protocol can be used with inject so that any object with a name can be found within plans, allowing for much more flexibility with BlueAPI as we have clear distinction on objects which are devices and not devices and still accessible inside plans.

Lenguaje dominante
Python
Estrellas
13
Forks
14
Merge medio
1 d 18 h
PR fusionados (30 d)
17

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de DiamondLightSource/blueapi

Todos los issues de DiamondLightSource/blueapi

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.