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

Decorator to upgrade methods to cloudpickle

Abierto
#434 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

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

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

  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 cloudpipe/cloudpickle

Todos los issues de cloudpipe/cloudpickle

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.