def set_config(self, config): """set runtime time options""" try: options = _python_to_pressio(config) if pressio.io_set_options(self._io, options): raise PressioCompressor.from_io(self._io) finally: pressio.options_free(options)
def __init__(self, io, early_config, io_config, name): try: config_lp = None library = pressio.instance() self._io = pressio.get_io(library, io.encode()) if not self._io: raise PressioException.from_library(library) if name is not None: pressio.compressor_set_name(self._io, name.encode()) early_config_lp = _python_to_pressio(early_config) pressio.io_set_options(self._io, early_config_lp) pressio.options_free(early_config_lp) config_lp = pressio.io_get_options(self._io) config_lp = _python_to_pressio(io_config, config_lp) pressio.io_set_options(self._io, config_lp) finally: pressio.release(library) pressio.options_free(config_lp)
pressio.compressor_check_options(compressor, sz_options) pressio.compressor_set_options(compressor, sz_options) pressio.compressor_set_metrics(compressor, metrics) data = np.random.rand(300, 300, 300) with tempfile.NamedTemporaryFile() as tmp: data.tofile(tmp) posix_io = pressio.get_io(library, b'posix') #configure read posix_options = pressio.io_get_options(posix_io) pressio.options_set_string(posix_options, b'io:path', bytes(tmp.name, 'ascii')) pressio.io_set_options(posix_io, posix_options) #configure template buffer dims = pressio.vector_uint64_t([300, 300, 300]) input_template = pressio.data_new_empty(pressio.double_dtype, dims) #preform read input_data = pressio.io_read(posix_io, input_template) compressed_data = pressio.data_new_empty(pressio.byte_dtype, pressio.vector_uint64_t()) decompressed_data = pressio.data_new_empty(pressio.double_dtype, dims) pressio.compressor_compress(compressor, input_data, compressed_data) pressio.compressor_decompress(compressor, compressed_data,