Skip to content
This repository was archived by the owner on Dec 18, 2019. It is now read-only.

Coding rules

Jerome Flesch edited this page Jan 25, 2018 · 17 revisions
  • Paperwork is made to be simple to use (think simple enough that your own grandmother could install and use it)
  • Paperwork is open-source software (GPLv3+)
  • Paperwork has quality standards:
    • It must respect the PEP8 (you can use the command 'pep8' to check your changes)
    • You must not break existing features. You're strongly encouraged to discuss the changes you want to make beforehand (on the bug tracker, the mailing-list or IRC).
    • Your contribution must be maintainable: It must be clear enough that somebody else can maintain. If it is a complicated piece of code, comment it.
    • Your contribution must and will be reviewed (most likely by me, Jflesch)
  • Please try to maintain your contributions (fix bug reported by other users, etc).
  • One change per commit.
  • If you see a piece of code that doesn't follow these rules, feel free to make a cleanup commit to fix it. Please do not mix cleanups with other changes.
  • All commits goes to the branch 'develop'. I (Jflesch) will cherry-pick them in master or release branches if required.
  • If you add new dependencies, please update setup.py (for Python dependencies), src/paperwork/deps.py (frontend ; for non-Python dependencies) and 'paperwork-backend/deps.py` (backend ; for non-Python dependencies) accordingly.

Same rules apply for all the libraries in Openpaperwork: PyOCR, Pyinsane, etc.

Regarding PEP-8, the following rules must be strictly followed:

  1. Lines are at most 80 characters long
  2. Indentation is done using 4 spaces

Clone this wiki locally