You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.9 KiB

Gooey

(image)

Turn (almost) any command line program into a full GUI application with one line

What is it?

Gooey converts your Console Applications into end-user friendly GUI applications. It lets you focus on building robust, configurable programs without having to worry about how it will be presented to and interacted with by your average non-techie person.

Why?

Because as much as we love the command prompt, the rest of the world looks at it like some horrific relic from the '80s. As I embarked in the world of freelancing, I wanted to deliver something a little more polished than a black box with white text, and something which was easily understandable and configurable to the end-user.

How does it work?

Gooey is attached to your code via a simple decorator on your main method.

@gooey      <--- all it takes! :)
def main():
  # rest of code

At runtime, it loads the Abstract Syntax Tree of your module and parses it for all references to ArgumentParser (The older optparse is currently not supported). These references are then extracted and assigned a component type based on the function they provide.

Currently, the ArgumentParser._actions are mapped to the following components.

Action WxWidget
store TextCtrl
store_const CheckBox
store_true CheckBox
store_False CheckBox
append TextCtrl
count DropDown
choice DropDown

Installation instructions

TODO

  • Get this thing working. (picture of osx)

  • Themes

  • update graphics

  • robustify parser

  • Optparse support? (do people still use it)

Wanna help?

Do you art? I'd love to swap out the graphics to something more stylistically unified. That ajax loader is pretty out of place..

Image Credits