https://github.com/metabrainz/mb-rngpy
Python bindings for the MusicBrainz XML Metadata RELAX NG schema
https://github.com/metabrainz/mb-rngpy
musicbrainz python python-bindings relaxng
Last synced: 5 months ago
JSON representation
Python bindings for the MusicBrainz XML Metadata RELAX NG schema
- Host: GitHub
- URL: https://github.com/metabrainz/mb-rngpy
- Owner: metabrainz
- Created: 2014-07-14T11:51:50.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2025-05-18T10:48:43.000Z (about 1 year ago)
- Last Synced: 2025-07-16T03:39:37.176Z (12 months ago)
- Topics: musicbrainz, python, python-bindings, relaxng
- Language: Python
- Homepage: https://pypi.org/project/mb-rngpy/
- Size: 398 KB
- Stars: 0
- Watchers: 12
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# mb-rngpy
Python bindings for the MusicBrainz RNG schema. Required by [sir](https://github.com/metabrainz/sir)
## Installation
Development files of both [`libxml2`](http://www.xmlsoft.org/) and
[`libxslt`](http://www.xmlsoft.org/XSLT/) are
required to install [`lxml`](https://lxml.de/) Python package
which is imported by `mb-rngpy`.
If you are on Ubuntu/Debian you can install these via:
```bash
sudo apt-get install libxml2-dev libxslt1-dev
```
Then you can install `mb-rngpy` from [PyPI](https://pypi.org/project/mb-rngpy/) via:
```bash
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:
* [Trang](https://github.com/relaxng/jing-trang/releases)
* [Twine](https://twine.readthedocs.io/) to upload to PyPI
* [Virtualenv](https://virtualenv.pypa.io/) to create a virtual environment
If you are on Ubuntu/Debian you can install these via:
```bash
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
```bash
./update.sh
```
It will create a virtual environment with the packages lxml and
[generateDS](http://www.davekuhlman.org/generateDS.html), 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.