deps: add send2trash

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.
This commit is contained in:
2026-10-21 20:15:41 +08:00
parent f3bd511251
commit 290f3daf60
2 changed files with 14 additions and 2 deletions
Generated
+12 -1
View File
@@ -5,7 +5,7 @@
groups = ["default", "dev"] groups = ["default", "dev"]
strategy = ["inherit_metadata"] strategy = ["inherit_metadata"]
lock_version = "4.5.1" lock_version = "4.5.1"
content_hash = "sha256:b69c90f70f1118ebb9080c3e0190e8b4d85dd4e5999466b617430399d0ab3125" content_hash = "sha256:6b62075d8b95d83a7d5d6c99c073db457750af4c8a4e988adbef8799f6f4167e"
[[metadata.targets]] [[metadata.targets]]
requires_python = "~=3.14" requires_python = "~=3.14"
@@ -595,6 +595,17 @@ files = [
{file = "ruff-0.16.10.tar.gz", hash = "sha256:eff4728c4eaae93f0955cd264d24b2ab348e74bf59986ccf282ba6dc16b3b017"}, {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]] [[package]]
name = "sqlalchemy" name = "sqlalchemy"
version = "2.1.4" version = "2.1.4"
+2 -1
View File
@@ -16,7 +16,8 @@ dependencies = [
"click>=8.4.2", "click>=8.4.2",
"awaitlet>=0.0.1", "awaitlet>=0.0.1",
"pywinpty>=2.0.0; sys_platform == \"win32\"", "pywinpty>=2.0.0; sys_platform == \"win32\"",
"rich>=13" "rich>=13",
"send2trash>=2.1.0"
] ]
requires-python = ">=3.14,<4" requires-python = ">=3.14,<4"
readme = "README.md" readme = "README.md"