Fetch music metadata from common Music APIs for a variety of data sources
Project description
metadata-extractor
Package to fetch music metadata from common Music APIs from a variety of data sources.
Currently, YouTube, YouTube Music and Spotify links are supported and data is fetched from Spotify APIs.
Installation
pip install music-metadata-extractor
Ensure that the .env
file for your project has all the environment variables defined in .env.template
.
SPOTIPY_CLIENT_ID
and SPOTIPY_CLIENT_SECRET
can be obtained by creating a new app on the Spotify Developer Dashboard.
Similarly, you can get GOOGLE_APPLICATION_CREDENTIALS
by creating a new project on the Google Developer Console. Enable the YouTube Data API
and create credentials. Use the API key you get in the GOOGLE_APPLICATION_CREDENTIALS
.
Usage
Example
from music_metadata_extractor import SongData
data = SongData("https://www.youtube.com/watch?v=xwtdhWltSIg")
print(data)
The output is in the format
<SongData(
track=<Track(provider_id=31AOj9sFz2gM0O3hMARRBx, name=Losing My Religion, is_cover=False, original_id=None,popularity=82, year=1991-03-12, explicit=False, image_id=https://i.scdn.co/image/ab67616d0000b273e2dd4e821bcc3f70dc0c8ffd, genres=[])>,
artists=[<Artist(provider_id=4KWTAlx2RvbpseOGMEmROg, name=R.E.M., image_id=https://i.scdn.co/image/d24ff8fbfd6688b345a5d53acff032d2ac1ff387, genres=['alternative rock', 'classic rock', 'permanent wave', 'pop rock', 'rock'])>],
extraAttrs={'youtube': {'title': 'R.E.M. - Losing My Religion (Official Music Video)', 'views': '770535535', 'posted_date': datetime.datetime(2011, 7, 2, 0, 30, 31, tzinfo=tzutc()), 'converted_link': 'https://www.youtube.com/watch?v=xwtdhWltSIg'}}
)>
music.youtube.com/watch
links and open.spotify.com/track/
are also supported as inputs to SongData
.
YouTube Music and Spotify links are converted to their equivalent YouTube links and returned in the converted_link
field of the extraAttrs
attribute.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file music_metadata_extractor-1.3.2.tar.gz
.
File metadata
- Download URL: music_metadata_extractor-1.3.2.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcaaae162f0528dda5d30af2c1317b5f79785884ab800bc26ad2c4f4a01775c1 |
|
MD5 | e23c481dbdaddf16a8879421f53ebc2d |
|
BLAKE2b-256 | c2ecce8ca2c4c257d2309c77c99f4bea95b21c731a9b0e61c6565d046dfe96ab |
File details
Details for the file music_metadata_extractor-1.3.2-py3-none-any.whl
.
File metadata
- Download URL: music_metadata_extractor-1.3.2-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a401288cc5583f56aad802d3a4b7be933726a061d489a01456ca240fecc3efd |
|
MD5 | 329fa597df775fd311d2ba8daef90a1d |
|
BLAKE2b-256 | 029d2a30ef20d0c577758def29d51f26dc6d408b098f5d89023b5b34a8f4a690 |