Currently the project is missing a linter & type checker. Integrating these things would make it easier to onboard and make the code more maintainable in the longer term
Linters we can use:
flake8 (general)
pylint (general)
bandit (security)
pydocstyle (documentation)
black (formatting)
mypy (type checking)
pyright (type checking, basis for PyLance language server strict mode)