From 290f3daf60c773890ae1b6b7f717275257d8b0ee Mon Sep 17 00:00:00 2001 From: worldmozara Date: Wed, 21 Oct 2026 20:15:41 +0800 Subject: [PATCH] deps: add send2trash MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Deletes are about to become recoverable, and send2trash is what every desktop already understands: the freedesktop trash specification on Linux (its own implementation unless PyGObject/GIO is there), the Finder trash on macOS and the Recycle Bin on Windows. It is pure Python over ctypes — no compilation, no runtime dependencies — so it can sit on the default install instead of behind an extra. A required dependency rather than an optional one on purpose: a missing extra would silently turn "recoverable" into "gone", and a safety net that disappears without a word is worse than no safety net. --- pdm.lock | 13 ++++++++++++- pyproject.toml | 3 ++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/pdm.lock b/pdm.lock index e00991f..c8e1afb 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "dev"] strategy = ["inherit_metadata"] lock_version = "4.5.1" -content_hash = "sha256:b69c90f70f1118ebb9080c3e0190e8b4d85dd4e5999466b617430399d0ab3125" +content_hash = "sha256:6b62075d8b95d83a7d5d6c99c073db457750af4c8a4e988adbef8799f6f4167e" [[metadata.targets]] requires_python = "~=3.14" @@ -595,6 +595,17 @@ files = [ {file = "ruff-0.16.10.tar.gz", hash = "sha256:eff4728c4eaae93f0955cd264d24b2ab348e74bf59986ccf282ba6dc16b3b017"}, ] +[[package]] +name = "send2trash" +version = "2.1.0" +requires_python = ">=3.8" +summary = "Send file to trash natively under Mac OS X, Windows and Linux" +groups = ["default"] +files = [ + {file = "send2trash-2.1.0-py3-none-any.whl", hash = "sha256:0da2f112e6d6bb22de6aa6daa7e144831a4febf2a87261451c4ad849fe9a873c"}, + {file = "send2trash-2.1.0.tar.gz", hash = "sha256:1c72b39f09457db3c05ce1d19158c2cbef4c32b8bedd02c155e49282b7ea7459"}, +] + [[package]] name = "sqlalchemy" version = "2.1.4" diff --git a/pyproject.toml b/pyproject.toml index dada21d..812f1b7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,8 @@ dependencies = [ "click>=8.4.2", "awaitlet>=0.0.1", "pywinpty>=2.0.0; sys_platform == \"win32\"", - "rich>=13" + "rich>=13", + "send2trash>=2.1.0" ] requires-python = ">=3.14,<4" readme = "README.md"