This seems kind of awkward... is there any way we can store the serde format per partition? Or do unions in Python have to go through a pipe anyway?