Inclusión de argumentos de palabras clave (kwargs) en gráficos Dask personalizados

Estoy construyendo un gráfico personalizado para una operación con Dask. Estoy familiarizado con la forma de pasar argumentos a una función en el gráfico de Dask y he leído en los documentos . Sin embargo todavía parecen faltar algo.

Una de las funciones utilizadas en el gráfico de Dask toma argumentos de palabras clave. Aunque estoy confundido en cuanto a cómo se le pueden pasar los argumentos de palabras clave. Algunos de estos argumentos de palabras clave representan objetos Dask, por lo que deben estar explícitamente en el gráfico (es decir, functools.partial no funcionará). Puede ver las siguientes opciones.

  1. Intente pasar cualquier argumento de palabras clave en el orden posicional correcto. (no funcionará para **kwargs generics o argumentos de palabra clave solamente)
  2. Escriba un envoltorio que convierta los argumentos posicionales en argumentos de palabras clave y úselo en el gráfico. (Funciona bien, pero tiene algunos gastos generales)
  3. ¿Incluirlos directamente en la gráfica de alguna manera? (ideal, pero no está claro cómo)

¿Alguna idea sobre la mejor manera de hacer esto?

Una solución común es usar la función de apply

 from dask.compatibility import apply task = (apply, func, args, kwargs) # func(*args, **kwargs)