Six Colors
Six Colors

Apple, technology, and other stuff

Support this Site

Become a Six Colors member to read exclusive posts, get our weekly podcast, join our community, and more!

By Jason Snell

Using Panic’s Nova for remote Python scripting

Sticky scrolling through a Python project in Nova, complete with a terminal tab and an SFTP sidebar.

I’ve been writing scripts in Python for a few years now, and it’s taken over a lot of my remote automation. I’ve got a calendar in my kitchen driven by a bunch of Python scripts, and numerous automations running on a remote linux server for Six Colors and The Incomparable.

Up to now, I’ve been doing all of my Python work in BBEdit, an app I use as my default tool for so much of the work on my Mac. But to be accurate, I have to say that I do all my work in BBEdit and Terminal, because these are scripts running on remote devices that I need to be able to control.

The other day it hit me: While I think of Panic’s $99 Nova as a web development tool (I used it when I moved Six Colors into WordPress, which required rebuilding the site’s entire theme using PHP), it’s also a code tool, with SFTP and a terminal built in. An hour later I had created Nova projects for all my remote Python tools and was happily able to access remote directories and the command line from a single tabbed window. Nova also has some pretty great code editing features of its own that go a little bit beyond BBEdit, including sticky scroll, which helps me know what function(s) I’m inside of while editing.

I know a lot of people swear by Microsoft’s free Visual Studio Code, but every time I look at it I realize that it is made for people who are not me. Nova’s outside my comfort zone, but it’s closer—and seems to want to work the way I work.

This will show you how much of a sicko I am. A recent Nova update added support for debugging features, which I’ve only ever used in Script Debugger, the definitive AppleScript development tool. That’s right, programmer nerds, my only debugging experience ever is with AppleScript.

Anyway, I can’t entirely understand how to set up debugging (and remote debugging?!) in Nova, but I’m going to give it a go because it would be nice to stop debugging by printing various things to the log and waiting for things to break.

I’m sure I’m still only using a fraction of the tools available to me in Nova, but for my projects writing scripts on remote Linux servers, it’s found a place in my tool chest.

If you appreciate articles like this one, support us by becoming a Six Colors subscriber. Subscribers get access to an exclusive podcast, members-only stories, and a special community.


Search Six Colors