Repository: claritychallenge/clarity (language: python)

Issue:
Enable pylint in pre-commit checks
We have linted the code base using [pylint](https://pylint.pycqa.org/en/latest/) (see issue #42 and PR #43) however we do not enforce `pylint` checks against new commits.

We can do this by incorporating a `pylint` hook into [`pre-commit`](https://pre-commit.com) which will carry through to the [`pre-commit.ci`](https://pre-commit.ci) GitHub Action.

In instances like this we should use a `local` hook because using the one provisioned by the [PyCQA](https://github.com/PyCQA/pylint) will not include the necessary packages required to perform the checks. This can be achieved using the following snippet which will use the existing `.pylintrc` configuration.

```yaml
  - repo: local
    hooks:
      - id: pylint
        args: ["--rcfile=.pylintrc"]
        name: Pylint
        entry: python -m pylint
        language: system
        files: \.py$
```


Discussion / hints:

Fix patch:
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 5f6be07a4..c1d937dbd 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -40,7 +40,7 @@ repos:
         args: ["--profile", "black"]
 
   - repo: https://github.com/nbQA-dev/nbQA
-    rev: 1.6.1
+    rev: 1.6.3
     hooks:
       - id: nbqa-black
       - id: nbqa-flake8
@@ -59,13 +59,21 @@ repos:
 
 
   - repo: https://github.com/pre-commit/mirrors-mypy
-    rev: v1.0.0
+    rev: v1.0.1
     hooks:
       - id: mypy
 
+  - repo: local
+    hooks:
+      - id: pylint
+        args: ["--rcfile=.pylintrc"]
+        name: Pylint
+        entry: python -m pylint
+        language: system
+        files: \.py$
 ci:
   autofix_prs: true
   autofix_commit_msg: '[pre-commit.ci] Fixing issues with pre-commit'
   autoupdate_schedule: weekly
   autoupdate_commit_msg: '[pre-commit.ci] pre-commit-autoupdate'
-  skip: [] # Optionally list ids of hooks to skip on CI
+  skip: [pylint] # Optionally list ids of hooks to skip on CI
diff --git a/README.md b/README.md
index 912ded0fc..1955576c2 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,7 @@
 [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyclarity)](https://pypi.org/project/pyclarity/)
 [![codecov.io](https://codecov.io/github/claritychallenge/clarity/coverage.svg?branch=main)](https://app.codecov.io/gh/claritychallenge/clarity)
 [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+[![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/PyCQA/pylint)
 [![pre-commit.ci status](https://results.pre-commit.ci/badge/github/claritychallenge/clarity/main.svg)](https://results.pre-commit.ci/latest/github/claritychallenge/clarity/main)
 [![Downloads](https://pepy.tech/badge/pyclarity)](https://pepy.tech/project/pyclarity)
 


Test patch:
diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml
index ba14b7d7d..ce67e9dda 100644
--- a/.github/workflows/run_tests.yml
+++ b/.github/workflows/run_tests.yml
@@ -44,3 +44,6 @@ jobs:
           coverage xml
       - name: Upload coverage to Codecov
         uses: codecov/codecov-action@v3
+      - name: pylint
+        run: |
+          pylint --rcfile=.pylintrc