A Python tool that lets you find and download torrents without leaving your CLI.
Project description
torrra
A Python tool that lets you find and download torrents without leaving your CLI.
Overview
torrra provides a streamlined command-line interface for your torrent needs. It allows you to search for and download torrents, and manage active downloads without leaving your terminal, offering a fast and efficient solution for command-line users.
Table of Contents
Features
- Integrate with services like
Jackett. - Fetch and download magnet links directly, powered by
Libtorrent. - A responsive download manager built with
Textual. - Pause and resume torrent downloads using keyboard shortcuts.
- Operates as both a
CLItool and a full-screen terminalUI. - Toggle between dark and light themes.
Installation
torrra offers several installation methods to suit your environment.
Cross-Platform (recommended)
Using pipx ensures torrra is installed in an isolated environment, preventing conflicts with your system's Python packages.
pipx install torrra
This method supports Linux, macOS, and Windows.
libtorrentis installed automatically via pip.
Arch Linux
- From AUR (builds from source):
yay -S torrra
- From AUR Binary Package (faster installation):
yay -S torrra-bin
torrra-binincludes a precompiled standalone binary for x86_64 Linux, requiring no Python dependencies.
Standalone Binaries (No Python Required)
Download pre-built executables directly from GitHub Releases:
| OS | File |
|---|---|
| Linux | torrra-vX.Y.Z-linux-x86_64 |
| Windows | torrra-vX.Y.Z-windows.exe |
| macOS | torrra-vX.Y.Z-macos-x86_64 |
On Linux/macOS, ensure the binary is executable:
chmod +x torrra-vX.Y.Z-*-x86_64.
Local Development
To set up torrra for development:
git clone [https://github.com/stabldev/torrra](https://github.com/stabldev/torrra)
cd torrra
uv sync # or `pip install -e .`
uv run torrra
Usage
To start torrra, you must specify a provider. For example, to use Jackett:
torrra --jackett
Omitting a provider flag will result in an error.
CLI Commands & Flags
Top-level commands
| Command | Description |
|---|---|
torrra |
Launches the interactive TUI |
torrra config |
Manages configuration settings |
torrra --help |
Displays help for the top-level CLI commands |
Provider flags (used with torrra)
| Flag | Description |
|---|---|
-j, --jackett |
Uses Jackett as the torrent indexer |
-v, --version |
Shows the current torrra version |
-h, --help |
Displays help for the main application |
TUI Controls
| Key | Action |
|---|---|
↑↓ |
Navigate through results |
Tab |
Focus the next widget |
Enter |
Start download for selection |
p |
Pause the current download |
r |
Resume a paused download |
q |
Quit torrra |
Configuration
torrra's behavior can be customized via a config.toml file located in your OS-specific user config directory:
- Linux/macOS:
~/.config/torrra/config.toml - Windows:
%APPDATA%\torrra\config.toml
The actual path is automatically resolved using platformdirs.
Example config.toml:
[general]
download_path = "/home/username/Downloads" # Default folder for saving torrents
remember_last_path = true # Reuse the last used path as default
Managing Your Configuration
Use the built-in torrra config command to manage settings:
torrra config -g general.download_path # Get a specific config value
torrra config -s general.remember_last_path False # Set a key-value pair
torrra config -l # List all config settings
Config Options
| Flag | Description |
|---|---|
-g, --get KEY |
Retrieves a config value (e.g., general.download_path) |
-s, --set KEY VALUE |
Sets a key-value pair |
-l, --list |
Lists all configuration settings |
-h, --help |
Displays help for the config command |
Indexer Support
Currently supported:
- Jackett (via
--jackettor-j)
Planned:
- Prowlarr
- Support for custom indexers
Roadmap
Ongoing development focuses on enhancing torrra's capabilities:
- Jackett integration
- Torrent download
UIwith pause/resume - Config file support
- Standalone binary & AUR packaging
- Magnet info preview (seeders/leechers before download)
- Prowlarr support
- Advanced filtering/sorting
- Nyaa & anime-specific indexers
- Keyboard shortcuts overlay / help screen
Contributing
torrra is an open-source project, and contributions are highly valued.
- If you find an issue, please open an issue with detailed steps to reproduce.
- We welcome new features or indexer integrations. Fork the repository and submit a Pull Request.
- General feedback and feature requests are always appreciated.
License
MIT License. Copyright (c) stabldev
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.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file torrra-1.0.3.tar.gz.
File metadata
- Download URL: torrra-1.0.3.tar.gz
- Upload date:
- Size: 862.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00baa8e152ae91c0c93d08e1a5ffc0e0f6b762e297f3a9655efe39f963a9f85d
|
|
| MD5 |
540c9926e81410b00a36f201734ecb11
|
|
| BLAKE2b-256 |
c088179ebeab1204ef991967843c39629cd57d8d638426c6225c57fe19ab9725
|
File details
Details for the file torrra-1.0.3-py3-none-any.whl.
File metadata
- Download URL: torrra-1.0.3-py3-none-any.whl
- Upload date:
- Size: 16.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dde3d1881cea86f6418e611de8cc336ba520f772850a0bec465d841d81bb74ec
|
|
| MD5 |
66f8183bcc3ec3f2b2c390035ab7b14a
|
|
| BLAKE2b-256 |
d6d91588d11de547f0573e2c6542f1b5fec78bcb0e634b96f2c3ae4a425b173f
|