<div dir="ltr">Hi all,<div><br></div><div>PyPi does not allow duplicate file names -- this makes lots of sense, because you really don't want people to go to PyPi one day and grab a file, and then go there another day, grab a file with exactly the same name, and have it be a different file.</div><div><br></div><div>However....</div><div><br></div><div>We are all too human, and make mistakes when doing a release. All to often someone pushed a broken file up to PyPi, often realizes it pretty quickly -- before anyone has a chance to even download it (or only the dev team as, for testing...). </div><div><br></div><div>In fact, I was in a sprint last summer, and we decided to push our  package up to PyPi -- granted, we were all careless amateurish noobs, but we ended up making I think 4! minor version bumps because we had done something stupid in the sdist.</div><div><br></div><div>Also -- the latest numpy  release got caught in this, too:</div><div><br></div><div>"""</div><div><span style="font-size:12.8px">* We ran into a problem with pipy not allowing reuse of filenames and a</span><br style="font-size:12.8px"><span style="font-size:12.8px">  resulting proliferation of *.*.*.postN releases. Not only were the names</span><br style="font-size:12.8px"><span style="font-size:12.8px">  getting out of hand, some packages were unable to work with the postN</span><br style="font-size:12.8px"><span style="font-size:12.8px">  suffix.</span><br></div><div><span style="font-size:12.8px">"""</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">So -- I propose that PyPi allow projects to replace existing files if they REALLY REALLY want to.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">You should have to jump through all sorts of hoops, and make it really clear that it is a BAD IDEA in the general case, but it'd be good to have it be possible.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">After all -- PyPi does not take on responsibility for anything else about what's in those packages, and Python itself is all about "we're all consenting adults here"</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">I suppose we could even put in some heuristics about how long the file as been there, how many times it's been downloaded, etc.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Just a thought.....I really hate systems that don't let me roll back mistakes, even when I discover them almost immediately...</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">-CHB</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><br>Christopher Barker, Ph.D.<br>Oceanographer<br><br>Emergency Response Division<br>NOAA/NOS/OR&R            (206) 526-6959   voice<br>7600 Sand Point Way NE   (206) 526-6329   fax<br>Seattle, WA  98115       (206) 526-6317   main reception<br><br><a href="mailto:Chris.Barker@noaa.gov" target="_blank">Chris.Barker@noaa.gov</a></div>
</div></div>