Angry Metal Guy Player
Angry Metal Guy Player (AMG Player) is a Python multi platform console tool to automatically play or download tracks from Angry Metal Guy reviews.
I created this because:
- I like Angry Metal Guy, and discovered great music (both metal and totally non-metal) thanks to their reviews
- I often disagree with their ratings (in fact I disagree more often than I agree), both for overrating and underrating
- Even when I disagree, I like reading their reviews
- I want to listen to the music before I read the review, to avoid getting influenced
- To be efficient, I want to listen to the tracks like a radio, and read the review to learn more only when I like something
Features
- Can work either in interactive mode (manually select tracks) or totally automatic (play new tracks like a radio)
- Supports embedded tracks from: YouTube, Bandcamp, SoundCloud, ReverbNation
- Plays YouTube video if available, or generates a video on the fly with the cover image + audio track(s) (requires FFmpeg)
- Can download tracks (with embedded album art) to play later
Screenshots
Installation
Angry Metal Guy Player requires a recent Python version. Some features are only available if FFmpeg is installed.
From PyPI (with PIP)
- If you don't already have it, install pip for Python 3
- Install Angry Metal Guy Player:
pip3 install amg-player
From source
- If you don't already have it, install setuptools for Python 3
- Clone this repository:
git clone https://github.com/desbma/amg-player - Install Angry Metal Guy Player:
python3 setup.py install
Angry Metal Guy Player only supports MPV player for now.
Command line usage
Run amg -h to get full command line reference.
Examples
-
Browse and play interactively last 50 reviews:
amg -c 50 -
Choose the first track to play, then play all tracks in chronological order:
amg -m radio -
Play last 20 tracks in chronological order, skipping those already played:
amg -c 20 -m discover
License
Release files for amg-player 2026.9.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| amg_player-2026.9.8.0.tar.gz | 375.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| amg_player-2026.9.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 411.3 kB
Release files / amg_player-2026.9.8.0.tar.gz
| Download URL | amg_player-2026.9.8.0.tar.gz |
|---|---|
| Size | 375.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
40ed315b079cd41dfa9f07961390d627a61c6ecd32e993616d16e84dca274ffe
|
|
BLAKE2b-256 checksum How to use checksums |
63233573d73a9c23933e89f019875d379b96d15ecad6f7b99eb1fa488aad936f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / amg_player-2026.9.8.0-py3-none-any.whl
| Download URL | amg_player-2026.9.8.0-py3-none-any.whl |
|---|---|
| Size | 35.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bfb35690e62d314f93266d53acb602add468997e620b9744c647b043c9fec1a9
|
|
BLAKE2b-256 checksum How to use checksums |
3607867b4788760b619be63b5e34bde9610326e3b496e0942926f091fc2aaffa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|