PyTado icon indicating copy to clipboard operation
PyTado copied to clipboard

Code quality improvements and tooling

Open albertomontesg opened this issue 3 months ago • 2 comments

Given the request to improve the library to make it more reliable and ready for a 1.0 version, here is my contribution on that regard: https://github.com/wmalgadey/PyTado/issues/75

Added as standard tools:

  • Black for python formatting
  • Pylint for linting
  • PyType for type checking

In addition, I consolidation all configuration for the Python package and the different toolings into the new pyproject.toml.

As code quality improvements:

  • Updated .gitignore to be more exhaustive for python projects
  • Annotated most of the code with python types
  • Formatted the whole codebase given blacks formatting
  • Remove unnecessary directories (that just holded a single module)
  • Update methods, classes and attributes following best practices. This lead to PyLint rating to go from ~7 to 9.5+
  • Make the Zone class a dataclass as it simplifies the init arguments and properties without that much code repetition
  • Make the tests to use the unittest framework (that comes with Python standard library), so we have access to more readable assert methods.

albertomontesg avatar Apr 03 '24 14:04 albertomontesg