[chirp_users] New Python coming?

Dan Smith
Fri Mar 8 19:54:48 PST 2019


> I know nothing about Mac but to my knowledge it shouldn't matter if it's 32 or 64 bits. The problem is Python 2 is EOL in 2020 and Chirp currently doesn't work with Python 3.

Of course the bitness issue *does* matter because there is so much extra stuff that has to be installed on a MacOS machine to be able to run CHIRP. Yes, CHIRP is "just" python, but it uses a ton of stuff that is not Python (gtk, gdk, cairo, on and on), and all of that is compiled to a binary on all platforms. This is the same for Windows, of course, but as of yet, Microsoft still cares about backwards compatibility -- Apple knows better than all of us, of course.

> There's an issue submitted for it but it got closed without resolution. There doesn't seem to be much interest in getting it fixed.

Richard, I'd sure appreciate you not spreading misinformation in such a public forum. It creates extra work for developers which have to end up spending time writing replies like these instead of working on CHIRP (like me, spending my Friday night writing this email). In general, this community is really awesome because it provides the support outlet by letting power users help the non-power users so that those of us that work on CHIRP can focus our efforts there.

A lot of work has been done on making CHIRP work for python3. Because the UI toolkit we use has gone from "the obvious choice" to "complete abandonware" during the lifetime of CHIRP, porting to python3 requires a re-write of some substantial parts of the GUI, in *addition* to the large amount of work required to account for some of the fundamental things that python decided to change between 2 and 3.

Porting to python3 is not just some minor amount of work that we just need to spend a couple afternoons doing. It's a major undertaking, and merely opening a new bug on the website is not the only thing that needs to be done. Opening multiple duplicate issues (and being unhelpful and snarky in those) is just a distraction. That's why issues have been closed as duplicates of this original one:

  https://chirp.danplanet.com/issues/495

As you can see from the "Associated Revisions" section on the bottom right, there has been a lot of work done on this. Many people have showed up over the years saying they were going to do the work of porting, but nothing substantive has come from these plans over the years. Since the future of Python2 on Windows has a much (much) longer road, and since working around a distro missing python2 is so trivially easy, I have chosen to focus my time over the years on adding support for new radio drivers. There is, of course, an unending supply of *those* requests as well.

The branch for python3 has about 50% of the drivers converted. If you look at the list of supported models on the website, that's a lot of work, and a lot remains. The other half won't even *load* on python3, much less work properly. Before we can even begin to have people testing this, a lot of the core of CHIRP has to be converted (much of which has been now done) and then each driver has to be hand-converted with careful attention to detail. Then, because there are way more drivers than developers with radios, someone has to chase down someone to test each converted driver to prove that it works. The current set of drivers that are converted are ones that I've been able to test personally or know of someone who can do the testing quickly, or where someone has stepped up to convert their pet driver. From here on out, I'm going to have to create a bug for each remaining driver, get a build for each platform created with the new code and new runtime, and start having to chase people down to confirm that each one works. When I have enough pieces glued together, I will definitely be asking for help on this list to test a python3-based build.

In a week, I will be traveling to visit family for a birthday event. You can bet that I will be working on driver conversions on the plane and in the evenings instead of doing what I should be doing, and spending time with loved ones that I rarely see. I really appreciate the supportive people in this community, but those that seem to think that the volunteer development team for CHIRP *should* do something with their free/family time need to re-evaluate their priorities :)

Please rest assured that nobody is taking this situation lightly. 95% of CHIRP users are on Windows, and there is currently zero concern about the python2-based windows build being at risk. The remaining users on other platforms (and I'm one of them, btw) have many options to work around the issue in the short term. If you choose a Linux distro that has a super-aggressive deprecation policy, has already dropped python2 and provides no way to install it, then, well, you got what you asked for :)

Thanks!

--Dan


More information about the chirp_users mailing list