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 3 (versions before 2.x support Python 2).
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 download the source from https://github.com/arsenetar/send2trash and install it with:
python -m pip install -e .
On systems where Python enforces PEP 668 (e.g., recent Linux distributions), installing packages into the system Python may be restricted. Use a virtual environment:
python -m venv .venv
GNU/Linux / macOS:
source .venv/bin/activate
Windows:
.venvScriptsactivate
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. 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file send2trash-2.1.0.tar.gz.
File metadata
- Download URL: send2trash-2.1.0.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c72b39f09457db3c05ce1d19158c2cbef4c32b8bedd02c155e49282b7ea7459
|
|
| MD5 |
ce7c9ad19353da3aae6e598d109a0f29
|
|
| BLAKE2b-256 |
c5f0184b4b5f8d00f2a92cf96eec8967a3d550b52cf94362dad1100df9e48d57
|
File details
Details for the file send2trash-2.1.0-py3-none-any.whl.
File metadata
- Download URL: send2trash-2.1.0-py3-none-any.whl
- Upload date:
- Size: 17.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0da2f112e6d6bb22de6aa6daa7e144831a4febf2a87261451c4ad849fe9a873c
|
|
| MD5 |
f0fa5c0e7423bc0b5b7b634d0611b347
|
|
| BLAKE2b-256 |
1c78504fdd027da3b84ff1aecd9f6957e65f35134534ccc6da8628eb71e76d3f
|