back

DropPy

About

DropPy was a macOS app that turned drag-and-drop into a Python automation surface. The idea: anything you can drag on your Mac — files and folders, but also emails, calendar items, and images — becomes input for a chain of Python scripts, including objects that terminal scripts can't easily address. A dropped object usually carries its data in several representations at once (macOS categorizes these as UTIs, Uniform Type Identifiers), and DropPy surfaced all of them, so a workflow could pick whichever format suited the task.

The architecture was the interesting part. Each unit of work was a small, single-purpose Python script called a Task; Tasks were sequenced and parameterized through a JSON Workflow, which kept them easy to reuse, share, and reason about — most were only a few lines long. The app shipped batteries-included with a library of example Workflows and Tasks, plus a dedicated Development Mode — re-drop the last object, open the latest log, jump to the temp directory — for iterating quickly on your own. It ran on the system Python by default, but you could point it at any interpreter — Python 3, Anaconda, PyPy — or use a virtual environment for clean dependency management. On privacy it was deliberately minimal: the only network call was an optional update check, with no in-app analytics and no crash-reporting service.

DropPy shipped in 2018 and launched on Product Hunt, where it earned 115 upvotes and placed #1 of the day (2018-02-25). Its product page is lost to time.

An interesting side-project that come out of this is swift-license-manager, a small Swift app to generate and validate license codes.

Status

Discontinued in May 2018.

As there was little interest in it and subsequent versions of macOS did not include Python any more and required increasingly difficult sandboxing, I decided to retire this app.

I still have the source available, but its not public.

Screenshots

DropPy logo icon

using DropPy to convert a website into a note

using DropPy show available drag and drop artifacts

DropPy and its log output

DropPy Python interpreter configuration

DropPy task and workflow code

Tech Stack

Swift 5, Xcode 10.2, Storyboard

FastSpring to sell licenses

License

Proprietary