Skip to content
Gruta: a blogging tool and web content management system (Python rework)
Python Shell
Branch: master
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.



Ángel Ortega <>

Gruta is a blogging tool and web content management system. This package is
called pygruta and is a Python port/rework/reboot of the original Perl
version. It's still a work in progress; for the fully functional software,
see Gruta [1].

Things that work by now:

 * Almost complete support for Gruta database maintenance in FS format
   for topics, stories, users, followers and indexes.
 * Snapshotting to a static site.
 * ActivityPub support: reception of messages, direct messages,
   likes and boosts (from the server) and feed sending to followers
   (from the command-line tool).
 * Webmention support: reception of mentions (from the server) and
   propagation of mentions in Gruta stories (from the command-line tool).
 * Twitter searches (from the command-line tool).
 * Notifications via Telegram.

Things that do not:

 * The SQL storage of the Gruta database (it won't probably be ported).
 * The online maintenance; there is no way to add new stories, topics,
   etc. from the web. The original Gruta can be used for this, though,
   as databases are 100% compatible.
 * Comments to stories (probably will never be ported).
 * The command-line maintenance is still incomplete and unreliable.

Given the modular nature of Gruta/pygruta, both software programs can
coexist. For example, I use the original Perl Gruta for the online web
maintenance and the Python Gruta for the static site, the social network
support (that were not available in the original version) and the command
line tools.

This software is released into the public domain.

Requirements outside Python standard library:

 * lxml
 * OpenSSL

You can’t perform that action at this time.