Repolode
cloudpipe

cloudpipe/cloudpickle

Расширяет pickle в Python, позволяя сериализовать лямбда-функции, функции и классы, определённые в интерактивной среде, для отправки кода удалённым воркерам.

Звёзды
1,947
Форки
212
Открытые issues
124
Последний коммит
в прошлом месяце

Что это?

cloudpickle — библиотека сериализации для Python, которая умеет обрабатывать конструкции, с которыми не справляется стандартный модуль pickle. Она сериализует лямбда-функции, а также функции и классы, определённые в модуле __main__, например в скрипте, оболочке или ноутбуке Jupyter.

Основной сценарий использования — кластерные вычисления, при которых код Python отправляют по сети для выполнения на удалённых хостах, часто расположенных рядом с данными. Вместо того чтобы сериализовать функции по ссылке на их модуль, cloudpickle может сериализовать их по значению. Начиная с версии 2.0.0 разработчики также могут явно регистрировать модули для сериализации по значению, чтобы воркерам не требовалась их установка.

Сериализованными данными можно обмениваться только между одинаковыми версиями Python; долговременное хранение не поддерживается. Поскольку десериализация может выполнять произвольный код, загружайте данные только из доверенных источников.

Ключевые возможности

  • 01Сериализует лямбда-функции, а также функции и классы, определённые в интерактивной среде.
  • 02Поддерживает сериализацию функций и классов по значению, а не по ссылке.
  • 03Позволяет регистрировать модули для сериализации по значению с помощью register_pickle_by_value.
  • 04Работает как расширение стандартного интерфейса pickle и поддерживает dumps и loads.

Сценарии использования

  • Отправка функций Python удалённым воркерам в распределённых вычислительных фреймворках.
  • Передача лямбда-функций или функций, определённых в ноутбуке, в задачу параллельной обработки.
  • Разработка модулей, код которых нужно обновлять на воркерах без повторной установки.

Быстрый старт

  1. 1

    Установите cloudpickle из PyPI

    pip install cloudpickle

Что важно знать

  • Передача объектов поддерживается только между средами с абсолютно одинаковой версией Python.
  • Не поддерживается долговременное хранение объектов.
  • Загружайте данные pickle только из доверенных источников, поскольку десериализация может выполнить произвольный код.
  • Сериализация импортируемых модулей по значению является экспериментальной.

Темы

Частые вопросы

Что такое cloudpickle?
Расширяет pickle в Python, позволяя сериализовать лямбда-функции, функции и классы, определённые в интерактивной среде, для отправки кода удалённым воркерам. cloudpickle — библиотека сериализации для Python, которая умеет обрабатывать конструкции, с которыми не справляется стандартный модуль pickle. Она сериализует лямбда-функции, а также функции и классы, определённые в модуле __main__, например в скрипте, оболочке или ноутбуке Jupyter.
cloudpickle можно использовать бесплатно? Какая у него лицензия?
cloudpickle распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
cloudpickle всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в cloudpickle — 10 сент. 2026 г..
Для чего можно использовать cloudpickle?
Отправка функций Python удалённым воркерам в распределённых вычислительных фреймворках. Передача лямбда-функций или функций, определённых в ноутбуке, в задачу параллельной обработки. Разработка модулей, код которых нужно обновлять на воркерах без повторной установки.
Как установить cloudpickle?
Установите cloudpickle из PyPI: pip install cloudpickle
Где скачать cloudpickle?
Исходный код и инструкции по установке — на GitHub: https://github.com/cloudpipe/cloudpickle

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты