Skip to main content

Send file to trash natively under Mac OS X, Windows and Linux

Project description

Send2Trash is a small package that sends files to the Trash (or Recycle Bin) natively and on all platforms. On OS X, it uses native FSMoveObjectToTrashSync Cocoa calls or can use pyobjc with NSFileManager. On Windows, it uses native IFileOperation call if on Vista or newer and pywin32 is installed or falls back to SHFileOperation calls. On other platforms, if PyGObject and GIO are available, it will use this. Otherwise, it will fallback to its own implementation of the trash specifications from freedesktop.org.

ctypes is used to access native libraries, so no compilation is necessary.

Send2Trash supports Python 2.7 and up (Python 3 is supported).

Status: Additional Help Welcome

Additional help is welcome for supporting this package. Specifically help with the OSX and Linux issues and fixes would be most appreciated.

Installation

You can download it with pip:

python -m pip install -U send2trash

To install with pywin32 or pyobjc required specify the extra nativeLib:

python -m pip install -U send2trash[nativeLib]

or you can download the source from http://github.com/arsenetar/send2trash and install it with:

>>> python setup.py install

Usage

>>> from send2trash import send2trash
>>> send2trash('some_file')
>>> send2trash(['some_file1', 'some_file2'])

On Freedesktop platforms (Linux, BSD, etc.), you may not be able to efficiently trash some files. In these cases, an exception send2trash.TrashPermissionError is raised, so that the application can handle this case. This inherits from PermissionError (OSError on Python 2). Specifically, this affects files on a different device to the user’s home directory, where the root of the device does not have a .Trash directory, and we don’t have permission to create a .Trash-$UID directory.

For any other problem, OSError is raised.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Send2Trash-1.8.3.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

Send2Trash-1.8.3-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file Send2Trash-1.8.3.tar.gz.

File metadata

  • Download URL: Send2Trash-1.8.3.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for Send2Trash-1.8.3.tar.gz
Algorithm Hash digest
SHA256 b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf
MD5 7bcae0e6d450c1004fd98a977f5648c2
BLAKE2b-256 fd3aaec9b02217bb79b87bbc1a21bc6abc51e3d5dcf65c30487ac96c0908c722

See more details on using hashes here.

File details

Details for the file Send2Trash-1.8.3-py3-none-any.whl.

File metadata

  • Download URL: Send2Trash-1.8.3-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for Send2Trash-1.8.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9
MD5 a9d81ae57db66e202ecf5b999849e4dc
BLAKE2b-256 40b04562db6223154aa4e22f939003cb92514c79f3d4dccca3444253fd17f902

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page