Skip to main content

Data handling - Python SDK

All data sent to and from the Temporal Service passes through the Data Converter pipeline. The pipeline has three layers that handle different concerns:

User code → PayloadConverter → PayloadCodec → ExternalStorage → Temporal Service
PayloadConverterPayloadCodecExternalStorage
PurposeSerialize types to bytesTransform encoded payloads (encrypt, compress)Offload large payloads to external store
Must be deterministicYesNoNo
DefaultJSON serializationNone (passthrough)None (passthrough)

By default, Temporal uses JSON serialization with no codec and no external storage. You only need to customize these layers when your application requires non-JSON types, encryption, or payload offloading.

For a deeper conceptual explanation, see the Data Conversion encyclopedia.