text: Title: CI: Replace pylint -> flake8
  Body: Try removing `pylint` and replacing it with `flake8` linter.
  Here's a flake8 config we'd like to try out:
  ```
  [flake8]
  ignore = E501, E203, W503
  count = True
  max-line-length = 100
  statistics = True
  ```
  
  Open PR after you make the changes and let's see what the new flake8 linter complains about.  You may have to disable some flake-8 warnings such as: `F401`, `F403`. 
  
  Just FYI here is a reference CI file from a different project using flake8:
  ```
  name: Unit Tests
  
  on:
    push:
      branches: [main, staging]
    pull_request:
      branches: [main, staging]
  
  jobs:
    unit-tests:
      runs-on: ubuntu-latest
      steps:
        - name: Checkout
          uses: actions/checkout@v3
        - name: Set up Python
          uses: actions/setup-python@v4
          with:
            python-version: '3.10'
            cache: 'pip'
        - name: Install dependencies
          run: |
            python -m pip install --upgrade pip
            pip install flake8 pytest
            if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
            if [ -f requirements-dev.txt ]; then pip install -r requirements-dev.txt; fi
        - name: Lint with flake8
          run: |
            flake8 .
        - name: Test with pytest
          working-directory: ./backend
          run: |
            pytest --benchmark-skip
  ```
  where relevant part is:
  ```
  - name: Lint with flake8
          run: |
            flake8 .
  ```
  
  The current pylint checks for the following issues in code files (which we'd still like to check for using flake8, not sure if the above config will do that already or it needs to be modified):
  - import *
  - imports that are unused in the code
  