• Python 99.5%
  • Shell 0.5%
Find a file
2024-11-29 21:05:49 -05:00
.vscode Init commit 2024-11-25 02:21:10 +00:00
config Init commit 2024-11-25 02:21:10 +00:00
sandbox/demo Lint code 2024-11-29 05:20:09 +00:00
scripts Add shell scripts to trigger remove torrent scripts 2024-11-30 02:01:05 +00:00
src/transmissionpy Add script entrypoints 2024-11-30 01:58:02 +00:00
.gitignore Add building dataframe, saving to parquet 2024-11-25 06:39:07 +00:00
noxfile.py Add utils to core.utils. 2024-11-26 04:40:32 +00:00
pyproject.toml Add description to README 2024-11-30 01:50:43 +00:00
README.md Add cron how-to to README 2024-11-30 02:05:29 +00:00
requirements.txt Add requirements.txt 2024-11-30 01:47:47 +00:00
uv.lock Add cyclopts CLI. 2024-11-29 04:30:43 +00:00

TransmissionPy

A CLI build with the Python cyclopts package.

Manage your Transmission torrents with Python!

Requirements

  • uv
    • This project was built using uv.
    • If you install uv, you can run this app without worrying about dependencies. Just run uv run transmissionpy <--args>
  • If you are not using uv, create a virtualenv (virtualenv .venv), activate it with . .venv/bin/activate (Linux/Mac) or . .venv\Scripts\activate (Windows), then run pip install -r requirements.txt

Usage

Run uv run transmissionpy --help to see help menu.

Help

Note: This help menu may be out of date. It's a good idea to run uv run transmissionpy --help to see the current args.

Usage: transmissionpy_cli COMMAND

CLI for transmissionpy Transmission RPC controller client.

╭─ Session Parameters ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --debug --no-debug  [default: False]                                                                                                                                                                             │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ torrent    Torrent management commands.                                                                                                                                                                          │
│ --help -h  Display this message and exit.                                                                                                                                                                        │
│ --version  Display application version.                                                                                                                                                                          │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Schedule cron job

On Linux, you can schedule jobs with cron, i.e. schedule the remove_finished_torrents.sh to run every 30 minutes.

  • Run crontab -e to open the crontab editor
  • Add a line to run the remove_finished_torrents.sh script every 30 minutes (note: this assumes the transmissionpy repository was cloned to ~//$HOME)
## crontab -e

## Run transmissionpy's remove_finished_torrents.sh script every 30 minutes
*/30 * * * * cd $HOME/transmissionpy && ./scripts/shell/remove_finished_torrents.sh