Description
The following table describes the development technical stack and explains briefly the choices that have been made.
Need | Chosen techno | Rational elements |
---|---|---|
language |
python |
the language commonly used by the final users |
language version |
python 3.11 |
python 3.12 is too recent to be chosen |
dependency management |
poetry |
easy to use, good dependency management |
code formatting |
black |
the current standard |
unittests |
pytest |
standard |
lint |
pylint, flake8 |
standard |
type check |
mypy |
commonly used by the team |
quality check |
sonarqube |
commonly used by the team |
commit check |
pre-commit |
commonly used by the team |
security check |
trivy |
used in the previous phase |
technical documentation |
asciidoctor |
good standard, simple syntax, good feedback from a team member |