Skip to main content

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.

PyPI AUR Version GitHub release License GitHub Issues or Pull Requests

demo

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 CLI tool and a full-screen terminal UI.
  • 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. libtorrent is installed automatically via pip.

Arch Linux

  1. From AUR (builds from source):
yay -S torrra
  1. From AUR Binary Package (faster installation):
yay -S torrra-bin

torrra-bin includes 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:

Planned:

Roadmap

Ongoing development focuses on enhancing torrra's capabilities:

  • Jackett integration
  • Torrent download UI with 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

torrra-1.0.2.tar.gz (862.7 kB view details)

Uploaded Source

Built Distribution

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

torrra-1.0.2-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file torrra-1.0.2.tar.gz.

File metadata

  • Download URL: torrra-1.0.2.tar.gz
  • Upload date:
  • Size: 862.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.0

File hashes

Hashes for torrra-1.0.2.tar.gz
Algorithm Hash digest
SHA256 d62cca1bf2330ffc8becf6e3cdaa96da4d5aa3dcd2a105f1e5626c87183d0c7f
MD5 0fb1b10b8895165531ec169c95db60d7
BLAKE2b-256 a82a56b7af00349f4951ad430f3e9494fa11db2046190717a63aff0838ab43bd

See more details on using hashes here.

File details

Details for the file torrra-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: torrra-1.0.2-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

Hashes for torrra-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 84ab42a8b5deab3636873a6a96c37b6f6b808cd83eb0b17fe1031fe8146cd23b
MD5 3643c59459ad6f39296988ccfaab9841
BLAKE2b-256 103b479173d0ef2c357f1589ea588c20c63859dc90235976cb1c1cd9ed26207b

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