Dan, I already have another tree here:
No commits to it yet. I'm trying to get my build environment working. The upgrade to Sierra seemed to break pip for me, so I need to figure out what's going on there before I can do Python projects.
My strategy was going to be what you suggested. I'll do a separate implementation of the `chirp.ui` package, and try to keep it as code compatible with the GTK. I'm probably going to start by renaming the ui package to `ui-gtk`, and have a parallel `ui-wx`. Once we decide to merge, we can rename it back to `ui`.
I also noticed that setup.py doesn't use setuptools. I was thinking about refactoring that as well. But that can come after the UI. It would be nice to have this have a more standard layout, but there's no reason to do this all at once. I'm of the opinion that refactoring a project should be done in such a way that the commit history can really illustrate the migration. But that's probably me being a bit persnickity.
I am able to follow the code fairly easily. Not a whole lot of comments, but it's well organized, and there's very little fluff.