mb-rngpy

Python bindings for the MusicBrainz XML Metadata RELAX NG schema


Keywords
musicbrainz, python, python-bindings, relaxng
License
MIT
Install
pip install mb-rngpy==2.20201112.1

Documentation

mb-rngpy

Python bindings for the MusicBrainz RNG schema. Required by sir

Installation

Development files of both libxml2 and libxslt are required to install lxml Python package which is imported by mb-rngpy.

If you are on Ubuntu/Debian you can install these via:

sudo apt-get install libxml2-dev libxslt1-dev

Then you can install mb-rngpy from PyPI via:

pip install mb-rngpy

It is supported on Python 3 only.

Community

Join the development community of MusicBrainz at https://community.metabrainz.org/c/musicbrainz/devel

Report issues at https://tickets.metabrainz.org/secure/CreateIssue!default.jspa?pid=10022

Updating the models

Requirements

Please install the following programs:

If you are on Ubuntu/Debian you can install these via:

sudo apt-get install trang twine python-virtualenv

Make sure you have:

  • Git credentials for remote origin
  • GPG private signing key CE33CF04
  • PyPI credentials in ~/.pypirc

Updating and pushing to Git and PyPI

Finall run

./update.sh

It will create a virtual environment with the packages lxml and generateDS, update the schema, regenerate the files, test, commit and tag changes with Git, push commits and tags with Git, build Python package and push it to PyPI.