Skip to main content

CLI to Sync MailingList archives in local Maildir from Hyperkitty.

Project description


HKsync, short for Hyperkitty-Sync is a simple client to download archives for public mailing lists from Hyperkitty to a local Maildir to read with your favorite email client.

You don't have to be subscribed to the MailingList to download the archives. Since we just download public MailingLists, there is no need for any sort of authentication. We use Hyperkitty's export API to download emails as mbox and then populate a local Maildir.

WARNING: This is currently in alpha stage, although it has been tested by the author to work for simple situations.


Right now, HKsync is in a alpha stage. To download and use, you need to download it from git repo. Here are the instructions:

# Clone the git repo.
$ git clone

# Create a virtualenv and install dependencies.
$ python3 -m venv hksync

# Download the dependencies.
$ source hksync/bin/activate
$ python install


HKsync let's you add various MailingLists and then sync from each of them using a single command, which can be used as a periodic cron job. It does not provide any mechanism to run periodically since there are several other tools already available to run commands periodically like Cron or Systemd.

To add a new MailingList:

$ hksync add --server --mlist

You can list all the currently added MailingLists's using:

$ hksync list

You can remove a MailingList using:

$ hksync remove

Finally, you can sync your emails using:

$ hksync sync

This will sync emails for past 1 day only. Optionally, you can provide a --days n parameter to sync past n days of emails for each list.

You can also pass --mlist to sync emails for only one server instead of all.

Reading Emails

You can use your favorite Email client to read these emails since we use a standard Maildir format which most clients support.


This is a sample configuration to read emails in mutt, which is a popular command line email client:

# ~/.muttrc
set mbox_type=Maildir
set folder="~/hksync"
set mbox="~/hksync"
set spoolfile="~/hksync"

After this, you can just run mutt in your terminal to read the Emails from MailingLists that you downloaded.

If you don't want to alter the configuration, you can just run:

$ mutt -f ~/hksync

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hksync-0.2.1.tar.gz (5.7 kB view hashes)

Uploaded source

Built Distribution

hksync-0.2.1-py2.py3-none-any.whl (2.6 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page