Skip to main content

Simple client library to submit listens to the ListenBrainz server

Project description

Python module to submit listens to the ListenBrainz service

Simple python module to submit listens to the ListenBrainz server.

Supports submitting single listens, now playing notifications and import of multiple listens. Automatically honors the ListenBrainz server's rate limits.

Usage

import time
from listenbrainz_submit import ListenBrainzClient, Track


# The user's personal ListenBrainz token obtained from https://listenbrainz.org/profile/
user_token = "..."
client = ListenBrainzClient(user_token=user_token)

# Prepare a track to submit
track = Track(
    artist_name="Dool",
    track_name="Vantablack",
    release_name="Here Now, There Then",
    additional_info={
        "listening_from": "My great music player",
        "recording_mbid": "e225fb84-dc9a-419e-adcd-9890f59ec432",
        "release_mbid": "aa1ea1ac-7ec4-4542-a494-105afbfe547d",
        "artist_mbids": "24412926-c7bd-48e8-afad-8a285b42e131",
        "tracknumber": 1,
    }
)

# Inform ListenBrainz that this track is playing right now. ListenBrainz
# will display this track on the user's listens page as being currently played.
client.playing_now(track)

To actually submit a track as has been listened to call:

# Submit the listen with a current timestamp
client.listen(int(time.time()), track)

For details on the API usage please refer to the ListenBrainz API documentation, especially the Payload JSON details which describes the metadata that can be submitted.

License

listenbrainz-submit © 2018-2023 Philipp Wolfer ph.wolfer@gmail.com

Published under the MIT license, see LICENSE for details.

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

listenbrainz_submit-1.0.1.tar.gz (4.7 kB view hashes)

Uploaded Source

Built Distribution

listenbrainz_submit-1.0.1-py3-none-any.whl (5.7 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