A couple days ago, I released a new version of HyperKitty on PyPI, which is now compatible again with the current Mailman3 branch (and beta tarball releases).

Lots of big changes and refactoring in this version:

  • KittyStore was merge into HyperKitty, which makes the whole suite much easier to install and maintain. This move was announced and discussed on the mailing-list. All the unit tests were ported to HyperKitty, so there shouldn’t be new bugs ;-)
  • The Mailman archiver plugin was split off in its own project: mailman-hyperkitty. This is necessary because this plugin runs within the Mailman process and thus must be Python3-compatible. It makes HTTP calls to HyperKitty to get URL locations and send emails to archive.
  • HyperKitty is now compatible with Django 1.6 and 1.7, with automatic testing using tox. A lot of tests were added, and a couple mistakes were discovered by PyLint.
  • The full-text search engine is now driven by the Haystack library, which allows us to switch to different backends depending on our needs. HyperKitty ships with the Whoosh backend enabled by default, but I’m using the Xapian backend for my tests in the Fedora infrastructure, and it’s significantly faster.

If you want to install HyperKitty now, just use the documentation. If you want to install Mailman 3 + Postorious + HyperKitty at the same time, then wait, there’s more :-)

At PyCon US 2014, I wrote a tool to easily install Mailman 3 + Postorious + HyperKitty in the same instance. This tool used Buildout to compose the install from the releases on PyPI, and was called Mailman-Bundler. Life was good. Unfortunately, when Mailman moved to a Python3-only project at the end of 2014, this tool stopped working for two reasons: HyperKitty was no longer compatible, and Mailman needed its own Python3-based virtualenv to run.

I am pleased to announce that the Mailman bundler tool is working again. If you want to easily install Mailman + HyperKitty + Postorius, just follow the tutorial. It is not very suitable for development though, because I get the code from the PyPI releases, not from bzr/git. Please test it and report bugs! If you want a development setup with fresh code from the VCS, there’s this tutorial that Mo wrote a few months ago, and that I updated.

So you may be wondering: when are we finally going to see HyperKitty in action for real? A just question. I have written a quick wiki page to summarize the steps needed to deploy HyperKitty in the Fedora infrastructure. Basically, the next big step is to package Mailman’s dependencies for EPEL7, which includes the whole Python 3.4 stack, since RHEL7 only ships 3.3 and Mailman requires 3.4. Fortunately I’m not the only one with this requirement, and a Fedora contributor has already drafted a packaging plan. There’s no code yet, but I will contribute to it.

The Mailman team is aiming for a final release at PyCon in April (this year, yes), and we’re aiming for a HyperKitty deployment around the F22 timeframe.

Also, the perspective of the incoming GSoC program this summer is bringing a lot of interested students to Mailman and HyperKitty these days, this is very cool :-)