shazamio


Nameshazamio JSON
Version 0.6.0 PyPI version JSON
download
home_pagehttps://github.com/dotX12/ShazamIO
SummaryIs a asynchronous framework from reverse engineered Shazam API written in Python 3.8+ with asyncio and aiohttp.
upload_time2024-04-27 22:22:46
maintainerNone
docs_urlNone
authordotX12
requires_python<4.0,>=3.8
licenseMIT
keywords python shazam music recognize api async asyncio aiohttp identification
VCS
bugtrack_url
requirements aiofiles aiohttp attrs chardet dataclass-factory idna multidict numpy pydub typing-extensions yarl pytest setuptools pytest-asyncio anyio
Travis-CI
coveralls test coverage No coveralls.
            <p align="center">
<img src="https://scrutinizer-ci.com/g/dotX12/ShazamIO/badges/quality-score.png?b=master" alt="https://scrutinizer-ci.com/g/dotX12/ShazamIO/">
<img src="https://scrutinizer-ci.com/g/dotX12/ShazamIO/badges/code-intelligence.svg?b=master" alt="https://scrutinizer-ci.com/g/dotX12/ShazamIO/">
<img src="https://scrutinizer-ci.com/g/dotX12/ShazamIO/badges/build.png?b=master" alt="https://scrutinizer-ci.com/g/dotX12/ShazamIO/">
<img src="https://badge.fury.io/py/shazamio.svg" alt="https://badge.fury.io/py/shazamio">
<img src="https://pepy.tech/badge/shazamio" alt="https://pepy.tech/project/shazamio">
<img src="https://pepy.tech/badge/shazamio/month" alt="https://pepy.tech/project/shazamio">
<img src="https://img.shields.io/github/license/dotX12/shazamio.svg" alt="https://github.com/dotX12/ShazamIO/blob/master/LICENSE.txt">
<br><br>
  
  <img width="1000" src="https://user-images.githubusercontent.com/64792903/109359596-ca561a00-7896-11eb-9c93-9cf1f283b1a5.png">
  🎡 Is a FREE asynchronous library from reverse engineered Shazam API written in Python 3.8+ with asyncio and aiohttp. Includes all the methods that Shazam has, including searching for a song by file.
 
-----
</p>

## πŸ’Ώ Installation

```
πŸ’² pip install shazamio
```

## πŸ’» Example


<details> 
<summary>
<i>πŸ”ŽπŸŽ΅ Recognize track</i>
</summary>

Recognize a track based on a file<br>

  ```python3
import asyncio
from shazamio import Shazam


async def main():
    shazam = Shazam()
    # out = await shazam.recognize_song('dora.ogg') # slow and deprecated, don't use this!
    out = await shazam.recognize('dora.ogg')  # rust version, use this!
    print(out)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())
  ```
</details>

<details> 
<summary>
<i>πŸ‘¨β€πŸŽ€ About artist</i>
</summary>

Retrieving information from an artist profile<br>
<a href="https://www.shazam.com/artist/43328183/nathan-evans">https://www.shazam.com/artist/43328183/nathan-evans</a>

  ```python3
import asyncio
from shazamio import Shazam, Serialize


async def main():
    shazam = Shazam()
    artist_id = 43328183
    about_artist = await shazam.artist_about(artist_id)
    serialized = Serialize.artist(about_artist)

    print(about_artist)  # dict
    print(serialized)  # serialized from dataclass factory

loop = asyncio.get_event_loop()
loop.run_until_complete(main())
  ```
</details>


<details> 
<summary>
<i>πŸŽ΅πŸ“„ About track</i>
</summary>

Get track information<br>
<a href="https://www.shazam.com/track/552406075/ale-jazz">https://www.shazam.com/track/552406075/ale-jazz</a>

  ```python3
import asyncio
from shazamio import Shazam, Serialize


async def main():
    shazam = Shazam()
    track_id = 552406075
    about_track = await shazam.track_about(track_id=track_id)
    serialized = Serialize.track(data=about_track)

    print(about_track)  # dict
    print(serialized)  # serialized from dataclass factory

loop = asyncio.get_event_loop()
loop.run_until_complete(main())
  ```
