pyzstd module: deprecations
compress_stream
# before
with io.open(input_file_path, 'rb') as ifh:
with io.open(output_file_path, 'wb') as ofh:
compress_stream(ifh, ofh, level_or_option=5)
# after
with io.open(input_file_path, 'rb') as ifh:
with pyzstd.open(output_file_path, 'w', level_or_option=5) as ofh:
shutil.copyfileobj(ifh, ofh)
Hint
Instead of the read_size and write_size parameters, you can use
shutil.copyfileobj’s length parameter.
Alternatively, you can use ZstdCompressor to have more control:
# after: more complex alternative
with io.open(input_file_path, 'rb') as ifh:
with io.open(output_file_path, 'wb') as ofh:
compressor = ZstdCompressor(level_or_option=5)
compressor._set_pledged_input_size(pledged_input_size) # optional
while data := ifh.read(read_size):
ofh.write(compressor.compress(data))
callback_progress(ifh.tell(), ofh.tell()) # optional
ofh.write(compressor.flush())
Deprecated in version 0.17.0.
decompress_stream
# before
with io.open(input_file_path, 'rb') as ifh:
with io.open(output_file_path, 'wb') as ofh:
decompress_stream(ifh, ofh)
# after
with pyzstd.open(input_file_path) as ifh:
with io.open(output_file_path, 'wb') as ofh:
shutil.copyfileobj(ifh, ofh)
Hint
Instead of the read_size and write_size parameters, you can use
shutil.copyfileobj’s length parameter.
Alternatively, you can use EndlessZstdDecompressor to have more control:
# after: more complex alternative
with io.open(input_file_path, 'rb') as ifh:
with io.open(output_file_path, 'wb') as ofh:
decompressor = EndlessZstdDecompressor()
while True:
if decompressor.needs_input:
data = input_stream.read(read_size)
if not data:
break
else:
data = b""
ofh.write(decompressor.decompress(data, write_size))
callback_progress(ifh.tell(), ofh.tell()) # optional
if not decompressor.at_frame_edge:
raise ValueError("zstd data ends in an incomplete frame")
Deprecated in version 0.17.0.
richmem_compress
# before
data_out = pyzstd.richmem_compress(data_in, level_or_option=5)
# after
data_out = pyzstd.compress(data_in, level_or_option=5)
Deprecated in version 0.18.0.
RichMemZstdCompressor
# before
compressor = pyzstd.RichMemZstdCompressor(level_or_option=5)
data_out1 = compressor.compress(data_in1)
data_out2 = compressor.compress(data_in2)
data_out3 = compressor.compress(data_in3)
# after
data_out1 = pyzstd.compress(data_in1, level_or_option=5)
data_out2 = pyzstd.compress(data_in2, level_or_option=5)
data_out3 = pyzstd.compress(data_in3, level_or_option=5)
Deprecated in version 0.18.0.