peterdsharpe / AeroSandbox

Aircraft design optimization made fast through computational graph transformations (e.g., automatic differentiation). Composable analysis tools for aerodynamics, propulsion, structures, trajectory design, and much more.
https://peterdsharpe.github.io/AeroSandbox/
MIT License
741 stars 119 forks source link

Keeping both a gui and a command line interface #7

Closed ghost closed 5 years ago

ghost commented 5 years ago

You state you want to add a GUI in the future development section. However, I urge you to still have both the GUI and command-line interface have the same features. That way both programmer(using a subprocess module like in python) and non-programmers can still use your software in the future.

peterdsharpe commented 5 years ago

Yes! I absolutely want to keep a command-line interface, and if it comes down to choosing between the two, I'll prioritize keeping all features command-line accessible over implementing GUI interfaces.

I'm a big believer in command-line tools as well. :)

One thing that might be nice is to add a "tracer"/"logger" into the GUI, so that all GUI interactions are recorded to a file. This way, someone who starts out using the GUI can easily switch over to doing the exact same functions with the command-line interface, in case they want to do automated runs or complex optimization.