Okay, here's what I did today. I tested communicating with trio from the tkinter side of the event loop, and it seemed to work. Aside from that, napping, and, like, work and eating, I guess.
Anyway, I'm hoping that I can use trio to handle computationally intensive or elaborate tasks. I'm not sure how much sense it makes to go for it right off, so I'm now going to focus on wrapping or adapting my existing code to stream event information to a basic tkinter app. I think I'd like to make things general enough that the same core logic can drive the command line or a GUI, but I'm not sure that makes sense.
There's kind of a bunch of things I want to do, but they've got weird interdependencies and I'm not sure what I want to do first:
- Factor out the requirement (not at all validated) that Modules define serializers, and put together some kind of policy-checking-something.
- Implement workflows that require user input, so I have something concrete to check against.
- Evaluate whether async adds value to those workflows.
- Figure out the general GUI design I want.
- Determine how to handle widget design for specific components.
Thinking about this, I think what I want to do is punt on GUI code and actually using the serializers, and work on getting data structures and workflows for the symptoms I want, so I can have something concrete to point to when sketching out the systems I want.
I'll write as much stuff as I can for each system. (The serializers for Modules should be simple, and will let me know what validation actually needs, for example. Also, I don't think I'm ready to put together a whole GUI, but I can definitely put together experimental widgets and see where the rough bits are.)
I've been in rough shape myself lately, so I'm going to try to wrap up, like, thirty whole minutes earlier than usual.