Move-to-trash is a pretty common operation on Windows, Mac, and Linux (when configured for GUI use). Such user-facing OSs account for hundreds of millions or billions of systems. <div><br></div><div>That move-to-trash seems an odd operation compared to `os` is probably more a reflection on how Unix-centric `os` is. `dup`, `dup2`, `chown`, and `execv`? They go back at least to 6th or 7th Edition Unix in the mid-1970s. The standard Python standard library should be able to express common operations, and updating it to accommodate more recent idioms than POSIX makes sense to me. `shutil` seems the natural home.<div><div><br></div><div>But practically speaking, `send2trash` doesn't seem complete enough to promote. It seems to use different implementations for Python 2 and 3. I didn't see an empty-trash API. It would need clear semantics in the case that "the trashcan" is not available (e.g. Linux without desktop extensions loaded). And testing is key. It would have to be robustly tested across Python versions and implementations, as well as different OSs, OS versions, and user environment frameworks, under both correct and error conditions. If it were all these things, I can see a natural path into `shutil`. Until then, PyPI is the natural home.</div><div><br></div><div>If the standard library could learn about the trash can, perhaps eventually it could learn about the clipboard!</div><div><br></div><div>On Saturday, April 6, 2013 6:25:54 PM UTC-4, Gregory P. Smith wrote:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir="ltr">Is it widely used?<div><br></div><div>I think it sounds useful for someone but is the kind of thing that should be fine as an extension module on PyPI for most people's needs.  It seems like the kind of functionality that would go along with a GUI library.  Other software is unlikely to care about an OSes concept of trash and simply rm/del/unlink things.</div>

<div><br></div><div>otherwise, yes, shutil is a reasonable place if it were to be added.</div><div><br></div></div><div><br><br><div class="gmail_quote">On Sat, Apr 6, 2013 at 8:21 AM, Virgil Dupras <span dir="ltr"><<a href="javascript:" target="_blank" gdf-obfuscated-mailto="OhkS1aYi6M8J">hs...@hardcoded.net</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
A while ago, I've developed this library, send2trash ( <a href="https://bitbucket.org/hsoft/send2trash" target="_blank">https://bitbucket.org/hsoft/<u></u>se<wbr>nd2trash</a> ), which can send files to trash on Mac OS X, Windows, and any platform that conforms to FreeDesktop.<br>


<br>
The current version uses ctypes, but earlier versions were straight C modules.<br>
<br>
I was wondering if you think this has a place in the stdlib, maybe as "shutil.trash()"?<span><font color="#888888"><br>
<br>
Virgil Dupras<br>
______________________________<u></u><wbr>_________________<br>
Python-ideas mailing list<br>
<a href="javascript:" target="_blank" gdf-obfuscated-mailto="OhkS1aYi6M8J">Python...@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-ideas" target="_blank">http://mail.python.org/<u></u>mailman<wbr>/listinfo/python-ideas</a><br>
</font></span></blockquote></div><br></div><div><br></div>
</blockquote></div></div></div>