Skip to content
Create Mac applications from command line scripts.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Application Updated Makefile and documentation. May 15, 2019
CLT Command line tool usage string and error message formatting Mar 10, 2019
Documentation Updated Makefile and documentation. May 15, 2019
Examples Updated documentation, URLs are now https Mar 7, 2019
Icons Updated interpreter icons, added Node.js interpreter preset Nov 25, 2018
Platypus.xcodeproj Updated Makefile and documentation. May 15, 2019
ScriptExec Refactored clt argument parsing and filtering into own function. Upda… Mar 29, 2019
Shared Help for UTIs should open Wikipedia info page Mar 10, 2019
Sparkle Appcast URL should use https Nov 25, 2018
Tests Got rid of XMLPlistFormat feature Nov 17, 2018
.gitignore Removed unused man2pdf script, updated .gitignore Mar 7, 2019
.travis.yml Added Makefile, travis configuration file. ##111 May 7, 2019
CHANGES.txt Updated Makefile and documentation. May 15, 2019
Common.h Updated copyright header formatting and year Mar 9, 2019
Common.m Updated copyright header formatting and year Mar 9, 2019
LICENSE.txt Updated copyright header formatting and year Mar 9, 2019
Makefile Updated Makefile and documentation. May 15, 2019
PrefixHeader.pch Lots of minor refactoring Feb 13, 2016
README.md Updated Makefile and documentation. May 15, 2019
build_release.sh Improved drag and drop handling and various minor refactoring + chang… Mar 9, 2019
make_examples.pl Fixed bug in perl script that builds examples where it would fail if … Mar 3, 2016
srcloc.sh Edit button for bundled files should only be enabled when single item… Nov 17, 2018

README.md

Platypus

Platypus is a developer tool that creates native Mac applications from command line scripts such as shell scripts or Python, Perl, Ruby, Tcl, JavaScript and PHP programs. This is done by wrapping the script in an application bundle along with an app binary that runs the script.

Platypus makes it easy to share scripts and programs with people who are unfamiliar with the command line interface. Native, user-friendly applications can be created with a few clicks. It is very easy to create installers, droplets, administrative applications, login items, status menu items, launchers and automations using Platypus.

Platypus is free, open source software and has been continuously developed and maintained for a very long time. If you find this program useful, please make a donation.

Install

Or install via Homebrew (may not be latest version):

$ brew cask install platypus

Features

  • Supports shell scripts, Python, Perl, Ruby, PHP, Swift, Expect, Tcl, AWK, JavaScript, AppleScript or any other user-specified interpreter
  • Apps can display graphical feedback of script execution as progress bar, text window with script output, droplet, WebKit HTML rendering or status item menu
  • Apps support receiving dragged and dropped files or text snippets, which are then passed to the script as arguments
  • Apps can execute scripts with root privileges via the macOS Security Framework
  • Apps can register as handlers for URI schemes
  • Apps can be configured to run in the background (LSUIElement)
  • Set own application icon or select from presets
  • Set app's associated file types, identifier, version, author, etc.
  • Graphical interface for bundling support files with the script
  • Command line tool for automation and build process integration
  • Support for signing generated apps using Mac developer certificates in Keychain
  • "Profiles" can be used to save app configurations
  • Built-in script editor, or linking with external editor of choice
  • Extensive documentation and many built-in examples to help you get started

Links

Screenshots

Platypus main window

Interfaces

Platypus lets you select one of several different user interfaces for your script.

Progress Bar Interface

Text Window Interface

Web View Interface

Status Menu Interface

Droplet Interface

Some notes on the code

Platypus is very old software, dating back to the early days of Mac OS X, around 2003, when I was first learning to use Objective-C and the Cocoa APIs. I made many beginner mistakes, some of which remain in the structure of the code. This software has since gone through about four dozen significant versions. It has been patched, bugfixed, streamlined to include new features and was transitioned over to modern Objective-C a few years ago. It's not how I would write it today.

With these caveats in mind, here is the BSD-licensed source code to Platypus.

BSD License

Copyright (c) Sveinbjorn Thordarson <sveinbjorn@sveinbjorn.org> All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The Platypus application icon is copyright (C) Drífa Thoroddsen.

You can’t perform that action at this time.