Ghini / ghini.desktop

plant collections manager (desktop version)
http://ghini.github.io/
GNU General Public License v2.0
24 stars 14 forks source link

Feature/python 2to3 #477

Open cwyse opened 1 year ago

cwyse commented 1 year ago
Convert to Python3.

Run Python 2to3 on source code.
cwyse commented 1 year ago

This commit should be on a new version branch, probably ghini-4.0-dev.

mfrasca commented 1 year ago

hi. thanks. the branch 3.1-dev is the right one for Python3. I am a bit surprised by this commit, as I've not looked into ghini.desktop for quite a while now. did you run all unit tests? does the program manage to execute a couple of queries in a row without freezing for like 15s?

cwyse commented 1 year ago

Hi Mario - you should be surprised.. It's nowhere near ready. I haven't issued merge requests for a public project, and I shouldn't have done it. I can't remember now, but I think I forked the project, and when I pushed it created a merge request??

Anyway, what I would like to do is have an updated desktop version that has support for more recent software packages (sqlalchemy, gtk, python & packages). Currently, I'm floundering around with a lot of things that I've touched on in the past, but haven't done a lot with (database programming - no experience w/ sqlalchemy, no experience w/ glade or much GUI programming, some python but not much).

I have the build configured in a pyenv environment using Eclipse as the debugger. I also have it running in a docker container, but the access is via VNC, and it's not perfect, and it's not configured for development. I need an isolated development environment - if you have suggestions for that, I'd love to hear them.

My motivation is to add some enhancements, and be able to easily install it. It's more work than I bargained for. I've struggled quite a bit with the SQLAlchemy updates, in particular defining relations using the relationship method instead of relation. I created an ERD in Eclipse, and have been double checking the relationships, but I'm not very familiar, so it's been slow.

It seems like there must be a way to encapsulate all the required packages for Python - is that the egg? Not sure, learning as I go. Any pointers would be appreciated, but you can safely ignore the merge requests for now.

Chris