DipDup contribution guide


This page or paragraph is yet to be written. Come back later.


  • To set up the development environment, you need to install Poetry package manager and GNU Make.
  • Run make help to get available commands.


  • Branch names MUST follow prefix/short-descriptions format. Prefixes we currently use: feat for features, fix for bugfixes, docs for documentation, aux for miscellaneous, exp for experiments.


  • We use the following combo of linters and formatters: isort, black, flake8, mypy. All linter checks MUST pass before merging code to master.


  • Release versions SHOULD conform to Semantic Versioning. Releases that introduce breaking changes MUST be major ones.
  • Only the latest major version is supported in general. Critical fixes CAN be backported to the previous major release. To do so, git checkout from the latest stable tag, bump DipDup version manually and add a new tag.


  • All changes that affect user experience MUST be documented in CHANGELOG.md file.
  • Changelog formatting SHOULD stick to GitLab changelog guidelines.