amg-player


Nameamg-player JSON
Version 2024.3.12.0 PyPI version JSON
download
home_pagehttps://github.com/desbma/amg-player
SummaryBrowse & play embedded tracks from Angry Metal Guy music reviews
upload_time2024-03-12 22:46:51
maintainer
docs_urlNone
authordesbma
requires_python
license
keywords music metal extreme angry guy player youtube bandcamp soundcloud
VCS
bugtrack_url
requirements appdirs cssselect curses-menu lxml more_itertools mutagen Pillow python-magic requests tqdm unidecode web_cache yt-dlp
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Angry Metal Guy Player

[![Latest version](https://img.shields.io/pypi/v/amg-player.svg?style=flat)](https://pypi.python.org/pypi/amg-player/)
[![Tests status](https://github.com/desbma/amg-player/actions/workflows/ci.yml/badge.svg)](https://github.com/desbma/amg-player/actions)
[![Coverage](https://img.shields.io/coveralls/desbma/amg-player/master.svg?style=flat)](https://coveralls.io/github/desbma/amg-player?branch=master)
[![Lines of code](https://tokei.rs/b1/github/desbma/amg-player)](https://github.com/desbma/amg-player)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/amg-player.svg?style=flat)](https://pypi.python.org/pypi/amg-player/)
[![License](https://img.shields.io/github/license/desbma/amg-player.svg?style=flat)](https://pypi.python.org/pypi/amg/)

Angry Metal Guy Player (AMG Player) is a Python multi platform console tool to automatically play or download tracks from [Angry Metal Guy](https://www.angrymetalguy.com/) 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

Selection screen:  
[![selection image](https://i.imgur.com/Ijrjd0Am.png)](https://i.imgur.com/Ijrjd0A.png)

Playing a track:  
[![playing image](https://i.imgur.com/pXUScj2m.png)](https://i.imgur.com/pXUScj2.png)

## Installation

Angry Metal Guy Player requires [Python](https://www.python.org/downloads/) >= 3.7.
Some features are only available if [FFmpeg](https://ffmpeg.org/download.html) >= 2.8 is installed.

### From PyPI (with PIP)

1. If you don't already have it, [install pip](https://pip.pypa.io/en/stable/installing/) for Python 3
2. Install Angry Metal Guy Player: `pip3 install amg-player`

### From source

1. If you don't already have it, [install setuptools](https://pypi.python.org/pypi/setuptools#installation-instructions) for Python 3
2. Clone this repository: `git clone https://github.com/desbma/amg-player`
3. Install Angry Metal Guy Player: `python3 setup.py install`

**Angry Metal Guy Player only supports [MPV player](https://mpv.io/) 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

[GPLv3](https://www.gnu.org/licenses/gpl-3.0-standalone.html)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/desbma/amg-player",
    "name": "amg-player",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "music,metal,extreme,angry,guy,player,youtube,bandcamp,soundcloud",
    "author": "desbma",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/ef/47/873db51036fd486fbf9df19823c8a747e6048e15f7d2c5557392c381ac8e/amg-player-2024.3.12.0.tar.gz",
    "platform": null,
    "description": "# Angry Metal Guy Player\n\n[![Latest version](https://img.shields.io/pypi/v/amg-player.svg?style=flat)](https://pypi.python.org/pypi/amg-player/)\n[![Tests status](https://github.com/desbma/amg-player/actions/workflows/ci.yml/badge.svg)](https://github.com/desbma/amg-player/actions)\n[![Coverage](https://img.shields.io/coveralls/desbma/amg-player/master.svg?style=flat)](https://coveralls.io/github/desbma/amg-player?branch=master)\n[![Lines of code](https://tokei.rs/b1/github/desbma/amg-player)](https://github.com/desbma/amg-player)\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/amg-player.svg?style=flat)](https://pypi.python.org/pypi/amg-player/)\n[![License](https://img.shields.io/github/license/desbma/amg-player.svg?style=flat)](https://pypi.python.org/pypi/amg/)\n\nAngry Metal Guy Player (AMG Player) is a Python multi platform console tool to automatically play or download tracks from [Angry Metal Guy](https://www.angrymetalguy.com/) reviews.\n\nI created this because:\n\n- I like Angry Metal Guy, and discovered great music (both metal and totally non-metal) thanks to their reviews\n- I often disagree with their ratings (in fact I disagree more often than I agree), both for overrating and underrating\n- Even when I disagree, I like reading their reviews\n- I want to listen to the music **before** I read the review, to avoid getting influenced\n- 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\n\n## Features\n\n- Can work either in interactive mode (manually select tracks) or totally automatic (play new tracks like a radio)\n- Supports embedded tracks from: YouTube, Bandcamp, SoundCloud, ReverbNation\n- Plays YouTube video if available, or generates a video on the fly with the cover image + audio track(s) (requires FFmpeg)\n- Can download tracks (with embedded album art) to play later\n\n## Screenshots\n\nSelection screen:  \n[![selection image](https://i.imgur.com/Ijrjd0Am.png)](https://i.imgur.com/Ijrjd0A.png)\n\nPlaying a track:  \n[![playing image](https://i.imgur.com/pXUScj2m.png)](https://i.imgur.com/pXUScj2.png)\n\n## Installation\n\nAngry Metal Guy Player requires [Python](https://www.python.org/downloads/) >= 3.7.\nSome features are only available if [FFmpeg](https://ffmpeg.org/download.html) >= 2.8 is installed.\n\n### From PyPI (with PIP)\n\n1. If you don't already have it, [install pip](https://pip.pypa.io/en/stable/installing/) for Python 3\n2. Install Angry Metal Guy Player: `pip3 install amg-player`\n\n### From source\n\n1. If you don't already have it, [install setuptools](https://pypi.python.org/pypi/setuptools#installation-instructions) for Python 3\n2. Clone this repository: `git clone https://github.com/desbma/amg-player`\n3. Install Angry Metal Guy Player: `python3 setup.py install`\n\n**Angry Metal Guy Player only supports [MPV player](https://mpv.io/) for now.**\n\n## Command line usage\n\nRun `amg -h` to get full command line reference.\n\n### Examples\n\n- Browse and play interactively last 50 reviews:\n\n  `amg -c 50`\n\n- Choose the first track to play, then play all tracks in chronological order:\n\n  `amg -m radio`\n\n- Play last 20 tracks in chronological order, skipping those already played:\n\n  `amg -c 20 -m discover`\n\n## License\n\n[GPLv3](https://www.gnu.org/licenses/gpl-3.0-standalone.html)\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Browse & play embedded tracks from Angry Metal Guy music reviews",
    "version": "2024.3.12.0",
    "project_urls": {
        "Download": "https://github.com/desbma/amg-player/archive/2024.03.12.0.tar.gz",
        "Homepage": "https://github.com/desbma/amg-player"
    },
    "split_keywords": [
        "music",
        "metal",
        "extreme",
        "angry",
        "guy",
        "player",
        "youtube",
        "bandcamp",
        "soundcloud"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ef47873db51036fd486fbf9df19823c8a747e6048e15f7d2c5557392c381ac8e",
                "md5": "de6477db977540481acc9a0fdb74510f",
                "sha256": "f1eb719d426d0139490ee4b751129ad3000196531e6dfd97a20c55ab2eb19a0c"
            },
            "downloads": -1,
            "filename": "amg-player-2024.3.12.0.tar.gz",
            "has_sig": false,
            "md5_digest": "de6477db977540481acc9a0fdb74510f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 49814,
            "upload_time": "2024-03-12T22:46:51",
            "upload_time_iso_8601": "2024-03-12T22:46:51.000511Z",
            "url": "https://files.pythonhosted.org/packages/ef/47/873db51036fd486fbf9df19823c8a747e6048e15f7d2c5557392c381ac8e/amg-player-2024.3.12.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-12 22:46:51",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "desbma",
    "github_project": "amg-player",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "appdirs",
            "specs": [
                [
                    ">=",
                    "1.4.3"
                ]
            ]
        },
        {
            "name": "cssselect",
            "specs": [
                [
                    ">=",
                    "1.0.3"
                ]
            ]
        },
        {
            "name": "curses-menu",
            "specs": [
                [
                    "==",
                    "0.5.0"
                ]
            ]
        },
        {
            "name": "lxml",
            "specs": [
                [
                    ">=",
                    "4.3.3"
                ]
            ]
        },
        {
            "name": "more_itertools",
            "specs": [
                [
                    ">=",
                    "8.3.0"
                ]
            ]
        },
        {
            "name": "mutagen",
            "specs": [
                [
                    ">=",
                    "1.42.0"
                ]
            ]
        },
        {
            "name": "Pillow",
            "specs": [
                [
                    ">=",
                    "6.0.0"
                ]
            ]
        },
        {
            "name": "python-magic",
            "specs": [
                [
                    ">=",
                    "0.4.27"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    ">=",
                    "2.22.0"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    "==",
                    "4.28.1"
                ]
            ]
        },
        {
            "name": "unidecode",
            "specs": [
                [
                    ">=",
                    "1.0.23"
                ]
            ]
        },
        {
            "name": "web_cache",
            "specs": [
                [
                    ">=",
                    "1.1.0"
                ]
            ]
        },
        {
            "name": "yt-dlp",
            "specs": [
                [
                    ">=",
                    "2023.12.30"
                ]
            ]
        }
    ],
    "lcname": "amg-player"
}
        
Elapsed time: 2.37131s