Create native macOS applications from command line scripts with a graphical interface or command line tool.
Platypus is a macOS developer tool that converts command line scripts—such as shell scripts, Python, Perl, Ruby, or other interpreter-based programs—into native macOS applications. It wraps scripts in an application bundle with a lightweight binary, solving the problem of sharing scripts with users who are not comfortable with the terminal. This enables the creation of user-friendly apps for installers, droplets, administrative tools, and automations.
Developers and scripters on macOS who want to distribute command line tools as graphical applications, especially those targeting users unfamiliar with terminal interfaces or needing drag-and-drop functionality.
Developers choose Platypus for its simplicity, extensive language support, and flexible interface options, allowing rapid creation of native macOS apps from existing scripts without learning GUI frameworks. Its long-term maintenance and command line tool for automation add reliability and integration capabilities.
Create native macOS applications from command line scripts.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works with over a dozen interpreters including shell, Python, Perl, Ruby, and Swift, allowing developers to wrap scripts in multiple languages without modification.
Offers pre-built interfaces like progress bars, text windows, droplets, WebKit HTML views, and status menu items, enabling rapid app creation without GUI coding.
Apps can accept files or text snippets via drag-and-drop, passing them as script arguments to create user-friendly droplets or tools.
Integrates with macOS Security Framework to execute scripts with root privileges, making it suitable for administrative tools and installers.
Exclusively targets macOS with no support for other operating systems, limiting its usefulness for cross-platform development or distribution.
The author notes the code contains beginner mistakes and outdated structure from its 20-year history, which may affect maintainability and modern integration.
Interfaces are predefined and not fully customizable; developers cannot easily create complex, bespoke UIs beyond the provided options.