Python 2.7 will reach end-of-life in January 2020, over 9 years after it was released. This falls within the Fedora 31 lifetime. Packages that depend on Python 2 are being switched to Python 3 or removed from Fedora: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages Python 2 will be retired in Fedora 32: https://fedoraproject.org/wiki/Changes/RetirePython2 To help planning, we'd like to know the plans for python-pyobd's future. Specifically: - What is the reason for the Python2 dependency? (Is it software written in Python, or does it just provide Python bindings, or use Python in the build system or test runner?) - What are the upstream/community plans/timelines regarding Python 3? - What is the guidance for porting to Python 3? (Assuming that there is someone who generally knows how to port to Python 3, but doesn't know anything about the particular package, what are the next steps to take?) This bug is filed semi-automatically, and might not have all the context specific to python-pyobd. If you need anything from us, or something is unclear, please mention it here. Thank you.
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle. Changing version to '31'.
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle. Changing version to 31.
Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages If you need any information or help, or if you need some more time, please let us know.
According to the procedure described in https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages the package was now orphaned. If you think it was a mistake, you can provide the answers and claim the package back. Let us know if you need any help or just need more time.
Please unorphan. - What is the reason for the Python2 dependency? (Is it software written in Python, or does it just provide Python bindings, or use Python in the build system or test runner?) It's SW written in python. - What are the upstream/community plans/timelines regarding Python 3? It seems the upstream is not going to port it themselves, but it's useful piece of SW and I am going to port it myself. - What is the guidance for porting to Python 3? (Assuming that there is someone who generally knows how to port to Python 3, but doesn't know anything about the particular package, what are the next steps to take?) I think I could do it, but please note I am just leaving for two weeks vacation.
I've tried to port this application to Python 3 but it's hard for me to test it because I have no access to OBD-compatible device. Nonetheless, I've created a github repository [0] from the current Fedora sources so we can cooperate on this. With my changes, the application seems to be generally functional, all windows work, serial port scan works, all DeprecationWarnings are gone, the configuration is properly saved and loaded, etc. Let me know if I can help you more. [0] https://github.com/frenzymadness/pyOBD
(In reply to Lumír Balhar from comment #8) > I've tried to port this application to Python 3 but it's hard for me to test > it because I have no access to OBD-compatible device. Nonetheless, I've > created a github repository [0] from the current Fedora sources so we can > cooperate on this. With my changes, the application seems to be generally > functional, all windows work, serial port scan works, all > DeprecationWarnings are gone, the configuration is properly saved and > loaded, etc. > > Let me know if I can help you more. > > [0] https://github.com/frenzymadness/pyOBD Really thanks for it, it saved me time :) I am going to test it during weekend on real HW. Will you send your patches upstream?
(In reply to Jaroslav Škarvada from comment #9) > (In reply to Lumír Balhar from comment #8) > > I've tried to port this application to Python 3 but it's hard for me to test > > it because I have no access to OBD-compatible device. Nonetheless, I've > > created a github repository [0] from the current Fedora sources so we can > > cooperate on this. With my changes, the application seems to be generally > > functional, all windows work, serial port scan works, all > > DeprecationWarnings are gone, the configuration is properly saved and > > loaded, etc. > > > > Let me know if I can help you more. > > > > [0] https://github.com/frenzymadness/pyOBD > > Really thanks for it, it saved me time :) I am going to test it during > weekend on real HW. Will you send your patches upstream? It doesn't work, when the connection is initiated, it tracebacks: Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib64/python3.7/threading.py", line 926, in _bootstrap_inner self.run() File "./pyobd", line 154, in run self.initCommunication() File "./pyobd", line 130, in initCommunication self.port = obd_io.OBDPort(self.portName,self._notify_window,self.SERTIMEOUT,self.RECONNATTEMPTS) File "/var/tmp/pyOBD/obd_io.py", line 103, in __init__ self.send_command("atz") # initialize File "/var/tmp/pyOBD/obd_io.py", line 146, in send_command self.port.write(c) File "/usr/lib/python3.7/site-packages/serial/serialposix.py", line 532, in write d = to_bytes(data) File "/usr/lib/python3.7/site-packages/serial/serialutil.py", line 63, in to_bytes raise TypeError('unicode strings are not supported, please encode to bytes: {!r}'.format(seq)) TypeError: unicode strings are not supported, please encode to bytes: 'a'
Well, without special hardware I am not able to reproduce and fix more issues. Do you have some plans to finish the porting?
(In reply to Lumír Balhar from comment #11) > Well, without special hardware I am not able to reproduce and fix more > issues. > > Do you have some plans to finish the porting? Yes, thanks for your work. I will merge your code downstream, fix this one problem and let's see what other problems will appear. I think it's good for the start.