Before I reinvent a wheel, does anyone know of a FOSS web app (or module/plugin for an established framework) for creating/redeeming download codes for digital assets?

As in, a content creator can:
* create a work (Album/book/digital artwork/whatever)
* attach one or more downloadable files to it
* Generate batches of alphanumeric codes that people can redeem to download those files
* Configure limits per code (IE, number of downloads, expiration after initial redemption)

To be clear: I'm not looking for a purchasing system at all, just an arbitrary code generation/redemption system that's entirely agnostic about how a person might wind up with a code.

Bandcamp gives you 200 free codes and the option to purchase more as needed, but I'm pretty annoyed that you can only use them batches of 100; I'll be lucky to make 100 sales of *anything* online, much less IRL, so buying them in lots of 300 isn't a great deal

So I've got a "technically works but needs pretty/responsive templates for the end user, and an UI for batch generation" POC of this built in Django. As always with these things I suspect the last 20% will be the most grueling, but I'm going to try to see it through and release it as a standalone, pip-installable app anyone can just add to a Django site

Show thread

This is actually nearing 'dev release' stage; I'll probably make the repo public and deploy an instance for my own music within the next couple of days. It's a pretty-well self-contained / app that should be pretty easy to drop into a site.

Show thread

Here's the first pre-release of the "Busker" download code management app for :

There's still some polish/tests/better documentation to be done but it more or less works.

Show thread

After a few additional refinements, I got v0.6.0 of Busker deployed in the wild. It's not ready for PyPi yet, but you can install it with pip straight from the repo:

pip install

Show thread

New in Busker 0.6.0 are a couple of signals: One that gets sent after a code is redeemed and one that gets sent when someone clicks a file download link.

In a separate custom app I cobbled together an IFTTT webhook to send myself a slack message whenever somebody redeems a code, which is pretty swell.

If you want to see it in action (and get some free banjo in the process) You can go to and enter the code 'NA8XHNA'


head straight to

Show thread

Busker 0.7.0 (my tool for creating and redeeming digital download codes) is out. The only new 'feature' per se is prettier error pages, but more significantly I also finally got around to trying out and got a bit obsessed with its super-helpful reporting. As of 0.7.0, unit test coverage is technically at 100% (Signals still need tests and there's room for improvement, but this is the most diligent I've ever been with testing and I'm pretty pleased.)

Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!