All Projects → sveinbjornt → Platypus

sveinbjornt / Platypus

Licence: bsd-3-clause
Create native Mac applications from command line scripts.

Programming Languages

objective c
16641 projects - #2 most used programming language
c
50402 projects - #5 most used programming language
Lex
420 projects
Roff
2310 projects
shell
77523 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Platypus

Orsserialport
Serial port library for Objective-C and Swift macOS apps
Stars: ✭ 609 (-67.83%)
Mutual labels:  osx, cocoa
Enlighten
💡 An integrated spotlight-based onboarding and help library for macOS, written in Swift.
Stars: ✭ 44 (-97.68%)
Mutual labels:  osx, cocoa
Xit
Mac OS X Git GUI
Stars: ✭ 700 (-63.02%)
Mutual labels:  osx, cocoa
Stprivilegedtask
An NSTask-like wrapper around the macOS Security Framework's AEWP function to run shell commands with root privileges in Objective-C / Cocoa.
Stars: ✭ 335 (-82.3%)
Mutual labels:  osx, cocoa
Beagle Im
XMPP client for macOS based on TigaseSwift XMPP library
Stars: ✭ 86 (-95.46%)
Mutual labels:  application, osx
Marky
A markdown editor built with Electron and React
Stars: ✭ 355 (-81.25%)
Mutual labels:  application, osx
Osx Mac Menubar App
Menubar application for Mac
Stars: ✭ 11 (-99.42%)
Mutual labels:  application, osx
ToTheTop
🔝To the top - A small macOS application to help you scroll to the top.
Stars: ✭ 33 (-98.26%)
Mutual labels:  application, osx
Subethaedit
General purpose plain text editor for macOS. Widely known for its live collaboration feature.
Stars: ✭ 1,183 (-37.51%)
Mutual labels:  osx, cocoa
Macqq
mac版QQ,swift,macOS,仿QQ mac端
Stars: ✭ 72 (-96.2%)
Mutual labels:  osx, cocoa
rocksmithconvert
Simple standalone OSX app to convert Rocksmith 2014 .psarc (CDLC) files between PC and MAC.
Stars: ✭ 45 (-97.62%)
Mutual labels:  osx, platypus
Sbplayerclient
支持全格式的mac版视频播放器
Stars: ✭ 110 (-94.19%)
Mutual labels:  osx, cocoa
Fab
🛍️ A Floating Action Button for macOS. Inspired by Material Design, and written in Swift.
Stars: ✭ 24 (-98.73%)
Mutual labels:  osx, cocoa
Strongbox
A KeePass/Password Safe Client for iOS and OS X
Stars: ✭ 586 (-69.04%)
Mutual labels:  osx, cocoa
rstpad
Standalone reStructuredText editor with live preview (native app)
Stars: ✭ 35 (-98.15%)
Mutual labels:  application, osx
Nswindowstyles
A showcase of the many different styles of windows possible with NSWindow on macOS
Stars: ✭ 801 (-57.69%)
Mutual labels:  osx, cocoa
Criollo
A powerful Cocoa web framework and HTTP server for macOS, iOS and tvOS.
Stars: ✭ 229 (-87.9%)
Mutual labels:  osx, cocoa
Dropbox-Paper-Desktop
Unofficial Dropbox Paper app for OS X
Stars: ✭ 22 (-98.84%)
Mutual labels:  application, osx
Gitee
Gitee, OS X status bar application for Github
Stars: ✭ 1,095 (-42.16%)
Mutual labels:  application, osx
Dogetv macos
🎬 dogeTV for macOS
Stars: ✭ 92 (-95.14%)
Mutual labels:  osx, cocoa

License Language Build

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 a slim 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.

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 a 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 and send user notifications
  • 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
  • "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
  • Generates slim and speedy native applications that launch and run quickly
  • Fast, responsive native app written in Objective-C/Cocoa

Install

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

Platypus can also be installed via Homebrew (may not be latest version):

$ brew install --cask platypus

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

Building Platypus

To build Platypus, run the following command from the repository root (requires Xcode build tools):

$ make build_unsigned

The resulting application bundle is created in the products directory.

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) 2003-2021 Sveinbjorn Thordarson <[email protected]> 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].