typeshed icon indicating copy to clipboard operation
typeshed copied to clipboard

tarfile.open(): Protocols for pipe modes

Open srittau opened this issue 1 year ago • 0 comments

The pipe modes for tarfile.open() require only a simplified file object, not the full protocol. From the documentation:

For special purposes, there is a second format for mode: 'filemode|[compression]'. tarfile.open() will return a TarFile object that processes its data as a stream of blocks. No random seeking will be done on the file. If given, fileobj may be any object that has a read() or write() method (depending on the mode) that works with bytes. [...]

But currently, adding support for those modes is not possible, since mypy can't process string literals that contain a pipe character: python/mypy#16367. This will be fixed in mypy 1.11.

srittau avatar Jun 21 '24 09:06 srittau