Update the application from PyQt5 to the latest version, PyQt6.
Why we need the feature
Upgrading to PyQt6 ensures that the project benefits from the latest features, performance improvements, and security patches. PyQt6 offers enhanced support and is actively maintained, which contributes to the long-term stability and maintainability of the application.
How to implement and why
Update Dependency Files:
Modify requirements.txt and requirements.pytorch.txt to replace PyQt5 with PyQt6.
Ensure that the version specified is the latest to take advantage of recent updates and fixes.
Refactor Codebase:
Review the code for any PyQt5-specific implementations and update them to be compatible with PyQt6.
Address any deprecated methods or classes by referring to the PyQt6 documentation.
Update import statements as PyQt6 may have different module paths.
Testing:
Run the existing test suite to identify any issues arising from the upgrade.
Update tests to accommodate changes in the PyQt6 API.
Perform manual testing of the UI components to ensure they function as expected.
Documentation:
Update the README.md and any other relevant documentation to reflect the change to PyQt6.
Include instructions for setting up the development environment with PyQt6.
Continuous Integration (CI) Adjustments:
Update CI configuration files if necessary to ensure that the build and test processes use PyQt6.
About backward compatibility
Upgrading from PyQt5 to PyQt6 may introduce breaking changes due to differences in the APIs. It's important to thoroughly test the application after making the switch to identify and resolve any compatibility issues. If maintaining backward compatibility is essential, consider setting up a transition phase where both PyQt5 and PyQt6 are supported, or provide clear migration guidelines for contributors and users.
Resolves #1
What is the feature
Update the application from PyQt5 to the latest version, PyQt6.
Why we need the feature
Upgrading to PyQt6 ensures that the project benefits from the latest features, performance improvements, and security patches. PyQt6 offers enhanced support and is actively maintained, which contributes to the long-term stability and maintainability of the application.
How to implement and why
Update Dependency Files:
requirements.txt
andrequirements.pytorch.txt
to replacePyQt5
withPyQt6
.Refactor Codebase:
Testing:
Documentation:
README.md
and any other relevant documentation to reflect the change to PyQt6.Continuous Integration (CI) Adjustments:
About backward compatibility
Upgrading from PyQt5 to PyQt6 may introduce breaking changes due to differences in the APIs. It's important to thoroughly test the application after making the switch to identify and resolve any compatibility issues. If maintaining backward compatibility is essential, consider setting up a transition phase where both PyQt5 and PyQt6 are supported, or provide clear migration guidelines for contributors and users.
Test these changes locally