Skip to content

Releases: shazamio/ShazamIO

upd: Pydantic2, >= Python3.10

29 Oct 04:22
27ed16c
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.6.0...0.7.0

Fix top tracks logic, fix tests, small code refactoring.

27 Apr 22:22
11df2e4
Compare
Choose a tag to compare

Shazam has changed the contract for obtaining top songs:

Top tracks in country by genre
Top tracks in country
Top tracks in city
Top tracks in world by genre
Top tracks in world
We managed to maintain this functionality, but the format of the responses has changed, as have the response models! Please make corrections, the data has changed significantly!!!

Added playlist and playlists methods for Serialize.

Minor fixes, corrected pydantic models, corrected song recognition test, because for some reason the song from dora.ogg disappeared from shazam (???).

⚠️ Fix: #105, thx @cc00010


Feature: #101
Feature: #99
Feature: fix pytest.

Fix retry logic

25 Feb 01:12
f088e77
Compare
Choose a tag to compare

It looks like the current timeout time is not enough, our end up in max attempts + max timeout 30 seconds and after 429 error.
A fix has been added to increase this max_timeout to 60 seconds.

And also if 60 seconds is not enough for you, you can override the wait timeout.

shazam = Shazam(
    http_client=HTTPClient(
        retry_options=ExponentialRetry(attempts=12, max_timeout=204.8, statuses={500, 502, 503, 504, 429}),
    ),
)

Big update 0.5.0!

23 Feb 15:59
3c50f4a
Compare
Choose a tag to compare
  • All complex logic for song recognition has been moved to RUST (shazamio_core) (used pyo3).

    • Wheel: windows [x86_64, amd64]
    • Wheel: macos [x86_64, aarch64]
    • Wheel: manylinux [x86_64, aarch64]
  • No more code blocking, true asynchronous code. See: #76 (comment)

  • recognize_song deprecated.

  • Added interface for custom HTTPClient.

  • Added the ability to use a proxy.

  • Added retry exponential.

  • Code refactoring.

  • The foundation has been laid to add logging to the project.

  • Added random device for recognize requests, previously there was only android.


A huge amount of time and effort was spent on assembling the kernel, since this was the first time I wrote CI to build pyo3 with manylinux.
shazamio-core is temporarily not in the organization, because I have exhausted the limit of 2000 minutes, next month it will be added to the organization.

The core is compiled for [windows, macos, manylinux x64, manylinux aarch64]
Tested:

windows
macos
manylinux
There is no way to check: aarch64, but the wheels are built for it.

0.4.0.1

05 May 09:08
17627a8
Compare
Choose a tag to compare

Fix: #58

0.4.0.0

05 May 06:25
20f3d41
Compare
Choose a tag to compare

⚠️ Renamed: start_from to offset.

Fix: #51
Fix: #48
Fix: #47

0.3.1.1 - FIX CVE-2022-40897

29 Dec 14:11
b05b1eb
Compare
Choose a tag to compare
Fix CVE-2022-40897

0.3.1.0 - Fix about artist

19 Dec 04:12
37b50cc
Compare
Choose a tag to compare

0.3.0.0 For speed up recognize!

04 Sep 04:24
c98044f
Compare
Choose a tag to compare

0.2.2.0 Fix hang when recognize_song feed with less than 8ms sound

29 Aug 16:42
3f3c7b9
Compare
Choose a tag to compare
  • Fix hang when recognize_song feed with less than 8ms sound: PR: #31