TUI and CLI client for the Transmission daemon
Project description
stig is a TUI (text user interface) and CLI (command line interface) client for the BitTorrent Client Transmission (and perhaps others in the future).
Features
Use filters to list/start/stop/remove/… torrents matching any combination of criteria
Tabs with different lists, documentation, etc
Everything is done via commands, and they are invoked
through chained keybindings,
by entering them in a built-in command prompt,
by providing them as CLI arguments in your interactive shell or in scripts,
or by listing them in an rc file.
Themes with 16 and 256 colors
Complete built-in documentation with help command
Full API abstraction layer makes it possible to support other torrent clients (probably deluge, maybe rtorrent)
Examples
Add two torrents (file and hash) and exit
$ stig add /path/to/some.torrent d4d6b73851fe3288e40389a8e1fb98124a9b9ba5
Connect to non-default host and present the TUI
$ stig set srv.url torrents.local:1234
Print all uploading and/or downloading torrents on torrents.local and exit
$ stig set srv.url torrents.local \; ls active
List torrents with more than 50 seeds, then remove them
$ stig ls 'seeds>50'
$ stig rm 'seeds>50'
Stop/pause torrents with /foo/ in their download path and a ratio above 10
$ stig stop 'path~/foo/&ratio>10'
Open two tabs with different torrent lists:
slowly uploading torrents with /foo/ in their download path
small or well-seeded torrents, sorted by size (ascending) and number of seeds (descending)
$ stig tab ls 'path~/foo/&rate-up<10k' \; tab ls 'size<500M|seeds>=1k' --sort 'size,!seeds'
Configuration
All configuration is done in $HOME/.config/stig/rc. Each line is a command that is called during startup. Commands given as CLI arguments are called after the rc commands. For more information run stig help rcfile.
Example config
# Host that runs Transmission daemon set srv.url otherhost:123 # Poll every 10 seconds set tui.poll 10 # Default columns in torrent lists set tlist.columns name ratio rate-up rate-down # Open a few tabs tab ls active --sort !progress,path,!rate tab ls paused --sort !progress --columns name,progress,ratio,size tab ls isolated --sort tracker --columns name,path
Installation
The latest release can be installed from PyPI.
$ pip3 install stig
The latest development version is in the dev branch.
$ pip3 install git+https://github.com/rndusr/stig.git@dev
Requirements
Python >=3.5
urwid >=1.3.0
urwidtrees >=1.0.1.1
aiohttp >=0.22.5
Contributing
If you want to contribute code and get stuck, don’t know where to even begin, or just to make sure you’re not duplicating someone else’s efforts, open an issue.
License
stig is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.