Contributing#

If you encounter an issue or want to contribute to pyrekordbox, please feel free to get in touch, open an issue or create a new pull request!

pyrekordbox is tested on Windows and MacOS, however some features can’t be tested in the CI setup since it requires a working Rekordbox installation.

Pre-commit Hooks#

We are using the pre-commit framework to automatically run a linter and code formatter at commit time. This ensures that every commit fulfills the basic requirements to be mergeable and follows the coding style of the project.

The pre-commit hooks can be installed via

$ pre-commit install

Commit Message Format#

A format influenced by Angular commit message.

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

Type#

Must be one of the following:

  • feat: A new feature

  • fix: Bug fixes or improvements

  • perf: A code change that improves performance

  • refactor: Code refactoring

  • ci: Changes to CI configuration files and scripts

  • docs: Documention changes

  • build: Updating Makefile etc, no production code changes

  • test: Adding missing tests or correcting existing tests

  • update Other configurations updates

Scope (optional)#

The scope should specify the affected part of the project. The following is a list of possible scopes:

  • config: Configuration handling

  • xml: Rekordbox XML database handling

  • db: Rekordbox v6 database handling

  • anlz: ANLZ file handling

  • mysetting: MySettings file handling

Subject#

Use the summary field to provide a succinct description of the change:

  • use the imperative, present tense: “change” not “changed” nor “changes”

  • don’t capitalize the first letter

  • no dot (.) at the end

Body (optional)#

Just as in the summary, use the imperative, present tense: “fix” not “fixed” nor “fixes”.

Explain the motivation for the change in the commit message body. This commit message should explain why you are making the change. You can include a comparison of the previous behavior with the new behavior in order to illustrate the impact of the change.