C++ 코드에서 STL과 비슷한 문법으로 JSON을 파싱하고 생성·조작·직렬화할 수 있는 헤더 전용 C++11 라이브러리입니다.
cloudpipe/cloudpickle
Python의 pickle을 확장해 람다와 대화형으로 정의한 함수 및 클래스를 직렬화하고, 원격 워커로 코드를 보냅니다.
- 스타
- 1,947
- 포크
- 212
- 열린 이슈
- 124
- 마지막 커밋
- 지난달
어떤 프로젝트인가요?
cloudpickle은 표준 pickle 모듈이 처리하지 못하는 Python 구문을 지원하는 직렬화 라이브러리입니다. 스크립트, 셸 또는 Jupyter notebook에서 정의한 람다 함수와 __main__ 모듈의 함수 및 클래스를 직렬화할 수 있습니다.
주요 사용 사례는 Python 코드를 네트워크로 전송해 데이터와 가까운 원격 호스트에서 실행하는 클러스터 컴퓨팅입니다. 함수를 모듈에 대한 참조로 피클링하는 대신 값으로 직렬화할 수 있으며, 버전 2.0.0부터는 개발자가 모듈을 값 기반 직렬화 대상으로 명시적으로 등록해 워커에 해당 모듈을 설치하지 않아도 되도록 할 수 있습니다.
직렬화된 데이터는 동일한 Python 버전 간에만 주고받을 수 있으며, 장기 보관은 지원하지 않습니다. 역직렬화 과정에서 임의의 코드가 실행될 수 있으므로 신뢰할 수 있는 출처의 데이터만 불러와야 합니다.
핵심 기능
- 01람다 함수와 대화형으로 정의한 함수 및 클래스를 직렬화합니다.
- 02함수와 클래스를 참조가 아닌 값으로 피클링할 수 있습니다.
- 03register_pickle_by_value를 통해 모듈을 값 기반 직렬화 대상으로 등록할 수 있습니다.
- 04dumps와 loads를 사용해 표준 pickle 인터페이스를 확장된 형태로 그대로 사용할 수 있습니다.
활용 사례
- 분산 컴퓨팅 프레임워크에서 원격 워커로 Python 함수를 전송합니다.
- 병렬 처리 작업에 람다나 notebook에서 정의한 함수를 전달합니다.
- 재설치 없이 워커의 코드를 업데이트해야 하는 모듈을 개발합니다.
빠른 시작
- 1
PyPI에서 cloudpickle을 설치합니다
pip install cloudpickle
사용 전 알아둘 점
- 완전히 동일한 Python 버전 간에만 객체를 전송할 수 있습니다.
- 장기적인 객체 저장은 지원하지 않습니다.
- 피클 데이터를 역직렬화하면 임의의 코드가 실행될 수 있으므로 신뢰할 수 있는 출처의 데이터만 불러오세요.
- 가져올 수 있는 모듈의 값 기반 직렬화는 실험적인 기능입니다.
토픽
자주 묻는 질문
- cloudpickle은(는) 무엇인가요?
- Python의 pickle을 확장해 람다와 대화형으로 정의한 함수 및 클래스를 직렬화하고, 원격 워커로 코드를 보냅니다. cloudpickle은 표준 pickle 모듈이 처리하지 못하는 Python 구문을 지원하는 직렬화 라이브러리입니다. 스크립트, 셸 또는 Jupyter notebook에서 정의한 람다 함수와 __main__ 모듈의 함수 및 클래스를 직렬화할 수 있습니다.
- cloudpickle은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- cloudpickle은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- cloudpickle은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. cloudpickle의 마지막 커밋은 2026년 9월 10일입니다.
- cloudpickle은(는) 어디에 사용할 수 있나요?
- 분산 컴퓨팅 프레임워크에서 원격 워커로 Python 함수를 전송합니다. 병렬 처리 작업에 람다나 notebook에서 정의한 함수를 전달합니다. 재설치 없이 워커의 코드를 업데이트해야 하는 모듈을 개발합니다.
- cloudpickle는 어떻게 설치하나요?
- PyPI에서 cloudpickle을 설치합니다: pip install cloudpickle
- cloudpickle은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/cloudpipe/cloudpickle
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
하나의 .skir 파일에서 TypeScript, Python, Java, Go, C++ 등 다양한 언어용 타입 안전 데이터 모델과 RPC 코드를 생성하는 선언형 스키마 언어입니다.
RayCluster, RayJob, RayService 리소스를 통해 Ray 애플리케이션을 배포하고 관리하는 Kubernetes 오퍼레이터입니다.
요청을 보내는 누구나 자원봉사자의 GPU로 AI 이미지와 텍스트를 생성할 수 있는 무료 커뮤니티 운영 분산 서비스입니다.
대용량 데이터셋을 네트워크로 옮기지 않고 데이터가 있는 곳에서 컴퓨팅 작업을 실행하는 오픈소스 프레임워크입니다.
직렬화, 인증 정책, 뷰셋, 브라우저에서 탐색 가능한 API를 제공하는 Django 기반 Web API 구축 툴킷입니다.