-
Notifications
You must be signed in to change notification settings - Fork 38
Description
Firstly, I want to express my gratitude for the continuous maintenance of pySerialTransfer (and serialTransfer). Over the years, I've extensively utilized them and even contributed in the past. I really appreciate that they provide a straightforward solution for packetized data transfer.
Recently, I've been contemplating whether the Python client could benefit from some modernization in terms of code style and practices. I believe updating it to leverage modern Python language features and best practices could enhance its usability and maintainability.
Areas for Improvement:
Language Additions:
Incorporating features like type hinting, enums, and utilizing match instead of multiple if...else blocks.
Code Formatting:
Enforcing PEP8 compliance throughout the codebase, utilizing tools like Black or Darker for consistent code styling, and optimizing imports with isort.
Packaging:
Transitioning to using pyproject.toml for packaging instead of the older setup.py.
Testing:
Adding pytest-based unit tests to ensure the project's functionality and provide confidence to potential users.
This inquiry isn't a formal issue but rather an exploration of the project's roadmap and the community's interest in such development work. I'm willing to contribute by submitting pull requests, but I wanted to gauge the community's receptiveness and identify the lowest supported version of Python (presumably at least 3.8, considering 3.7's EOL) for tailoring the changes accordingly.
Your feedback and guidance on this proposal would be highly appreciated. Thank you for considering these potential enhancements to pySerialTransfer.