# 1. Installation

These days, alot can be installed directly using your favourite package manager. On a recent Debian (-derived) systems for instance, just do sudo apt install alot and you’re done.

Note

Alot uses mailcap to look up mime-handler for inline rendering and opening of attachments. To avoid surprises you should at least have an inline renderer (copiousoutput) set up for text/html in your `~/.mailcap`:

    text/html;  w3m -dump -o document_charset=%{charset} '%s'; nametemplate=%s.html; copiousoutput

On more recent versions of w3m, links can be parsed and appended with reference numbers:

    text/html;  w3m -dump -o document_charset=%{charset} -o display_link_number=1 '%s'; nametemplate=%s.html; copiousoutput

See the manpage mailcap(5) or RFC 1524 for more details on your mailcap setup.

## 1.1. Manual installation

Alot depends on recent versions of notmuch and urwid. Note that due to restrictions on argparse and subprocess, you need to run python ≥ 3.5 (see faq). A full list of dependencies is below:

- libmagic and python bindings, ≥ 5.04

- configobj, ≥ 4.7.0

- libnotmuch and it’s python bindings, ≥ 0.30

- urwid toolkit, ≥ 1.3.0

- urwidtrees, ≥ 1.0.3

- gpg and it’s python bindings, > 1.10.0

- twisted, ≥ 18.4.0

On Debian/Ubuntu these are packaged as:

    python3-setuptools python3-magic python3-configobj python3-notmuch python3-urwid python3-urwidtrees python3-gpg python3-twisted python3-dev swig

On Fedora/Redhat these are packaged as:

    python-setuptools python-magic python-configobj python-notmuch python-urwid python-urwidtrees python-gpg python-twisted

To set up and install the latest development version:

    git clone https://github.com/pazz/alot
    python3 -m venv dev-venv
    . dev-venv/bin/activate
    pip install -e .

or you can install the development version into `~/.local/bin`:

    pip install --user .

Make sure `~/.local/bin` is in your `PATH`. For system-wide installation omit the –user flag and call with the respective permissions.

## 1.2. Generating the Docs

This requires sphinx, ≥ 1.3 to be installed. To generate the documentation from the source directory simply do:

    make -C docs html

A man page can be generated using:

    make -C docs man

Both will end up in their respective subfolders in `docs/build`.

In order to remove the command docs and automatically re-generate them from inline docstrings, use the make target cleanall, as in:

    make -C docs cleanall html