- Table of contents
- Open source
- Software packages (Debian)
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¶
|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|
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.