Creation of a proper CI/CD pipeline

  • Restructuring Folders by the standard proposed by "Serious Python"
  • Different linter pipelines
    • both PEP conformatity. Look into tox with pep8, Pyflakes (or flake8 for PEP 8 integraton) and Pylint
    • Especially PEP 257 for docstrings
  • Maybe use other static analysis tools
    • Codeclimate?
  • documentation generation from Docstrings
    • Check for documentation coverage
    • If possible, CD it to gitlab pages
      • Evaluate it against Read the Docs
    • Create a few overview pages (or create an issue for it)
  • unit testing
  • property based testing with Hypothesis
  • Update README.md accordingly

If I haven't completely read "serious python" by then, create another issue to revisit it once its read

Meta Tasks:

  • Read about best practises python pipelines
  • Read about other possibly helpful toolings
  • Read (and talk) about PyQT integration tests

Later:

  • Add package update to pypi as hook when the project is in a further state.
    • Which intervals are best practise? Especially since PEP 440 isnt compatible with hash based version names. Maybe we can create a Hook for a release tag? When this is done, we can split up the GUI from the library in order to properly use it via pip.

Extra: Great quote for write-up later: https://www.martinfowler.com/articles/continuousIntegration.html

Edited by Lars Quentin