OpenAtlas is developed with some standards in mind.

Open source

To guaranty that the OpenAtlas application can be shared as open source (GPL 2) we make sure that:
  • Only open source software is used and required
  • Non-code files are open data, e.g. the logo (CC BY-SA 4.0)
  • If 3rd party software or media is included in the application it is important to:
    • Check the license for compatibility
    • Store them in openatlas/static/vendor
    • Add a license file if available


Of course we do our best to avoid them in the first place but if bugs get apparent they always have the highest priority.


  • We are using HTML 5 and the site should be validating correctly. Exceptions may be acceptable if (harmless) non valid HTML 5 is produced by 3rd party libraries.
  • For indentation we use 2 spaces (in contrast to 4 in Python) but this has to be rewritten in existing code which may take a while.


Tests and checks

Version PyCharm Configuration
PEP 8 integrated Style guide for Python code
nose tests 1.3.7 integrated tests/.coveragerc Should cover all Python code using assertions. Some parts (e.g. mail functions) may be excluded with the # pragma: no cover option
Mypy 0.812 plugin Mypy mypy.ini Optional static type checker for Python
Pylint 2.7.2 plugin Pylint .pylintrc Checks for errors, coding standards and code smells

Further reading

Software packages (Debian)

Although pip offers some advantages (e.g more current packages, usable for different installation environment) we prefer packages from the Debian repository.
Main reasons concern security, reliability and stability. Only exception are frontend libraries because they don't really affect server security.

Updated by Alexander Watzinger 9 months ago · 45 revisions

Also available in: PDF HTML TXT