klio_audio.transforms.io.
GcsLoadBinary
Download binary file from GCS into memory.
This transform uses the job_config.data.inputs configuration in a job’s klio-job.yaml file.
job_config.data.inputs
klio-job.yaml
This transform uses Apache’s native GCS client and expects a PCollection of KlioMessages, and returns with a payload of the downloaded binary as a file-like bytes object.
GCS client
PCollection
Example:
# run.py from klio_audio.transforms import audio from klio_audio.transforms import io def run(in_pcol, job_config): return ( in_pcol | io.GcsLoadBinary() | audio.LoadAudio() # other transforms )
# klio-job.yaml # <-- snip --> job_config: events: # <-- snip --> data: inputs: - type: file location: gs://my-bucket/input file_suffix: .ogg # <-- snip -->
GcsUploadPlot
Upload a matplotlib figure to GCS.
figure
This transform uses the job_config.data.outputs configuration in a job’s klio-job.yaml file.
job_config.data.outputs
This transform wraps savefig and expects a PCollection of KlioMessages where the payload is a matplotlib.figure.Figure and returns with a payload of the uploaded file location as bytes.
savefig
matplotlib.figure.Figure
bytes
# run.py from klio_audio.transforms import audio from klio_audio.transforms import io def run(in_pcol, job_config): return ( in_pcol | io.GcsLoadBinary() | audio.LoadAudio() | audio.GetSpec() | audio.SpecToPlot() | io.GcsUploadPlot() )
# klio-job.yaml # <-- snip --> job_config: # <-- snip --> data: inputs: # <-- snip --> outputs: - type: file location: gs://my-bucket/output file_suffix: .png
prefix (str) – filename prefix. Default: ""
""
suffix (str) – filename suffix. Default: ""
file_format (str) – plot format (e.g. png). Defaults to the file suffix as configured in klio-job.yaml::job_config.data.outputs[].file_suffix.
klio-job.yaml::job_config.data.outputs[].file_suffix
plt_kwargs (dict) – keyword arguments to pass to savefig.