Developer Resources: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
(Undo revision 75018 by Chaban (talk): For the same reason: Summarizing basic information is helpful for developers “getting started”. Let’s update outdated sections rather than delete them.)
Tag: Undo
(→‎Bots: add musicbrainz-enricher)
(3 intermediate revisions by 2 users not shown)
Line 15: Line 15:
; [https://python-musicbrainzngs.readthedocs.org/ python-musicbrainzngs]
; [https://python-musicbrainzngs.readthedocs.org/ python-musicbrainzngs]
: A client library written in Python which provides easy access to the MusicBrainz database using the [[XML Web Service|XML web service]] (version 2)
: A client library written in Python which provides easy access to the MusicBrainz database using the [[XML Web Service|XML web service]] (version 2)

; [https://github.com/Borewit/musicbrainz-api musicbrainz-api]
: A MusicBrainz API client for reading and submitting metadata for node.js


; [https://github.com/maxkueng/node-musicbrainz node-musicbrainz]
; [https://github.com/maxkueng/node-musicbrainz node-musicbrainz]
Line 32: Line 35:
** https://github.com/murdos/musicbrainz-bot (a fork of lalinsky's one)
** https://github.com/murdos/musicbrainz-bot (a fork of lalinsky's one)
* https://github.com/Borewit/musicbrainz-augmentation
* https://github.com/Borewit/musicbrainz-augmentation
* https://github.com/FelixRilling/musicbrainz-enricher


A full list of users with the bot flag can be found on http://musicbrainz.org/privileged
A full list of users with the bot flag can be found on http://musicbrainz.org/privileged
Line 37: Line 41:
== Developer documentation ==
== Developer documentation ==


; [[XML Web Service|XML web service]]
; [[MusicBrainz API|MusicBrainz web API]]
: The REST-based webservice API for direct access to MusicBrainz data (Please review the libraries above before writing your own implementation).
: The REST-based webservice API for direct access to MusicBrainz data with output in XML and JSON (Please review the libraries above before writing your own implementation).
:: '''See also:''' [[XML Web Service/Version 2/examples|Examples]]
:: '''See also:''' [[MusicBrainz API/Examples]]
:: [[Development/XML Web Service/Version 2/Search|Search server information]] and [[Text Search Syntax]]
:: [[MusicBrainz API/Search|Search requests]] and [[Indexed Search Syntax]]
:: [https://github.com/metabrainz/mmd-schema/blob/master/schema/musicbrainz_mmd-2.0.rng RelaxNG schema]
:: [https://github.com/metabrainz/mmd-schema/blob/master/schema/musicbrainz_mmd-2.0.rng XML RelaxNG schema]
:: [[Release Editor Seeding]]: Providing programmatic information to the release editor (from another site or an application), the closest we have to an edit API as yet
:: [[Release Editor Seeding]]: Providing programmatic information to the release editor (from another site or an application), the closest we have to an edit API as yet
:: [[User:kuno/ws/js|'''(internal)''' JS autocomplete API]]
:: [[User:kuno/ws/js|'''(internal)''' JS autocomplete API]]
Line 47: Line 51:
; [[Server Setup|Server setup]]
; [[Server Setup|Server setup]]
: The [[MusicBrainz Server]] is not available as an executable application. Setting up the server will require you to checkout the source code and follow the INSTALL file's instructions.
: The [[MusicBrainz Server]] is not available as an executable application. Setting up the server will require you to checkout the source code and follow the INSTALL file's instructions.
: The [[MusicBrainz Database]] contains all the metadata information available on musicbrainz.org and it's free for anyone to [[MusicBrainz Database/Download|download]] and make use of it (and we encourage this!). Setting it up will require access to a PostgreSQL database. See instructions as part of the Server Setup above or use [https://github.com/lalinsky/mbslave mbslave].
: The [[MusicBrainz Database]] contains all the metadata information available on musicbrainz.org and it's free for anyone to [[MusicBrainz Database/Download|download]] and make use of it (and we encourage this!). Setting it up will require access to a PostgreSQL database. See instructions from [[Server Setup|server setup]] or use third-party [https://pypi.org/project/mbdata/].
: [[User:kuno/Server/Environment_variables|Server environment variables that may prove useful]]
: [[Development/MusicBrainz_Server_Environment_Variables|Server environment variables that may prove useful]]
: [http://svn.musicbrainz.org/search_server/trunk/README Search Server Setup] if you're brave enough to want to try.
: [https://github.com/metabrainz/mb-solr Search Server Setup] and [https://github.com/metabrainz/sir Search Indexer Setup] if you're brave enough to want to try.
: [[User:kuno/Testing|Some javascript testing information]]


; Embedded metadata
; Embedded metadata

Revision as of 14:13, 25 February 2021

See also Development.

Client libraries

libcoverart
A C/C++ development library geared towards developers who wish to add cover art capabilities to their applications.
libmusicbrainz
A C/C++ development library geared towards developers who wish to add MusicBrainz lookup capabilities to their applications.
libdiscid
A C library for creating MusicBrainz disc IDs from audio CDs.
See also: Disc ID Calculation.
python-musicbrainzngs
A client library written in Python which provides easy access to the MusicBrainz database using the XML web service (version 2)
musicbrainz-api
A MusicBrainz API client for reading and submitting metadata for node.js
node-musicbrainz
A MusicBrainz API V2 client for node.js
MetaBrainz.MusicBrainz
A native .NET implementation of libmusicbrainz. (NuGet Package)
MetaBrainz.MusicBrainz.CoverArt
A native .NET implementation of libcoverart. (NuGet Package)
MetaBrainz.MusicBrainz.DiscId
A native .NET implementation of libdiscid. (NuGet Package)

Bots

A full list of users with the bot flag can be found on http://musicbrainz.org/privileged

Developer documentation

MusicBrainz web API
The REST-based webservice API for direct access to MusicBrainz data with output in XML and JSON (Please review the libraries above before writing your own implementation).
See also: MusicBrainz API/Examples
Search requests and Indexed Search Syntax
XML RelaxNG schema
Release Editor Seeding: Providing programmatic information to the release editor (from another site or an application), the closest we have to an edit API as yet
(internal) JS autocomplete API
Server setup
The MusicBrainz Server is not available as an executable application. Setting up the server will require you to checkout the source code and follow the INSTALL file's instructions.
The MusicBrainz Database contains all the metadata information available on musicbrainz.org and it's free for anyone to download and make use of it (and we encourage this!). Setting it up will require access to a PostgreSQL database. See instructions from server setup or use third-party [1].
Server environment variables that may prove useful
Search Server Setup and Search Indexer Setup if you're brave enough to want to try.
Embedded metadata
Picard Tag Mapping: The documentation for how Picard maps concepts to tags; useful if you want to use these tags elsewhere, or if you'd like to follow the same standard.
See also: ID3v2.4.0
Disc IDs and Tagging
MusicBrainz Identifier
Picard Development
Plugin API Documentation
Picard Tag Mapping
Building on Windows
Building on macOS
Communicating with other developers
IRC: Here's where you ask questions of real live people, if anyone's awake. You love it, you know it.
Forum: And here's where you ask if we aren't awake, or for anything style-related or needing more consideration than can be easily given in IRC.
MusicBrainz Summits: These happen occasionally, and people get together and talk about MusicBrainz. You should consider coming! Even if not, the discussions had here are sometimes important, and might be worth perusing.
The Musicbrainz bug tracker