Skip to main content

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.

Release files for Send2Trash 2.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Send2Trash 2.1.0
File Size Uploaded
send2trash-2.1.0.tar.gz 17.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Send2Trash 2.1.0
File Interpreter ABI Platform
send2trash-2.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 34.9 kB

Release files / send2trash-2.1.0.tar.gz

Download URL send2trash-2.1.0.tar.gz
Size 17.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1c72b39f09457db3c05ce1d19158c2cbef4c32b8bedd02c155e49282b7ea7459
BLAKE2b-256 checksum
How to use checksums
c5f0184b4b5f8d00f2a92cf96eec8967a3d550b52cf94362dad1100df9e48d57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / send2trash-2.1.0-py3-none-any.whl

Download URL send2trash-2.1.0-py3-none-any.whl
Size 17.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0da2f112e6d6bb22de6aa6daa7e144831a4febf2a87261451c4ad849fe9a873c
BLAKE2b-256 checksum
How to use checksums
1c78504fdd027da3b84ff1aecd9f6957e65f35134534ccc6da8628eb71e76d3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release history Release notifications | RSS feed

This release

2.1.0 This release

2 release files

2.0.0

2 release files

1.8.3

2 release files

1.8.2

2 release files

1.8.0

2 release files

1.7.1

2 release files

1.5.0

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

1 release file

1.2.0

1 release file

1.1.0

1 release file

1.0.2

1.0.1

1.0.0

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page