OpenAtlas is developed with some standards in mind.
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.
- Check the license for compatibility
- Store them in openatlas/static/vendor
- Add a license file if available
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¶
|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)|
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.
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.