The current API when using max_output_length feels inadequate, as there is no way to know if there is more data available to decompress or not. Users must make a redundant call to .decompress() and receive an empty repsonse to know that all pending data has been decompressed.
My suggestion would be to have a simple .data_available attribute that represents this. Or, to match the zstd API (among others), a .needs_input attribute could be added, in which case a user can check not d.needs_input and not d.is_finished().
I'm interested in the Python API here, not sure how relevant to others.
The current API when using max_output_length feels inadequate, as there is no way to know if there is more data available to decompress or not. Users must make a redundant call to .decompress() and receive an empty repsonse to know that all pending data has been decompressed.
My suggestion would be to have a simple .data_available attribute that represents this. Or, to match the zstd API (among others), a .needs_input attribute could be added, in which case a user can check
not d.needs_input and not d.is_finished().I'm interested in the Python API here, not sure how relevant to others.