Installing
==========

If todoman is packaged for your OS/distribution, using your system's
standard package manager is probably the easiest way to install khal:

- ArchLinux (AUR_)

.. _AUR: https://aur.archlinux.org/packages/todoman/

Install via PIP
---------------

Since *todoman* is written in python, you can use python's package managers,
*pip* by executing::

    pip install todoman

or the latest development version by executing::

     pip install git+git://github.com/pimutils/todoman.git

This should also take care of installing all required dependencies.

Manual installation
-------------------

If pip is not available either (this is most unlikely), you'll need to download
the source tarball and install via setup.py, though this is not a recommended
installation method::

    python3 setup.py install

Requirements
------------

Todoman requires python 3.3 or later. Installation of required libraries can be
done via pip, or your OS's package manager.

Todoman will not work with python 2. However, keep in mind that python 2 and
python 3 can coexist (and most distributions actually ship both).

Recent versions also have experimental support for pypy3.

.. _notes-for-packagers:

Notes for Packagers
-------------------

All of todoman's dependencies are listed in the requirements.txt_ file. New
dependencies will be clearly announced in the ``CHANGELOG.rst`` file for each
release. Patch releases (eg: those where the third digit of the version is
incremented) **will not** introduce new dependencies.

If your packages are generated by running ``setup.py install`` or some similar
mechanism, you'll end up with a very slow entry point (that's the file
``/usr/bin/todo`` file). Package managers should use the file included in this
repository under ``bin/todo`` and replace the above one.

The root cause of the issue is really how python's setuptools generates these
and outside of the scope of this project.

If your packages are generated using python wheels, this should not be an issue
(much like it won't be an issue for users installing via ``pip``).

.. _requirements.txt: https://github.com/pimutils/todoman/blob/master/requirements.txt
