PyTado
PyTado copied to clipboard
Code quality improvements and tooling
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.