Skip to content

Repository files navigation

Python Hatch project linting - Ruff types - Mypy License - MIT

🟣Twitch Menu

About

A user-friendly tool for accessing and watching live streams, videos, and clips from Twitch.

Note

Playback via mpv uses Twitch’s public streams. Twitch Prime does not guarantee ad-free playback outside the official web player.

Video

pytwitch.mp4

Requirements

Credentials

For authentication, you can set environment vars in your shell and export them or use the .env file and put it in the root of the project.

env-template file

# Twitch credentials
TWITCH_CLIENT_ID="xxxxx"
TWITCH_ACCESS_TOKEN="xxx"
TWITCH_USER_ID="123456"

Credentials directions

Installation

Using pip

# Clone repository
$ git clone "https://github.com/mateconpizza/pytwitch.git"
$ cd pytwitch

# Create virtual environment & source
$ python -m venv .venv
$ source .venv/bin/activate

# Install requirements
(.venv) $ pip install -r requirements.txt

# Install
(.venv) $ pip install .

Using uv

# Clone repository
git clone https://github.com/mateconpizza/pytwitch.git
cd pytwitch

# Create virtual environment
uv venv .venv
source .venv/bin/activate

# Install
uv pip install .

Usage

After installation, the command pytwitch is available in your $PATH

You may want to define an alias to always load your environment file:

alias pt='pytwitch -e ~/path/to/.env'

Environment configuration

  • If a .env file exists in the project root, it is loaded automatically.
  • You can explicitly specify a file using --env.

Help

$ pytwtich -h
Simple tool menu for watching streams, videos from Twitch.

arguments:
  -m, --menu          select menu [rofi|dmenu|fzf] (default: rofi)
  -e, --env           path to env file
  -C, --channel       search by channel query
  -G, --games         search by game or category
  -v, --verbose       increase verbosity (-v, -vv, or -vvv)
  -h, --help          show this help

options:
  --no-markup         disable pango markup (rofi)
  --no-ansi           disable ANSI color codes (fzf)
  --no-conf           disable mpv configuration
pytwitch --env ~/secrets/twitch.env

Keybinds Rofi only

Keybind Usage
alt-k list keybinds
alt-s search by category or game
alt-c search by channel
alt-v list channel's videos
alt-t group by category or game
alt-o open stream chat in browser
alt-i show item information
alt-m show top streams
alt-g show top games with streams
alt-m multi-select streams

References

Dependencies

TODO

  • Find a better and easy way to get the credentials priority
  • Finish tests
  • Create/Update requirements/dependencies
  • Complete Usage
  • Update screenshots
  • Better logging
  • Update GIFs
  • Update argparse help
  • Display keybinds

About

🟣 A user-friendly tool for easily accessing and watching live streams, videos, and clips from Twitch.

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages