Decorator to upgrade methods to cloudpickle
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 32/100
Línea de trabajo
Comienza con el punto de entrada solicitado, from cloudpickle import inline, y revisa el comportamiento de ejemplo de InlineWrapper en torno a executor.submit para funciones definidas localmente. Se considera terminado cuando el decorador propuesto proporciona ese uso y conserva el comportamiento normal como callable, con el comportamiento de serialización verificado mediante pruebas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
This is a suggestion/feature request. The idea is to provide a decorator to upgrade any callable to use cloudpickle by default. This comes handy for example to use a locally defined function via any standard executor.
The syntax would be something like:
from cloudpickle import inline
@inline
def myfunc(...):
...
executor.submit(myfunc)
Below is some sample code to achieve the equivalent:
import pickle
import cloudpickle
class InlineWrapper:
"""
Function wrapper with __reduce__ based on cloudpickle.dumps
Makes the callable pickleable even if defined in __main__
"""
def __init__(self, func):
self.func = func
def __reduce__(self):
data = cloudpickle.dumps(self.func)
return pickle.loads, (data,)
def __call__(self, *args, **kwargs):
return self.func(*args, **kwargs)
def inline(func):
""" Decorator for InlineWrapper """
return InlineWrapper(func)
- Lenguaje dominante
- Python
- Estrellas
- 1.9k
- Forks
- 197
- Merge medio
- 1 d 10 h
- PR fusionados (30 d)
- 1
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. 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 cloudpipe/cloudpickle
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
cloudpipe/cloudpickle#593 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
cloudpipe/cloudpickle#595 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
cloudpipe/cloudpickle#592 · 2 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
cloudpipe/cloudpickle#589 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
cloudpipe/cloudpickle#587 ·
Todos los issues de cloudpipe/cloudpickle
Issues similares
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
vllm-project/vllm-metal#822 ·
Los mantenedores suelen responder en 1 día
-
vector-store
Dificultad 1/5 1-3 horas Aptitud para principiantes 90/100
mem0ai/mem0#7461 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[Bug]: chunk_span_bounds and _validated_chunk_spans reject Pydantic models ChunkSpan and AudioFileAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
BasedHardware/omi#19047 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día