Skip to main content

Parallel `getmail` calls, with progress bars

Project description

chval — Parallel getmail calls, with progress bars

Program Ch'val (abbreviated chval) is a wrapper for getmail:

  • it looks for your configuration files, and run getmail on all of them;
  • it executes getmail calls in parallel;
  • it displays a nice progress bar, and a summary at the end (as well as error messages, if getmail failed).



Chval takes no configuration, and does not require any specific getmail configuration. The only assumption are that:

  • getmail configuration files are located in the default getmail folder ~/.config/getmail;
  • getmail configuration files have a name starting with getmailrc- (e.g. getmailrc-work);
  • getmail does not prompt for a password (it is either stored in plain text in the configuration file, or in a password manager (see option --store-password-in-keyring)).

That way, Ch'val can automatically find your getmail configuration files.


  • Install this program from Pypi:

    python3 -m pip install chval
  • Quick and dirty Debian (and Ubuntu?) package (requires stdeb <>):

    python3 --command-packages=stdeb.command bdist_deb
    sudo dpkg -i deb_dist/chval-<VERSION>_all.deb


The name comes from Ferdinand Cheval, known as le facteur Cheval (Postman Cheval), a famous French postman and naive architect. Cheval means horse in French, and may be orally shortened to ch'val.

In 2010, the only way to provide a password to getmail was by storing it in plain text in the configuration file (not really secure), or by providing it when prompted (combersome when you check your 5 or 10 email addresses several times a day). I (back then, a yound and inexperimented programmer) started this project (then named gams, for get all mails), that wrapped getmail by storing the passwords in an encrypted file : a server would call getmail when prompted by the client, which would provide, once, the master password to decrypt the email passwords. I also added a home-made progress bar.

Three years later (in 2013), I started to experiment with twisted to replace the named pipe used by the client and server to communicate. This never led to anything…

Eight years later (in 2021), I wondered if it would be possible to use an existing keyring software (like Seahorse) to store password keys, and to communicate with it using dbus. This never led to anything.

The very same year, I noticed that getmail had a new feature (which already existed for several years) to use a keyring to store the password. My software was outdated, and I happily dropped support for it.

About a year later, I missed the ability to run getmail on all my mailboxes at once, and the progress bar, so I revived Ch'val from the dead: the initial goal (storing password) is no longer relevant, but the progress bar, which was then an incidental feature, became the main purpose.

A more technical history can be found in the changelog.


Copyright 2010-2023 Louis Paternault

Ch'val is licensed under the GNU GPL 3 license, or any later version.

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

chval-1.2.0.tar.gz (80.9 kB view hashes)

Uploaded source

Built Distribution

chval-1.2.0-py3-none-any.whl (18.8 kB view hashes)

Uploaded 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