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:

The Flow of Data through a Data Converter

The Flow of Data through a Data Converter

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
DefaultJSON serializationNone (passthrough)None (all payloads are stored in Workflow History)

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