These extensions as proposed by lucas, particularly #2, would seem useful also for scenarios such as providing a dataset/datatype-specific attributes as parameters to a filter, such as mentioned in Zstd filter plugin & dictionary training . Using chunked read/write appears contra-productive here: These API functions require the application to do all the chunk and data handling, whereas the filter API is supposed to be rather invisible to the application, beyond just passing some parameters to the dataset creation property to enable a specific filter. But specifically on reading, the application does not need to have any clue which filter was used for dataset creation; when going via some chunked reading/writing, the application needs to explicitly reproduce all operations and existing applications require modification (which is not needed via the filter API).