<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Aug 16, 2016, at 12:46 PM, Daniel Holth <<a href="mailto:dholth@gmail.com" class="">dholth@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div class="gmail_quote"><div dir="ltr" class="">On Tue, Aug 16, 2016 at 12:15 PM Donald Stufft <<a href="mailto:donald@stufft.io" class="">donald@stufft.io</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div style="word-wrap: break-word;" class=""><div class=""><blockquote type="cite" class=""><div class="">On Aug 16, 2016, at 11:51 AM, Brett Cannon <<a href="mailto:brett@python.org" target="_blank" class="">brett@python.org</a>> wrote:</div><br class=""><div class=""><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;" class="">One thing to remember is that Windows can't read tar files natively while it can for zip files. Now you can easily download tools on Windows to read tar files and thanks to Bash on Windows you even have it included once you turn that feature on.</div></div></blockquote><div class=""><br class=""></div></div></div><div style="word-wrap: break-word;" class=""><div class=""><div class="">This is true, but I think that using .tar.gz by default still makes sense because it’s still the vast bulk of what people actually release to PyPI. So it represents the status quo and switching to zip as the default would break a lot of things.</div></div></div><div style="word-wrap: break-word;" class=""><div class=""><br class=""><blockquote type="cite" class=""><div class=""><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;" class=""><br class=""></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;" class=""><span style="line-height: 1.5;" class="">The other point is we have a zip importer in Python but not a .tar.gz one. </span>I don't know how often anyone actually downloads a zip file directly from PyPI and then tack it on to their sys.path for importing, but that is currently possible.</div></div></blockquote><div class=""><br class=""></div></div></div><div style="word-wrap: break-word;" class=""><div class=""><div class="">A sdist is not an acceptable format for adding to sys.path. While in many, simple cases, it will “just work”, that’s more of an implementation detail than anything else. There are many projects which simply do not run or error out if you do this. I don’t think worrying about something that sort of works, sometimes, is a big deal.</div></div></div><div style="word-wrap: break-word;" class=""><div class=""><br class=""><blockquote type="cite" class=""><div class=""><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;" class=""><br class=""></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;" class="">I doubt either of these points are important enough to continue to support zip files for sdists, but I just wanted to point it out. At worst this is something to think about if we ever do formalize the sdist format and come up with a custom file extension.</div></div></blockquote><br class=""></div></div><div style="word-wrap: break-word;" class=""><div class=""></div><div class="">If we make a sdist 2.0 with a new format, I do think it makes sense to make it a zipfile like wheel already is (which reduces the internal formats down from 2 to 1), not for the reasons above though, just for consistency with wheel.</div></div></blockquote><div class=""><br class=""></div><div class="">ZIP is a fantastically designed file format. JAR, IPA (iPhone), all are ZIP files. The only thing I sometimes wonder about for wheel is <span style="line-height: 1.5;" class="">whether it would be worth the trouble to support greater compression with something like .zip.xz (an uncompressed ZIP inside a wrapper, possibly another ZIP) since ZIP compresses each file individually and does not compress its metadata. But most packages are quite small.</span></div></div></div></div></blockquote><div><br class=""></div><div>I don’t think it would be worth it. Right now there’s only 1 optional c library required (zlib) to install from wheels. If we deprecate all of the other things then there’s only 1 optional c library required to install from sdists too (zlib). At best it would make sense to use gzip, but since we’re already use ZIP_DEFLATE I’m not sure the extra complexity is worth it.</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div class="gmail_quote"><div class=""><span style="line-height: 1.5;" class=""><br class=""></span></div><div class=""><span style="line-height: 1.5;" class="">ZIP's greatest weakness is also its greatest strength, as ZIP allows random access to its members and very fast access to its metadata. This is why it makes sense to have a ZIP importer but not a .tar.gz importer.</span></div></div></div></div></blockquote></div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant-ligatures: normal; font-variant-position: normal; font-variant-caps: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class="">—<br class="">Donald Stufft<br class=""></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant-ligatures: normal; font-variant-position: normal; font-variant-caps: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""></div><br class="Apple-interchange-newline">
</div>
<br class=""></body></html>