On Sun, 28 Aug 2011 01:36:50 +1000
Nick Coghlan
On Sun, Aug 28, 2011 at 1:15 AM, "Martin v. Löwis"
wrote: This is exactly what I worry about. I think adding file I/O to bz2 was a mistake, as this doesn't integrate with Python's IO library (it used to, but now after dropping stdio, they were incompatible. Indeed, for Python 3.2, BZ2File has been removed from the C module, and lifted to Python.
IOW, the _lzma C module must not do any I/O, neither directly nor indirectly (through liblzma). The approach of gzip.py (doing IO and file formats in pure Python) is exactly right.
PEP 399 also comes into play - we need a pure Python version for PyPy et al (or a plausible story for why an exception should be granted).
The plausible story being that we basically wrap an existing library? I don't think PyPy et al have pure Python versions of the zlib or OpenSSL, do they? If we start taking PEP 399 conformance to such levels, we might as well stop developing CPython. cheers Antoine.