diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fd04a4393e0bee43dd19030de7c3e8b4df2d0afd..b92d9f99cc2efd77d262fd51b34bf3f5ce450b14 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: python:latest +image: python:3.10 stages: - linting - testing @@ -14,16 +14,19 @@ before_script: - python --version # For debugging - pip install --upgrade pip - pip install --user -r requirements.txt # install dependencies from file + PEP8: stage: linting script: - pip install flake8 - flake8 --count . + Pylint: stage: linting script: - pip install pylint - find . -type f -name '*.py' | xargs pylint -rn --rcfile='plotid/.pylintrc' # Find all python files and check the code with pylint + test: stage: testing tags: @@ -31,6 +34,7 @@ test: script: - python tests/runner_tests.py coverage: "/TOTAL.*\\s+(\\d+\\.\\d+%)$/" + pages: stage: docs script: @@ -44,7 +48,10 @@ pages: rules: - if: "$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH" - when: manual + sast: + before_script: + - echo "No before script pls" variables: SAST_EXCLUDED_PATHS: spec, test, tmp stage: security @@ -52,6 +59,8 @@ sast: - docker dependency_scanning: + before_script: + - echo "No before script pls" stage: security include: diff --git a/docs/source/dependencies.rst b/docs/source/dependencies.rst new file mode 100644 index 0000000000000000000000000000000000000000..0229267378228945a58b3d9b5022f8ee24085de9 --- /dev/null +++ b/docs/source/dependencies.rst @@ -0,0 +1,17 @@ +Dependencies of plotID +================================== + +The plotID package depends on other software for its full funcionality. Since plotID is a Python program, Python ≥ 3.10 is needed. A list of all dependencies and their connection to plotID is provided here. + +- `matplotlib <https://matplotlib.org/stable/index.html>`_: Famous plotting engine. matplotlib plots and figures can be tagged and published with plotID. +- `Pillow <https://pillow.readthedocs.io/en/stable/>`_: Library for image processing. If no plotting engine was used that is supported by plotID, image files can be tagged as well. This is done with Pillow. Additionally, Pillow is used to print the QR codes on the plots. +- `qrcode <https://github.com/lincolnloop/python-qrcode>`_: Creates QR codes from input data. qrcode is used to create the QR code which is printed on the plot in the end. +- `numpy <https://numpy.org/doc/stable/>`_: Package for scientific computing. Right now it is only used to generate sample data in the examples. Since it is a dependency of matplotlib, it has to be installed anyway. + +Optional depedencies that are not necessary to run plotID but more to contribute to the code are the following: + +- `coverage <https://coverage.readthedocs.io/en/6.5.0/#>`_: Program to measure the code coverage. It is used in the development of plotID to monitor the coverage of the code when the unit tests are run. +- `sphinx <https://www.sphinx-doc.org/en/master/>`_: Program to build documentation. For example, this documentatio is generated with the help of sphinx. +- `sphinx-autoapi <https://sphinx-autoapi.readthedocs.io/en/latest/>`_: Generates documentation files automatically from documentation inside the code. This has the advantage that code can be documented inside the code but can also be read in the documentation without having two places with the same content. +- `sphinx-rtd-theme <https://sphinx-rtd-theme.readthedocs.io/en/stable/>`_: Readthedocs theme for nicer documentation style. +- `myst-parser <https://myst-parser.readthedocs.io/en/latest/>`_: Extenstion for sphinx, e.g. to include markdown files in the documentation. That allows to include plotID's README.md in the documentation without storing it at two different places. \ No newline at end of file diff --git a/docs/source/index.rst b/docs/source/index.rst index 4e27e63e05106b56752ebd2dba1c6acd8f90894c..d6c673c14b0d29ed3baa329fc17d22ebc155e19a 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -12,6 +12,7 @@ Welcome to plotID's documentation! README <readme_link.rst> Structure and architecture <structure.rst> + Dependencies <dependencies.rst> Indices and tables