Replace pipes in metadatafactory w/ unions
The following usage of a pipe is not supported in Python versions <3.10: timeout: float | tuple = None
To make this operation backwards-compatible for 3.9 users we have to use Union from the typing library instead of pipes: timeout: Union[float, tuple] = None