The open-source scripting tool for Swift will have a new name! The name of related tool “Sh” will not change. Here’s what you need to know.
Here are the three reasons that motivate this change.
Self-evident “NPX for Swift” is how I had been introducing Swish, so why not just use the name “spx” to clarify that association? “SPM” is named closely to “NPM”. Further, the “shell” portion of ”SWIft SHell” is not as relevant any more. Swish is powering all kinds of scripting now, not just shell scripting.
Visually distinct When glancing over a tutorial, “swift” and “swish” are too easy to mix up. Also, I’ve personally mixed them up while typing commands on the command-line. “SPX” and “Swift” offer visual distinction.
More broadly appealing There already is a Homebrew package named “swish”. Swish is a fun name, a cute name even, but we need it to change to attract more folks.
The first step is to publish this so that folks know what to expect. The changes to the core repos have completed. GitHub maintains redirects to renamed repos for a certain amount of time.
Here are all the changes planned.
Instead of typing
swish, the command-line tool is now
brew tap fullqueuedeveloper/swish brew install swish
brew tap fullqueuedeveloper/fullqueuedeveloper brew install spx
If Swish was already installed, untap that first.
brew untap fullqueuedeveloper/swish
Instead of the
./Swish directory being the default place that Swish looks for scripts, SPX will now look in the
Since first publishing Swish and Sh, the ecosystem has grown quite a bit.
Passwords and other secrets are easily fetched from 1Password using Sh1Password which leverages the
op command-line tool. Local Postgres databases are easily created and destroyed using ShLocalPostgres. I’ve used Swish & Sh to create the animated GIFs for my Twitch and Discord (by leveraging
inkscape command-line tools). And of course, standard iOS build actions like pushing builds to the App Store, capturing screenshots, and creating app icons as exemplified in OpenBytes’s iOS app template repo.