</details>

<details> 
<summary>
<i>πŸŽ΅βŒ› Track listenings count</i>
</summary>

Returns the number of times a particular song has been played<br>
<a href="https://www.shazam.com/track/559284007/rampampam">https://www.shazam.com/track/559284007/rampampam</a>

  ```python3
import asyncio
from shazamio import Shazam


async def main():
    # Example: https://www.shazam.com/track/559284007/rampampam

    shazam = Shazam()
    track_id = 559284007
    count = await shazam.listening_counter(track_id=track_id)
    print(count)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())
  ```
</details>

<details> 
<summary>
<i>πŸŽΆπŸ’¬ Similar songs</i>
</summary>

Similar songs based song id<br>
<a href="https://www.shazam.com/track/546891609/2-phu%CC%81t-ho%CC%9Bn-kaiz-remix">https://www.shazam.com/track/546891609/2-phu%CC%81t-ho%CC%9Bn-kaiz-remix</a>

  ```python3
import asyncio
from shazamio import Shazam


async def main():
    shazam = Shazam()
    track_id = 546891609
    related = await shazam.related_tracks(track_id=track_id, limit=5, offset=2)
    # ONLY β„–3, β„–4 SONG
    print(related)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())
  ```
</details>

<details> 
<summary>
<i>πŸ”ŽπŸ‘¨β€πŸŽ€ Search artists</i>
</summary>

Search all artists by prefix<br>
  ```python3
import asyncio
from shazamio import Shazam, Serialize


async def main():
    shazam = Shazam()
    artists = await shazam.search_artist(query='Lil', limit=5)
    for artist in artists['artists']['hits']:
        serialized = Serialize.artist(data=artist)
        print(serialized)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

  ```
</details>

<details> 
<summary>
<i>πŸ”ŽπŸŽΆ Search tracks</i>
</summary>

Search all tracks by prefix<br>

  ```python3
import asyncio
from shazamio import Shazam


async def main():
    shazam = Shazam()
    tracks = await shazam.search_track(query='Lil', limit=5)
    print(tracks)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

  ```
</details>

<details> 
<summary>
<i>πŸ”πŸŽΆπŸ‘¨β€πŸŽ€ Top artist tracks</i>
</summary>

Get the top songs according to Shazam<br>
<a href="https://www.shazam.com/artist/201896832/kizaru">https://www.shazam.com/artist/201896832/kizaru</a>

  ```python3
import asyncio
from shazamio import Shazam, Serialize
from shazamio.schemas.artists import ArtistQuery
from shazamio.schemas.enums import ArtistView


async def main():
    shazam = Shazam()
    artist_id = 1081606072

    about_artist = await shazam.artist_about(
        artist_id,
        query=ArtistQuery(
            views=[
                ArtistView.TOP_SONGS,
            ],
        ),
    )
    serialized = Serialize.artist_v2(about_artist)
    for i in serialized.data[0].views.top_songs.data:
        print(i.attributes.name)


loop = asyncio.get_event_loop_policy().get_event_loop()
loop.run_until_complete(main())


  ```
</details>

<details> 
<summary>
<i>πŸ”πŸŽΆπŸ™οΈ Top tracks in city</i>
</summary>

Retrieving information from an artist profile<br>
<a href="https://www.shazam.com/charts/top-50/russia/moscow">https://www.shazam.com/charts/top-50/russia/moscow</a>

  ```python3
import asyncio
from shazamio import Shazam, Serialize


async def main():
    shazam = Shazam()
    top_ten_moscow_tracks = await shazam.top_city_tracks(country_code='RU', city_name='Moscow', limit=10)
    print(top_ten_moscow_tracks)
    # ALL TRACKS DICT
    for track in top_ten_moscow_tracks['tracks']:
        serialized = Serialize.track(data=track)
        # SERIALIZE FROM DATACLASS FACTORY
        print(serialized)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

  ```
</details>

<details> 
<summary>
<i>πŸ”πŸŽΆπŸ³οΈβ€πŸŒˆ Top tracks in country</i>
</summary>

