Skip to main content

Shazam API wrapper

Project description

shazam.py

Python library for the Shazam API. This library is based off of ShazamAPI and SongRec but some added features.

NOTE: that this is still in its design and development phase. It works and *could* be used in production but beware of possible breaking changes.

Install

pip3 install shazam.py

If you're on linux, you'll also have to install pkg-config and libasound2-dev with your preferred package manager.

Usage

Synchronous Shazam:

from shazam import Shazam

mp3_file = open('a.mp3', 'rb').read()

with Shazam(mp3_file) as shazam:
    print(shazam.result)  # data received from the shazam api

A partially-asynchronous method is also provided: (partially because only requests are done asynchronously and not the signature generation. See #1)

from shazam import AsyncShazam

mp3_file = open('a.mp3', 'rb').read()

async with AsyncShazam(mp3_file) as shazam:
    print(shazam.result)

There is also support for using your own session objects and using Shazam and AsyncShazam outside of a context manager using the execute function.

Notes on the Shazam API

Shazam's api takes a "signature" of a song to search in their database before returning a result.

If you want to know more about the specifics of the algorithm, you can read the paper written by a co-founder of Shazam.

The implementation of the algorithm was written by @marin-m in their project. It was adapted to work with python through pyo3 here.

Why is this better than all other libraries ever?

Because rust

Credits to:

https://github.com/marin-m/SongRec https://github.com/Numenorean/ShazamAPI

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

shazam.py-1.0.0-cp310-none-win_amd64.whl (361.0 kB view details)

Uploaded CPython 3.10Windows x86-64

shazam.py-1.0.0-1-cp310-none-win_amd64.whl (361.0 kB view details)

Uploaded CPython 3.10Windows x86-64

File details

Details for the file shazam.py-1.0.0-cp310-none-win_amd64.whl.

File metadata

  • Download URL: shazam.py-1.0.0-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 361.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for shazam.py-1.0.0-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 b33a4c2672d5f6910aec3a2cffb63397f0a1db15aeb57f27acf9a340b0bbf7d9
MD5 375f79ac41adfb2f25aeeea45b8321a8
BLAKE2b-256 2d714f2ca282850735f8bfe22de4c2537ba26391e1503afa1753cca3641aaaf1

See more details on using hashes here.

File details

Details for the file shazam.py-1.0.0-1-cp310-none-win_amd64.whl.

File metadata

  • Download URL: shazam.py-1.0.0-1-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 361.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for shazam.py-1.0.0-1-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 3ed2f8ca97548c608f9a841076d47769ced330075e9589d58ebf3b3fdbae2f30
MD5 28cdaafc0318021974b832df6eee22ce
BLAKE2b-256 0a7f431586233632973965f207e888bc6833f5150ff9976e30cfb02010f64bb7

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