<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 Oct 14, 2015, at 1:04 PM, Donald Stufft <<a href="mailto:donald@stufft.io" class="">donald@stufft.io</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: Menlo-Regular; font-size: 12px; font-style: normal; font-variant: 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; float: none; display: inline !important;" class="">Generally within 60-120 seconds it’s available in mirrors (most of them resync once a minute). If anyone has downloaded it then they will have pretty much permanently cached the package, first in the download cache and then again in the wheel cache (assuming it wasn’t a wheel already, and they had that enabled). The original package was NumPy. It had 30,982 downloads in the last day, so we can average that out to 1290 downloads an hour or 21 downloads a minute. If it takes you two minutes to notice it and delete it, then there are ~40 people who already have the original version cached and who will not notice the updated version.</span><br style="font-family: Menlo-Regular; font-size: 12px; font-style: normal; font-variant: 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></blockquote></div><br class=""><div class="">While I don't think PyPI should allow modification of uploaded packages necessarily, I do think that Pip's caching is (A) too aggressive and (B) too opaque.  For example:</div><div class=""><br class=""></div><div class=""><a href="https://github.com/pypa/pip/issues/3127" class="">https://github.com/pypa/pip/issues/3127</a></div><div class=""><a href="https://github.com/pypa/pip/issues/3034" class="">https://github.com/pypa/pip/issues/3034</a></div><div class=""><a href="https://github.com/pypa/pip/issues/3025" class="">https://github.com/pypa/pip/issues/3025</a></div><div class=""><a href="https://github.com/pypa/pip/issues/2908" class="">https://github.com/pypa/pip/issues/2908</a></div><div class=""><a href="https://github.com/pypa/pip/issues/2882" class="">https://github.com/pypa/pip/issues/2882</a></div><div class=""><br class=""></div><div class="">etc, etc.</div><div class=""><br class=""></div><div class="">I know there are some directories platform-specific directories I can delete, but almost once a day I want a command like `pip cache show´ which can show me what is cached and when/where it was built, `pip cache clear´ or `pip cache remove twisted´ or `pip cache remove cffi>=1.0´.  I don't want to have to care if it's in the HTTP cache or the wheel cache, or how it got there; I also don't want to have to bust a ~200 megabyte cache that saves me hours a day just because there's one bad entry in there.</div><div class=""><br class=""></div><div class="">-glyph</div><div class=""><br class=""></div></body></html>