Back to blog

lolrus

Nooooooo!

the og lolrus

Today I needed to delete a bunch of objects from an S3-compatible bucket on Linode - shoutout to the best virtual server provider on the planet. There are plenty of options out there including: simple python scripts, the Linode CLI, web-based portals and desktop clients.

In an effort to practice my own preaching: I built what could have been bought (downloaded).

Claude and I came up with lolrus (github link).

A desktop utility for managing S3-compatible buckets.

Functionality

The Basics

lolrus multi object delete All the basic functionality for managing objects within a bucket are present. Drag-and-drop upload, multi-object delete, renames, and more.

Logging

lolrus integrated logging

Logging is helpful both when developing but also when using a tool. I added in a resizable logging drawer so everyone knows what’s happening under the hood.

Connection Management

lolrus - connection management

I don’t want to have to punch in the access and private key for a bucket each time. Also - there’s that whole pesky URL thing to remember. Connection management to the rescue! This feature allows you to specify these details once and be done with remembering them. There’s also a handy drop-down for some of the most common S3-compatible providers (and regions)

Preview Pane

lolrus content preview If the content type is supported, you can see a quick preview of it in the side-panel preview pane.

Key Technologies

DearPyGui

DearImGui is an AMAZING C++ library for Immediate Mode UI definition. Unlike Retained Mode UI libraries, the state for IM UI’s is implicitly baked right into the syntax.

boto3

Anyone who’s written Python and has worked with AWS has spent many-a-day working with boto3. This one’s an OG.

keyring

To enable encrypted persisted sessions, the system keyring is employed.

PyInstaller

Nobody wants to manage virtual environments to run a tool! In that light, PyInstaller distills everything down into an easy-to-consume native binary. I’ve setup GitHub actions to build binaries for each platform when new versions are tagged.

Try it out!

If this sounds useful, please swing by and download the latest release.

Throw a start on the repo for charity - it’s helpful to know if folks find these little tools useful!