Puny is a Python-based project for building websites for the IndieWeb. Puny implements:
- Micropub
- Micropub Media Endpoint
- Content validation using microformats2.
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!
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.
Puny passes the vast majority of the micropub.rocks test suite:
https://micropub.rocks/implementation-reports/servers/184/KD5Xbb6xfr5XRZsqwIvE
It renders some (though, not all) content, and has a very minimal timeline view.