Installation ############ There are currently two main ways of installing :mod:`aioxmpp`: 1. :ref:`ug-installation-pypi`: this is recommended if you simply want to use :mod:`aioxmpp` in a project or need it as an dependency for something. It is not recommended if you want to hack on :mod:`aioxmpp`. 2. :ref:`ug-installation-source`: this is recommended if you want to hack on :mod:`aioxmpp` or if you anticipate requiring bugfixes or new features while you use :mod:`aioxmpp`. .. note:: You can help adding a third (and then new first way, because that way is the one I prefer most) way: Become a package maintainer for :mod:`aioxmpp` for your favourite Linux distribution. `rku `_ was so kind to create an `ArchLinux package in AUR `_, but other distributions are still lacking the awesomeness (``;-)``) of :mod:`aioxmpp`. *You* can change that. .. _ug-installation-pypi: Installing from PyPI ==================== In theory, simply running .. code-block:: bash pip3 install aioxmpp should install everything neccessary to run aioxmpp—except the development files for libxml2. You need to install these manually; how to do so depends on your distribution, here are some examples: .. code-block:: bash apt install libxml2-dev # debians dnf install libxml2-devel # redhats On ArchLinux, having libxml2 installed is sufficient; and as it is a dependency of lxml which in turn is a dependency of aioxmpp, you should have it already. .. note:: There is also an AUR package for aioxmpp for ArchLinux. You might want to use that instead of installing using pip. .. _ug-installation-source: Installing in editable mode from source ======================================= Editable mode allows you to hack on aioxmpp while still being able to import it from everywhere. You can read more about it in the relevant chapter from the `Python Packaging User Guide `_. To install in editable mode, you first need a clone of the aioxmpp repository. Then you tell pip to install the local directory in editable mode. It will assume that you have all dependencies in place. .. code-block:: bash git clone https://github.com/horazont/aioxmpp cd aioxmpp git checkout devel # make sure to use the devel branch pip3 install -e . # install in editable mode If any dependencies are missing, you will notice rather quickly. Check the README to see what dependencies aioxmpp needs. Running the unittests --------------------- To run the unittests, I personally recommend using the nosetests runner: .. code-block:: bash cd path/to/source/of/aioxmpp nosetests3 tests If any of the tests fail for you, this is worth a bug report.