Get the best tracks by country code<br>
<a href="https://www.shazam.com/charts/discovery/netherlands">https://www.shazam.com/charts/discovery/netherlands</a>

  ```python3
import asyncio
from shazamio import Shazam, Serialize


async def main():
    shazam = Shazam()
    top_five_track_from_amsterdam = await shazam.top_country_tracks('NL', 5)
    for track in top_five_track_from_amsterdam['tracks']:
        serialized = Serialize.track(data=track)
        print(serialized)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())
  ```
</details>

<details> 
<summary>
<i>πŸ”πŸŽΆπŸ³οΈβ€πŸŒˆπŸŽΈ Top tracks in country by genre</i>
</summary>

The best tracks by a genre in the country<br>
<a href="https://www.shazam.com/charts/genre/spain/hip-hop-rap">https://www.shazam.com/charts/genre/spain/hip-hop-rap</a>

  ```python3
import asyncio
from shazamio import Shazam, GenreMusic


async def main():
    shazam = Shazam()
    top_spain_rap = await shazam.top_country_genre_tracks(
        country_code='ES',
        genre=GenreMusic.HIP_HOP_RAP,
        limit=4
    )
    print(top_spain_rap)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())
  ```
</details>

<details> 
<summary>
<i>πŸ”πŸŽΆπŸŒπŸŽΈ Top tracks in world by genre</i>
</summary>

Get world tracks by certain genre<br>
<a href="https://www.shazam.com/charts/genre/world/rock">https://www.shazam.com/charts/genre/world/rock</a>

  ```python3
import asyncio
from shazamio import Shazam, Serialize, GenreMusic


async def main():
    shazam = Shazam()
    top_rock_in_the_world = await shazam.top_world_genre_tracks(genre=GenreMusic.ROCK, limit=10)

    for track in top_rock_in_the_world['tracks']:
        serialized_track = Serialize.track(data=track)
        print(serialized_track.spotify_url)


loop = asyncio.get_event_loop()
loop.run_until_complete(main())
  ```
</details>

<details> 
<summary>
<i>πŸ”πŸŽΆπŸŒTop tracks in world</i>
</summary>

Get the best tracks from all over the world<br>
<a href="https://www.shazam.com/charts/top-200/world">https://www.shazam.com/charts/top-200/world</a>

  ```python3
import asyncio
from shazamio import Shazam, Serialize


async def main():
    shazam = Shazam()
    top_world_tracks = await shazam.top_world_tracks(limit=10)
    print(top_world_tracks)
    for track in top_world_tracks['tracks']:
        serialized = Serialize.track(track)
        print(serialized)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())
  ```
</details>


## How to use data serialization

<details> 
<summary>
<i>Open Code</i>
</summary>

  ```python3
import asyncio
from shazamio import Shazam, Serialize


async def main():
    shazam = Shazam()
    top_five_track_from_amsterdam = await shazam.top_country_tracks('NL', 5)
    for track in top_five_track_from_amsterdam['tracks']:
        serialized = Serialize.track(data=track)
        print(serialized.title)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())
  ```
</details>

<details> 
<summary>
<i>Open photo: What song information looks like (Dict)</i>
</summary>
<img src="https://user-images.githubusercontent.com/64792903/109454521-75b4c980-7a65-11eb-917e-62da3abefb8a.png">

</details>

<details> 
<summary>
<i>Open photo: what song information looks like (Custom serializer)</i>
</summary>
<img src="https://user-images.githubusercontent.com/64792903/109454465-57e76480-7a65-11eb-956c-1bcac41d7de5.png">

</details>

