Project

General

Profile

Actions

OpenAtlas is developed with some standards in mind.

Open Source

Only open source libraries (e.g. jQuery) and open source software requirements (e.g. a PostgreSQL database) are used.
All non-code files should be open data, e.g. like the logo with CC BY-SA 4.0.
This guaranties that the application can be shared as open source (GPL 2) e.g. on GitHub.

If 3rd party software or media is used it is important to:
  • Check the license for compatibility
  • Store them in openatlas/static/vendor
  • Add a license file if available

Python

Debian Packages

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.

Tests and Checks

Configuration file PyCharm
Tests tests/.coveragerc integrated Should cover all Python code using assertions. We aim for 100% coverage but some parts (e.g. mail functions) may be excluded with the # pragma: no cover option
PEP 8 integrated Style guide for Python code
Mypy mypy.ini plugin Mypy Optional static type checker for Python
Pylint .pylintrc plugin Pylint Checks for errors, coding standards and code smells. Debian package pylint3 (path=/usr/bin/pylint3)

HTML

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.

Bugs

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

Updated by Alexander Watzinger 6 days ago · 39 revisions

Also available in: PDF HTML TXT