New submission from insomniacslk: Tarfile would benefit from exposing custom compressors. At the moment the only way to use something that is not gzip/bzip/lzma is to separate the archiving and compression steps.
A possible approach is to pass a custom compression function to `tarfile.TarFile.open`. However the current interface is not clean enough to be exposed. I have made a very conservative change via a pull request on GitHub, see https://github.com/python/cpython/pull/2734 . Some additional considerations can be found there. A further step could require a simplified interface that only involves file name, file-like object and compression level, and returns a file-like object to read the compressed data from. For example: def my_compressor(name, fileobj=None, compresslevel=9): # compression happens here return filelike_object This further step is not captured in the pull request, but I can iterate and update the diff. ---------- components: Library (Lib) messages: 299017 nosy: insomniacslk priority: normal pull_requests: 2903 severity: normal status: open title: Add support for custom compressor in tarfile type: enhancement versions: Python 3.6, Python 3.7 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue31020> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com