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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

listenbrainz_submit-1.0.1-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file listenbrainz_submit-1.0.1.tar.gz.

File metadata

  • Download URL: listenbrainz_submit-1.0.1.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for listenbrainz_submit-1.0.1.tar.gz
Algorithm Hash digest
SHA256 29090908c2b00aba2b073104a4f2dcebd5af11509dc1ca48d8fa1c0ddb6fe9c6
MD5 454577aebf4d74e535f3fc183db9a857
BLAKE2b-256 d464b96c5733f68b9712833117d0bc25261368f27736a3c2f9616ca303204f96

See more details on using hashes here.

File details

Details for the file listenbrainz_submit-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for listenbrainz_submit-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 11cccc23de493dcfcd9374abb34951ffa43aded26b7251891ad6849755ad951f
MD5 7e6ada034eadb459ab77e2e445353d1d
BLAKE2b-256 daac0254cec7e7a84131d61109e2cef406718b56457b375c842336779d266af3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page