Agree, thanks to the serializer, you no longer need to manually select the necessary data from the dictionary. Now the serializer contains the most necessary information about an artist or a track.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/dotX12/ShazamIO",
    "name": "shazamio",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": "python, shazam, music, recognize, api, async, asyncio, aiohttp, identification",
    "author": "dotX12",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/42/80/74bfd3f70770414b6000049c0451571e389b82dd50d5024271321ce34321/shazamio-0.6.0.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n<img src=\"https://scrutinizer-ci.com/g/dotX12/ShazamIO/badges/quality-score.png?b=master\" alt=\"https://scrutinizer-ci.com/g/dotX12/ShazamIO/\">\n<img src=\"https://scrutinizer-ci.com/g/dotX12/ShazamIO/badges/code-intelligence.svg?b=master\" alt=\"https://scrutinizer-ci.com/g/dotX12/ShazamIO/\">\n<img src=\"https://scrutinizer-ci.com/g/dotX12/ShazamIO/badges/build.png?b=master\" alt=\"https://scrutinizer-ci.com/g/dotX12/ShazamIO/\">\n<img src=\"https://badge.fury.io/py/shazamio.svg\" alt=\"https://badge.fury.io/py/shazamio\">\n<img src=\"https://pepy.tech/badge/shazamio\" alt=\"https://pepy.tech/project/shazamio\">\n<img src=\"https://pepy.tech/badge/shazamio/month\" alt=\"https://pepy.tech/project/shazamio\">\n<img src=\"https://img.shields.io/github/license/dotX12/shazamio.svg\" alt=\"https://github.com/dotX12/ShazamIO/blob/master/LICENSE.txt\">\n<br><br>\n  \n  <img width=\"1000\" src=\"https://user-images.githubusercontent.com/64792903/109359596-ca561a00-7896-11eb-9c93-9cf1f283b1a5.png\">\n  \ud83c\udfb5 Is a FREE asynchronous library from reverse engineered Shazam API written in Python 3.8+ with asyncio and aiohttp. Includes all the methods that Shazam has, including searching for a song by file.\n \n-----\n</p>\n\n## \ud83d\udcbf Installation\n\n```\n\ud83d\udcb2 pip install shazamio\n```\n\n## \ud83d\udcbb Example\n\n\n<details> \n<summary>\n<i>\ud83d\udd0e\ud83c\udfb5 Recognize track</i>\n</summary>\n\nRecognize a track based on a file<br>\n\n  ```python3\nimport asyncio\nfrom shazamio import Shazam\n\n\nasync def main():\n    shazam = Shazam()\n    # out = await shazam.recognize_song('dora.ogg') # slow and deprecated, don't use this!\n    out = await shazam.recognize('dora.ogg')  # rust version, use this!\n    print(out)\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main())\n  ```\n</details>\n\n<details> \n<summary>\n<i>\ud83d\udc68\u200d\ud83c\udfa4 About artist</i>\n</summary>\n\nRetrieving information from an artist profile<br>\n<a href=\"https://www.shazam.com/artist/43328183/nathan-evans\">https://www.shazam.com/artist/43328183/nathan-evans</a>\n\n  ```python3\nimport asyncio\nfrom shazamio import Shazam, Serialize\n\n\nasync def main():\n    shazam = Shazam()\n    artist_id = 43328183\n    about_artist = await shazam.artist_about(artist_id)\n    serialized = Serialize.artist(about_artist)\n\n    print(about_artist)  # dict\n    print(serialized)  # serialized from dataclass factory\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main())\n  ```\n</details>\n\n\n<details> \n<summary>\n<i>\ud83c\udfb5\ud83d\udcc4 About track</i>\n</summary>\n\nGet track information<br>\n<a href=\"https://www.shazam.com/track/552406075/ale-jazz\">https://www.shazam.com/track/552406075/ale-jazz</a>\n\n  ```python3\nimport asyncio\nfrom shazamio import Shazam, Serialize\n\n\nasync def main():\n    shazam = Shazam()\n    track_id = 552406075\n    about_track = await shazam.track_about(track_id=track_id)\n    serialized = Serialize.track(data=about_track)\n\n    print(about_track)  # dict\n    print(serialized)  # serialized from dataclass factory\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main())\n  ```\n</details>\n\n<details> \n<summary>\n<i>\ud83c\udfb5\u231b Track listenings count</i>\n</summary>\n\nReturns the number of times a particular song has been played<br>\n<a href=\"https://www.shazam.com/track/559284007/rampampam\">https://www.shazam.com/track/559284007/rampampam</a>\n\n  ```python3\nimport asyncio\nfrom shazamio import Shazam\n\n\nasync def main():\n    # Example: https://www.shazam.com/track/559284007/rampampam\n\n    shazam = Shazam()\n    track_id = 559284007\n    count = await shazam.listening_counter(track_id=track_id)\n    print(count)\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main())\n  ```\n</details>\n\n<details> \n<summary>\n<i>\ud83c\udfb6\ud83d\udcac Similar songs</i>\n</summary>\n\nSimilar songs based song id<br>\n<a href=\"https://www.shazam.com/track/546891609/2-phu%CC%81t-ho%CC%9Bn-kaiz-remix\">https://www.shazam.com/track/546891609/2-phu%CC%81t-ho%CC%9Bn-kaiz-remix</a>\n\n  ```python3\nimport asyncio\nfrom shazamio import Shazam\n\n\nasync def main():\n    shazam = Shazam()\n    track_id = 546891609\n    related = await shazam.related_tracks(track_id=track_id, limit=5, offset=2)\n    # ONLY \u21163, \u21164 SONG\n    print(related)\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main())\n  ```\n</details>\n\n<details> \n<summary>\n<i>\ud83d\udd0e\ud83d\udc68\u200d\ud83c\udfa4 Search artists</i>\n</summary>\n\nSearch all artists by prefix<br>\n  ```python3\nimport asyncio\nfrom shazamio import Shazam, Serialize\n\n\nasync def main():\n    shazam = Shazam()\n    artists = await shazam.search_artist(query='Lil', limit=5)\n    for artist in artists['artists']['hits']:\n        serialized = Serialize.artist(data=artist)\n        print(serialized)\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main())\n\n  ```\n</details>\n\n<details> \n<summary>\n<i>\ud83d\udd0e\ud83c\udfb6 Search tracks</i>\n</summary>\n\nSearch all tracks by prefix<br>\n\n  ```python3\nimport asyncio\nfrom shazamio import Shazam\n\n\nasync def main():\n    shazam = Shazam()\n    tracks = await shazam.search_track(query='Lil', limit=5)\n    print(tracks)\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main())\n\n  ```\n</details>\n\n<details> \n<summary>\n<i>\ud83d\udd1d\ud83c\udfb6\ud83d\udc68\u200d\ud83c\udfa4 Top artist tracks</i>\n</summary>\n\nGet the top songs according to Shazam<br>\n<a href=\"https://www.shazam.com/artist/201896832/kizaru\">https://www.shazam.com/artist/201896832/kizaru</a>\n\n  ```python3\nimport asyncio\nfrom shazamio import Shazam, Serialize\nfrom shazamio.schemas.artists import ArtistQuery\nfrom shazamio.schemas.enums import ArtistView\n\n\nasync def main():\n    shazam = Shazam()\n    artist_id = 1081606072\n\n    about_artist = await shazam.artist_about(\n        artist_id,\n        query=ArtistQuery(\n            views=[\n                ArtistView.TOP_SONGS,\n            ],\n        ),\n    )\n    serialized = Serialize.artist_v2(about_artist)\n    for i in serialized.data[0].views.top_songs.data:\n        print(i.attributes.name)\n\n\nloop = asyncio.get_event_loop_policy().get_event_loop()\nloop.run_until_complete(main())\n\n\n  ```\n</details>\n\n<details> \n<summary>\n<i>\ud83d\udd1d\ud83c\udfb6\ud83c\udfd9\ufe0f Top tracks in city</i>\n</summary>\n\nRetrieving information from an artist profile<br>\n<a href=\"https://www.shazam.com/charts/top-50/russia/moscow\">https://www.shazam.com/charts/top-50/russia/moscow</a>\n\n  ```python3\nimport asyncio\nfrom shazamio import Shazam, Serialize\n\n\nasync def main():\n    shazam = Shazam()\n    top_ten_moscow_tracks = await shazam.top_city_tracks(country_code='RU', city_name='Moscow', limit=10)\n    print(top_ten_moscow_tracks)\n    # ALL TRACKS DICT\n    for track in top_ten_moscow_tracks['tracks']:\n        serialized = Serialize.track(data=track)\n        # SERIALIZE FROM DATACLASS FACTORY\n        print(serialized)\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main())\n\n  ```\n</details>\n\n<details> \n<summary>\n<i>\ud83d\udd1d\ud83c\udfb6\ud83c\udff3\ufe0f\u200d\ud83c\udf08 Top tracks in country</i>\n</summary>\n\nGet the best tracks by country code<br>\n<a href=\"https://www.shazam.com/charts/discovery/netherlands\">https://www.shazam.com/charts/discovery/netherlands</a>\n\n  ```python3\nimport asyncio\nfrom shazamio import Shazam, Serialize\n\n\nasync def main():\n    shazam = Shazam()\n    top_five_track_from_amsterdam = await shazam.top_country_tracks('NL', 5)\n    for track in top_five_track_from_amsterdam['tracks']:\n        serialized = Serialize.track(data=track)\n        print(serialized)\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main())\n  ```\n</details>\n\n<details> \n<summary>\n<i>\ud83d\udd1d\ud83c\udfb6\ud83c\udff3\ufe0f\u200d\ud83c\udf08\ud83c\udfb8 Top tracks in country by genre</i>\n</summary>\n\nThe best tracks by a genre in the country<br>\n<a href=\"https://www.shazam.com/charts/genre/spain/hip-hop-rap\">https://www.shazam.com/charts/genre/spain/hip-hop-rap</a>\n\n  ```python3\nimport asyncio\nfrom shazamio import Shazam, GenreMusic\n\n\nasync def main():\n    shazam = Shazam()\n    top_spain_rap = await shazam.top_country_genre_tracks(\n        country_code='ES',\n        genre=GenreMusic.HIP_HOP_RAP,\n        limit=4\n    )\n    print(top_spain_rap)\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main())\n  ```\n</details>\n\n<details> \n<summary>\n<i>\ud83d\udd1d\ud83c\udfb6\ud83c\udf0f\ud83c\udfb8 Top tracks in world by genre</i>\n</summary>\n\nGet world tracks by certain genre<br>\n<a href=\"https://www.shazam.com/charts/genre/world/rock\">https://www.shazam.com/charts/genre/world/rock</a>\n\n  ```python3\nimport asyncio\nfrom shazamio import Shazam, Serialize, GenreMusic\n\n\nasync def main():\n    shazam = Shazam()\n    top_rock_in_the_world = await shazam.top_world_genre_tracks(genre=GenreMusic.ROCK, limit=10)\n\n    for track in top_rock_in_the_world['tracks']:\n        serialized_track = Serialize.track(data=track)\n        print(serialized_track.spotify_url)\n\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main())\n  ```\n</details>\n\n<details> \n<summary>\n<i>\ud83d\udd1d\ud83c\udfb6\ud83c\udf0fTop tracks in world</i>\n</summary>\n\nGet the best tracks from all over the world<br>\n<a href=\"https://www.shazam.com/charts/top-200/world\">https://www.shazam.com/charts/top-200/world</a>\n\n  ```python3\nimport asyncio\nfrom shazamio import Shazam, Serialize\n\n\nasync def main():\n    shazam = Shazam()\n    top_world_tracks = await shazam.top_world_tracks(limit=10)\n    print(top_world_tracks)\n    for track in top_world_tracks['tracks']:\n        serialized = Serialize.track(track)\n        print(serialized)\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main())\n  ```\n</details>\n\n\n## How to use data serialization\n\n<details> \n<summary>\n<i>Open Code</i>\n</summary>\n\n  ```python3\nimport asyncio\nfrom shazamio import Shazam, Serialize\n\n\nasync def main():\n    shazam = Shazam()\n    top_five_track_from_amsterdam = await shazam.top_country_tracks('NL', 5)\n    for track in top_five_track_from_amsterdam['tracks']:\n        serialized = Serialize.track(data=track)\n        print(serialized.title)\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main())\n  ```\n</details>\n\n<details> \n<summary>\n<i>Open photo: What song information looks like (Dict)</i>\n</summary>\n<img src=\"https://user-images.githubusercontent.com/64792903/109454521-75b4c980-7a65-11eb-917e-62da3abefb8a.png\">\n\n</details>\n\n<details> \n<summary>\n<i>Open photo: what song information looks like (Custom serializer)</i>\n</summary>\n<img src=\"https://user-images.githubusercontent.com/64792903/109454465-57e76480-7a65-11eb-956c-1bcac41d7de5.png\">\n\n</details>\n\nAgree, thanks to the serializer, you no longer need to manually select the necessary data from the dictionary. Now the serializer contains the most necessary information about an artist or a track.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Is a asynchronous framework from reverse engineered Shazam API written in Python 3.8+ with asyncio and aiohttp.",
    "version": "0.6.0",
    "project_urls": {
        "Homepage": "https://github.com/dotX12/ShazamIO",
        "Repository": "https://github.com/dotX12/ShazamIO"
    },
    "split_keywords": [
        "python",
        " shazam",
        " music",
        " recognize",
        " api",
        " async",
        " asyncio",
        " aiohttp",
        " identification"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "44224693e27cc2d87abc7f27850ca1be6768b5731d5561de5b604a894cbaaba7",
                "md5": "357dc1fe45dad17518ec04763411d441",
                "sha256": "ffc85901715950354cfd5bc6596e8a08972e483cb3c0c316ad9b3dcb25548c3f"
            },
            "downloads": -1,
            "filename": "shazamio-0.6.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "357dc1fe45dad17518ec04763411d441",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 39459,
            "upload_time": "2024-04-27T22:22:44",
            "upload_time_iso_8601": "2024-04-27T22:22:44.432577Z",
            "url": "https://files.pythonhosted.org/packages/44/22/4693e27cc2d87abc7f27850ca1be6768b5731d5561de5b604a894cbaaba7/shazamio-0.6.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "428074bfd3f70770414b6000049c0451571e389b82dd50d5024271321ce34321",
                "md5": "681523597c85872569a5bb2c7a369ec3",
                "sha256": "12f59c6b4fdfb28416e7299a01f8bb49e5e243dd48c2249df790dc85e8208cbf"
            },
            "downloads": -1,
            "filename": "shazamio-0.6.0.tar.gz",
            "has_sig": false,
            "md5_digest": "681523597c85872569a5bb2c7a369ec3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 27752,
            "upload_time": "2024-04-27T22:22:46",
            "upload_time_iso_8601": "2024-04-27T22:22:46.170228Z",
            "url": "https://files.pythonhosted.org/packages/42/80/74bfd3f70770414b6000049c0451571e389b82dd50d5024271321ce34321/shazamio-0.6.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-27 22:22:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dotX12",
    "github_project": "ShazamIO",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "aiofiles",
            "specs": [
                [
                    "~=",
                    "0.8.0"
                ]
            ]
        },
        {
            "name": "aiohttp",
            "specs": [
                [
                    "~=",
                    "3.8.1"
                ]
            ]
        },
        {
            "name": "attrs",
            "specs": [
                [
                    "==",
                    "20.3.0"
                ]
            ]
        },
        {
            "name": "chardet",
            "specs": [
                [
                    "==",
                    "3.0.4"
                ]
            ]
        },
        {
            "name": "dataclass-factory",
            "specs": [
                [
                    "==",
                    "2.16"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.1"
                ]
            ]
        },
        {
            "name": "multidict",
            "specs": [
                [
                    "==",
                    "5.1.0"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    "~=",
                    "1.22.1"
                ]
            ]
        },
        {
            "name": "pydub",
            "specs": [
                [
                    "==",
                    "0.25.1"
                ]
            ]
        },
        {
            "name": "typing-extensions",
            "specs": [
                [
                    "==",
                    "3.7.4.3"
                ]
            ]
        },
        {
            "name": "yarl",
            "specs": [
                [
                    "==",
                    "1.6.3"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    "~=",
                    "7.1.2"
                ]
            ]
        },
        {
            "name": "setuptools",
            "specs": [
                [
                    "~=",
                    "65.5.1"
                ]
            ]
        },
        {
            "name": "pytest-asyncio",
            "specs": [
                [
                    "~=",
                    "0.19.0"
                ]
            ]
        },
        {
            "name": "anyio",
            "specs": [
                [
                    "~=",
                    "3.6.1"
                ]
            ]
        }
    ],
    "lcname": "shazamio"
}
        
Elapsed time: 0.26403s