Skip to main content

Helps you remove your transmission torrents which have no hardlinks

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

Transmission Cleaner

A CLI tool to help you clean up Transmission torrents that don't have hardlinks to other files on your system.

This is particularly useful if you're using Transmission with media management tools like Sonarr, Radarr, or similar applications that create hardlinks to your torrent files. This tool helps you identify and remove torrents whose files are no longer hardlinked anywhere else.

Installation

Quick Install (Recommended)

If you haven't yet, install uv (curl -LsSf https://astral.sh/uv/install.sh | sh). It's a massive painkiller for the python management headache.

# Using uv (recommended for CLI tools)
uv tool install transmission-cleaner

# Or from source
git clone https://github.com/flying_sausages/transmission-cleaner.git
cd transmission-cleaner
uv tool install .

See INSTALL.md for detailed installation instructions including uv setup, virtual environments, and troubleshooting.

Usage

After installation, you can run the tool using the transmission-cleaner command:

transmission-unlinked --password YOUR_PASSWORD

Arrs setup suggestion:

  • Have something (Plex/maintainerr/etc.) automatically delete things
  • Make sure your arr has Unmonitor Deleted Episodes set to True
  • In the arr's download client settings, set a value for Category (this moves downloaded torrents into the following )
  • use that for the directory argument (transmission-unlinked --directory Sonarr)
  • After playing around with the tool, add something like this to your crontab to run daily at 3am: 0 3 * * * /path/to/transmission-unlinked --settings-file ~/.config/transmission-daemon/settings.json --password YOUR_PASSWORD --directory /path/to/sonarr --action delete >> /var/log/transmission-cleaner.log 2>&1

Development

# Set the project up
uv sync

# Run linting
ruff check .

# Run type checking
basedpyright

Safety Notes

  • Always test with --action list first to see what would be affected
  • Use interactive mode when unsure about automatic removal
  • Backup your data before performing bulk deletions
  • The tool requires direct filesystem access to check hardlinks

License

MIT License - See LICENSE file for details

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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

transmission_unlinked-0.1.2.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

transmission_unlinked-0.1.2-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file transmission_unlinked-0.1.2.tar.gz.

File metadata

  • Download URL: transmission_unlinked-0.1.2.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for transmission_unlinked-0.1.2.tar.gz
Algorithm Hash digest
SHA256 530481145e9be0fa83cbd6644289d4b81cfb987f8d86b70383051710d8840808
MD5 d8e1bf1034a25dd5bf86176da1d92f10
BLAKE2b-256 399cd67913b1ef65f5b1a2868d5c77f986c62fb06fb93571c37717a719c3f9e6

See more details on using hashes here.

File details

Details for the file transmission_unlinked-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: transmission_unlinked-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for transmission_unlinked-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a62fd16c34691a8580e5868800017ad4198bba9a73cf29d4b719af2f5ac86afc
MD5 d68aad28fa20d5595ee620240ac3245d
BLAKE2b-256 1fc8799a33d640b6639f33beb46c78cdf18ba5a1bd96a0eea72a3fc10b8575e0

See more details on using hashes here.

Supported by

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