Pure-Python IndieWeb CMS
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
public/css Initial commit after merging punymedia, punyview, and punypub. Mar 20, 2018
.gitignore Ignore development config files. Mar 20, 2018


Puny: Pure-Python IndieWeb CMS

Puny is a Python-based project for building websites for the IndieWeb. Puny implements:

To use Puny, you'll need an IndieAuth server. PunyAuth is a good choice!

Puny is very much in-progress at the moment, and was mostly written to help me better understand Micropub, IndieAuth, microformats, and other IndieWeb building blocks. I'd love it to eventually power my own (and many other) websites!

Implementation Details

Puny makes use of:

  • The Pecan Python web framework.
  • Mako for templating.
  • My microformats2 library for validation and post type discovery.
  • Maya for dealing with dates and times.
  • awesome-slugify for slug gen.
  • MySQL with JSON columns to store content.
  • Amazon S3 for media uploads.

Project Status

Puny passes the vast majority of the micropub.rocks test suite:


It renders some (though, not all) content, and has a very minimal timeline view.