https://github.com/dbeley/mpdscrobble
mpdscrobble: a simple Last.fm scrobbler for MPD. Also compatible with ListenBrainz and Maloja.
https://github.com/dbeley/mpdscrobble
last-fm lastfm lastfm-scrobbler listenbrainz maloja mpd scrobble scrobbler scrobbling
Last synced: 3 months ago
JSON representation
mpdscrobble: a simple Last.fm scrobbler for MPD. Also compatible with ListenBrainz and Maloja.
- Host: GitHub
- URL: https://github.com/dbeley/mpdscrobble
- Owner: dbeley
- License: mit
- Created: 2021-02-24T21:25:41.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-07-04T21:06:00.000Z (over 1 year ago)
- Last Synced: 2025-04-05T17:35:16.689Z (6 months ago)
- Topics: last-fm, lastfm, lastfm-scrobbler, listenbrainz, maloja, mpd, scrobble, scrobbler, scrobbling
- Language: Python
- Homepage:
- Size: 91.8 KB
- Stars: 12
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mpdscrobble
A simple Last.fm scrobbler for MPD.
On top of [Last.fm](https://www.last.fm/home), mpdscrobble is also compatible with those services:
- [ListenBrainz](https://listenbrainz.org/)
- [Maloja](https://github.com/krateng/maloja)If you are searching for a mpd-compatible Last.fm scrobbler, check out first [mpdscribble](https://github.com/MusicPlayerDaemon/mpdscribble), as mpdscrobble has less features than mpdscribble:
- no journal of failed scrobbles
- it needs a pair of Last.fm API key/secret instead of just username/passwordIf you need to scrobble tracks from an existing mpdscribble journal file, you can use the [`mpdscribble_history.py`](https://github.com/dbeley/mpdscrobble/blob/main/mpdscribble_history.py) script.
## Requirements
- httpx
- mpd-python2
- pylast## Installation
Classic installation :
```
pip install mpdscrobble
mpdscrobble -h
```
You will then need to create a config file (see the [Configuration](#Configuration) section).If you want the systemd-service, you will have to install it manually (see the [Scheduling](#Scheduling) section).
### Run from source
#### First method
```
git clone https://github.com/dbeley/mpdscrobble
cd mpdscrobble
python setup.py install --user
mpdscrobble -h
```#### Second method (with pipenv)
```
git clone https://github.com/dbeley/mpdscrobble
cd mpdscrobble
pipenv install '-e .'
pipenv run mpdscrobble -h
```### On Archlinux
If you are an Archlinux user, you can install the AUR package [mpdscrobble-git](https://aur.archlinux.org/packages/mpdscrobble-git).
```
yay -S mpdscrobble-git
```The systemd service file will be automatically installed.
## Configuration
See [`mpdscrobble.example.conf`](https://github.com/dbeley/mpdscrobble/blob/main/mpdscrobble.example.conf) for an example.
By default, `mpdscrobble` search a config file at `~/.config/mpdscrobble/mpdscrobble.conf`, but you can override the default location with the `-c/--config` flag (see the [Usage](#Usage) section).
## Scheduling
If you installed the AUR package on Archlinux, the systemd service is automatically installed.
```
systemctl --user enable --now mpdscrobble
systemctl --user status mpdscrobble
```Otherwise you will need to manually install the systemd service.
```
curl https://raw.githubusercontent.com/dbeley/mpdscrobble/main/systemd-service/mpdscrobble.service > ~/.config/systemd/user/mpdscrobble.service
systemctl --user daemon-reload
systemctl --user enable --now mpdscrobble
systemctl --user status mpdscrobble
```## Usage
```
usage: mpdscrobble [-h] [--debug] [-c CONFIG_FILE] [--dry-run]A simple Last.fm scrobbler for MPD.
optional arguments:
-h, --help Show this help message and exit.
--debug Display debugging information.
-c CONFIG_FILE, --config_file CONFIG_FILE
Config file (default: ~/.config/mpdscrobble/mpdscrobble.conf).
--dry-run Disable scrobbling.
```