Day 1 — Virtual RC!

Today was my first day at RC! I've been hanging out on Zulip since last week though, mostly participating in the #games stream where we're doing a 30-day video game music challenge. I feel great nostalgia every day when I post a track from a video game I used to …

Read

There are comments.

Day 0 — What I want to do at Recurse Center

I've been accepted to the Fall 1 batch at the Recurse Center (yay!), which starts tomorrow. RC is an educational retreat for programmers, based in New York City. It is heavily influenced by unschooling, which means that it is self-directed and everyone is free to explore and learn what they're …

Read

There are comments.

The Hitchhiker's Guide to CLIs in Python

This article is based on my PyCon 2020 talk of the same title.


In the beginning, was the command line. Well, not quite the command line we know today.

We had typewriters. We were communicating using Morse code. One fine day, someone had an idea to connect a typewriter to …

Read

There are comments.

The Hitchhiker's Guide to CLIs in Python — Part 4: User Experience

Now that we know how to write CLIs in Python, let's talk about the CLI user experience. As mentioned earlier, we're operating in a constrained design space. In contrast to GUIs, which offer a lot of visual cues and guidance to the user.

There are some principles that can help …

Read

There are comments.

The Hitchhiker's Guide to CLIs in Python — Part 3: Writing and packaging a CLI using Click

Let's look at some common CLI use cases and how we can use click to implement them.

This time we'll use an example CLI called smol-git.


  $ smol-git --help
  Usage: smol-git [OPTIONS] COMMAND [ARGS]...

    smol-git - the stupid content tracker

  Options:
    --version  Show the version and exit.
    --help     Show this message and …
Read

There are comments.