            cache-dependency-path: './requirements/requirements_${{ matrix.backend }}.txt'
        - name: Install dependencies
          run: |
            python -m pip install --upgrade pip
            pip install flake8 pylint mypy pytest pytest-mock wheel
            pip install -r ./requirements/requirements_${{ matrix.backend }}.txt
        - name: Lint with flake8
          run: |
            # stop the build if there are Python syntax errors or undefined names
            flake8 . --select=E9,F63,F7,F82 --show-source
 
</s> remove         # TODO find out how we can test this on a headless system
        # Launching tk.Tk() will result in an error because a display is not found
 </s> add  </s> remove     @pytest.mark.skip(reason="Headless tkinter will error")
 </s> add 
          pip install flake8 pylint mypy pytest pytest-mock pytest-xvfb wheel
            cache-dependency-path: './requirements/requirements_${{ matrix.backend }}.txt'
        - name: Install dependencies
          run: |
            python -m pip install --upgrade pip
          pip install flake8 pylint mypy pytest pytest-mock pytest-xvfb wheel
            pip install -r ./requirements/requirements_${{ matrix.backend }}.txt
        - name: Lint with flake8
          run: |
            # stop the build if there are Python syntax errors or undefined names
            flake8 . --select=E9,F63,F7,F82 --show-source
keep keep keep keep replace keep keep keep keep keep
 unit test updates
  - Add XVFB (virtual display)
  - Re-activate viewer gui test 
.github/workflows/pytest.yml