Skip to main content

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).

Example

Configuration

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.

Installation

  • Install this program from Pypi:

    python3 -m pip install chval
    
  • Quick and dirty Debian (and Ubuntu?) package (requires stdeb <https://github.com/astraw/stdeb>):

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

History

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.

License

Copyright 2010-2023 Louis Paternault

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

Metadata

Release files for chval 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chval 1.3.0
File Size Uploaded Provenance Actions
chval-1.3.0.tar.gz 81.3 kB Without provenance Details for chval-1.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for chval 1.3.0
File Interpreter ABI Platform Actions
chval-1.3.0-py3-none-any.whl Python 3 none any Details for chval-1.3.0-py3-none-any.whl

Total release size: 100.2 kB

Release files / chval-1.3.0.tar.gz

Download URL chval-1.3.0.tar.gz
Size 81.3 kB
Tags Source
SHA-256 checksum
How to use checksums
0e0d59a5dd0825237adc3e42cc5c2a7f656c733ae9d4784feda99c2bc6f9550e
BLAKE2b-256 checksum
How to use checksums
797a937ee2843f3ae67812739f0a9016bea7e478621a84a8a49ad586778127b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / chval-1.3.0-py3-none-any.whl

Download URL chval-1.3.0-py3-none-any.whl
Size 18.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9a8fb360c858c4ab24c3306613f1aa5d956c3d26ab113876e52c61a6401d19e4
BLAKE2b-256 checksum
How to use checksums
5c766fd7a8563ed8a6379f43b722a4c8bd734d7cac5df204b1bcf9a41674a6fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Security for chval 1.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page