Pashua: Native macOS dialogs for scripting languages
Pashua is a macOS application for creating native dialog windows from almost any programming language. Typically, it is used with languages that have none or only limited support for graphic user interfaces on macOS, such as AppleScript, Bash scripts, JavaScript, Perl, PHP, Python, Ruby, Tcl and others – and if your favourite language is not yet supported: writing the glue code for communicating with Pashua is pretty simple. See the Pashua Bindings repository for code and more information.
Pashua was written by Carsten Blüm (www.bluem.net) in Objective-C/Cocoa and should run on macOS/OS X 10.9 or later.
About the code
Pashua’s history goes back to 2003. Most of the code was written between 2003 and 2010, and the codebase never experienced a major refactoring. In other words: When inspecting the code, you will find generally mediocre code quality, lack of SOLID principles etc., and you should in no way use Pashua’s codebase as a reference for how macOS applications should be built. Despite that, Pashua is still a valuable tool used all over the world (albeit not used by me …), which is why I released it as Open Source Software (3-clause BSD license).
Compiling
It should be able to compile the project with Xcode 9 out of the box. Older versions are untested.
For pre-compiled binaries, see the Releases page.
Future plans
I do not have any roadmap for Pashua. Probably, I will have almost no time for working on it (as it was the case in the last few years), so its future is currently unclear.
Over the years, I got a lot of feature requests, but due to lack of time and motivation, I hardly implemented any of them. Meanwhile, I have added a number of these requests as issues. This does not necessarily imply that I intend to resolve any of them.
License
Pashua’s source code is released under the 3-clause BSD license