This is a complete refactor of QExPy. The content of this refactor includes:
General Cleanup:
- Cleans up project repository structure.
- Implement unit testing for all modules using pytest.
- Enforces code style using pylint
- Configure Github actions for automated testing with all versions of Python on all platforms
- Detailed code comments, doc-strings, and type hints
- More self-explanatory naming of variables, methods and functions
Complete Refactor:
- Re-structure package into a collection of sub-packages
- Modularize code to eliminate code duplication and reduce complexity of individual functions
- Re-design class hierarchies following better OOP design principles and patterns
- Re-implementation of all logic with more efficient, pythonic code
- Re-design APIs to be more intuitive, simplified, and consistent.
- Re-write package documentation with proper readthedocs integration