## Nooooooo!

Today I needed to delete a bunch of objects from an S3-compatible bucket on [Linode](https://linode.com/) - 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)](https://github.com/zimventures/lolrus).

A desktop utility for managing S3-compatible buckets.

### Functionality

#### The Basics

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

#### 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

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

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](https://github.com/zimventures/lolrus/releases).

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