Review a generated plugin encoder

from Single-dispatch generic functions
Python 3.14 advanced 8 min 4 issues to find

Review this generated encoder before it is used by a high-volume plugin export.

Encode text, integer lists, and plugin payloads through one extensible function while keeping dispatch predictable and efficient.

Python
from collections.abc import Sequence
from functools import singledispatch

@singledispatch
def encode(value):
    return str(value)

@encode.register(Sequence)
def encode_sequence(value):
    return [encode(item) for item in value]

@encode.register
def encode_numbers(value: list[int]):
    return ",".join(str(item) for item in value)

def install_plugin(plugin):
    @encode.register(plugin.payload_type)
    def encode_plugin(value):
        return plugin.dump(value)
    return encode_plugin

def export(records):
    return [encode(record) for record in records]

generated code is illustrative, not from any one model

Open in playground
Report an error