Skip to main content

Data handling - Python SDK

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

Application data → PayloadConverter → PayloadCodec → ExternalStorage → Temporal Service

Of these three layers, only the PayloadConverter is required. Temporal uses a default PayloadConverter that handles JSON serialization. The PayloadCodec and ExternalStorage layers are optional. You only need to customize these layers when your application requires non-JSON types, encryption, or payload offloading.

PayloadConverterPayloadCodecExternalStorage
PurposeSerialize application data to bytesTransform encoded payloads (encrypt, compress)Offload large payloads to external store
Must be deterministicYesNoNo
DefaultJSON serializationNone (passthrough)None (passthrough)

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