python-musicbrainz3

This page has not been reviewed by our documentation team (more info).

The python-musicbrainz3 package is the successor of python-musicbrainz2.

NGS is coming, so a rewrite is in order to keep up with MB development. This wiki page collects information, plans, and ideas for this project.

Feel free to edit!

Contents

Goals

Project Infrastructure

Project Plan

  1. Set up project infrastructure
    1. Wiki page (done)
    2. Git repository (done)
    3. Jira project (done)
    4. Group in Review Board (done)
  2. Evaluate tools
    1. XML mapping tool (Matt, in progress)
    2. Unit test runner (nose?)
      1. What's the advantage of something like nose over just using the unittest package? I don't have much experience in unit testing python stuff. --alastair
    3. Look at ETree or similar for XML (also consider json libraries?) (Alastair, in progress)
  3. Create UML diagrams for
    1. the core entities (done)
    2. pymb3's classes
  4. Set up project structure in the repository (Matt, in progress)
  5. Gather data for the parser
    1. Update MMD Relax NG schema if necessary (done)
    2. Prepare initial set of example documents for the test suite (done)
  6. Start hacking!

Model

This is a simplified model showing only the core entities.

Core Model

The m:n associations displayed with bold lines (Artist to anything, Release to Label) are attributed and will be modeled using association classes (ArtistCredit and ReleaseEvent respectively). We implement 1:n associations using lists.

TODO: Are Work to Recording, ReleaseGroup to Release ordered?

TODO: The URL class is only used for ARs?

Links

Links with documentation and other relevant information.

Ideas and Open Questions