Contributing guidelines for developers - olivierkes/manuskript GitHub Wiki

This page is a draft.

Please review these guidelines before submitting a PR, to make the maintainers' jobs easier:

(!) From the wiki homepage; some of these may be outdated.

  • Manuskript is written in Python3 and PyQt5
  • All code changes and Pull Requests should be based on the develop branch.
  • The minimum target screen resolution is 1024x600 (was popular with small laptops / netbooks)
  • We strive to conform to Qt guidelines. E.g.: User Interface Text Guidelines
  • Tip: Add --console as last option on command line to use IPython Jupyter QT Console as a debugging aid.
  • DRAFT
    We try to ensure that Manuskript will run on currently supported Operating Systems with Qt integration. This includes several GNU/Linux distributions, in addition to recent versions of proprietary Windows and macOS X.
    OSes we often use in our testing include: Debian, Fedora, Ubuntu, and Windows.
    No promise of support is provided. See also GNU General Public License.
  • Roadmap contains some potential future plans.

New

Code Style

  • The codebase mostly follows PEP8.

Documentation

  • (In-code documentation)
  • If you add or change a feature, please update the end-user docs or request for someone in the community to do so.

Logging

Avoid using print() statements in the code, which will be seen by end users. All logging should be done through the python logging module as follows:

import logging
LOGGER = logging.getLogger(__name__)

# Inside your code
LOGGER.warning("This is my warning message.")

See here for more on the logging module and the different message levels.

UI