Skip to main content

Tool for streaming videos from torrrents

Project description

PyTorr-Play

PyTorr-Play is a Python tool for searching torrents using the Jackett API, displaying results using curses/rofi, and downloading and playing the selected torrents using mpv.

Features

  • Search for torrents using the Jackett API.
  • Display search results in a curses/rofi menu.
  • Select and download torrents.
  • Play downloaded torrents with mpv (or VLC, with webtorrent-cli).
  • Maintain a history of downloaded torrents.

Preview

Watch the video on YouTube

Installation

Using pipx

pipx allows you to install and run Python applications in isolated environments.

  1. Install pipx (if not already installed):

    python -m pip install --user pipx
    python -m pipx ensurepath
    
  2. Install PyTorr-Play:

    pipx install pytorr-play
    

From Source

  1. Clone the repository:

    git clone https://gitlab.com/imithrellas/pytorr-play.git
    cd pytorr-play
    
  2. Install Poetry (if not already installed):

    curl -sSL https://install.python-poetry.org | python3 -
    
  3. Install dependencies:

    poetry install
    
  4. Install system dependencies:

    Use your package manager to install these dependencies:

    sudo pacman -S mpv
    
  5. Activate the virtual environment:

    poetry shell
    

Configuration

Generate the Default Configuration File

pytorr-play --generate-config

This will create a configuration file at ~/.config/torrent_watcher/config.yaml with the following content:

JACKETT_API_KEY: "your_api_key_here"
JACKET_PORT: 9117
JACKET_ADDRESS: "127.0.0.1"

Edit the Configuration File

Replace your_api_key_here with your actual Jackett API key.

Usage

Search for Torrents

pytorr-play

This will prompt you to enter a search query and display the results in a curses menu. Alternatively you can use Rofi, if you have it installed on your system.

pytorr-play --ui Rofi

Show Torrent History

pytorr-play --history

This will display a table of previously downloaded torrents.

Use a Custom Configuration File

pytorr-play --config /path/to/your/config.yaml

This allows you to specify a custom configuration file path.

Arguments

  • -h/--help: Show help.
  • --generate-config: Generate the default configuration file.
  • --config <path>: Specify a custom configuration file path.
  • --history: Show torrent history.
  • --ui: Choose UI (Curses/Rofi).

Example

pytorr-play --config /home/user/custom_config.yaml

Plans

  • Omit Webtorrent
  • Find a way to include timestamp in the history to be able to resume play.
  • Find a way to play multiple files in a playlist
    • Implement a way for the app to know when user switches to a different file in the playlist(Using a callback MPV function?)
  • Implement a menu where the user can choose which files to play
    • List files available
    • Allow selection of multiple files
    • Allow selection of a range of files
  • Include support for VLC(Recreate all of MPVs functionality)

Contributing

Feel free to open issues or submit pull requests for improvements or bug fixes.

Legal Disclaimer

Neither I nor this tool promote or condone the distribution or consumption of illegal content via torrents. This tool is intended solely for legal uses, such as downloading and sharing open-source software, public domain content, and other legally distributable files. Users are responsible for ensuring that their usage complies with all applicable laws and regulations.

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

pytorrplay-0.0.2.tar.gz (9.5 kB view hashes)

Uploaded Source

Built Distribution

pytorrplay-0.0.2-py3-none-any.whl (9.9 kB view hashes)

Uploaded Python 3

Supported by

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