Updated PHP library fork for API replacing out of date repo

, ,

Hi everyone,
I maintain the Ampache project which uses a MusicBrainz PHP API library for metadata searching, identification and tag updates.

The current MusicBrainz library we were using hasn’t been updated for about 5 years now so I’ve made a fork. The library is pretty important to the project so I’ve updated the older code and released a new version.

Here is a CHANGELOG.md with changes since the fork. The biggest changes are:

  • Set the base PHP version to 8.2
  • Ensured all functions and parameters are typed
  • Set strict_types=1 on all pages
  • Added php-cs-fixer, rector and phpstan to dev modules and fixed code issues
  • Closed deprecation issues with newer PHP versions

New repo here lachlan-00/MusicBrainz

Which is a fork of mikealmond/MusicBrainz

Composer repo is here packagist.org

I’ve updated the library template with the repo.
MusicBrainz_API/Libraries/Third_Party

I just wanted to advertise out to the community as the lib is pretty important to us so I am happy to maintain the repo while I run the Ampache project.

Hope to see you on GitHub!

11 Likes

Welcome to the API library maintainer club!
May your models be complete and your optional fields be marked

5 Likes

Thank I’ve already found a lot to do and looking forward to making it entity complete ASAP

1 Like

If you can read a bit of rust, you can check out my API bindings for references. It might not be 100% complete yet, but there’s been huge work put into it to find the exact schemas and various enums

Sadly there’s still no swagger for the API…

3 Likes

That’s great I’ve started to fill out what I’ve found is incomplete so that will save me a lot of time.

Thanks for pointing me there. I use musicbrainz a lot but haven’t really participated in the community a lot.

2 Likes

Many releases but we’re getting to a good point.

You should be able to do everything without importing more than the MusicBrainz class.

Ampache is being updated to 0.5.0 and I’ll be using the integration in the examples and this should provide some decent guides for integrating the library into your projects.

Have a read over the lachlan-00/MusicBrainz/releases page as well as the examples folder for updated code examples.

I’ll be working on providing more practical examples as i update Ampache but we’re close to what i would consider feature complete. Now i just need to get all the elements and data properties on each entity.

3 Likes