.. _install: ============ Installation ============ Stable release -------------- To install kibitzr, run these commands in your terminal: .. code-block:: bash $ virtualenv venv $ source venv/bin/activate $ pip install kibitzr This is the preferred method to install kibitzr, as it will always install the most recent stable release. If you don't have `pip`_ installed, this `Python installation guide`_ can guide you through the process. .. _pip: https://pip.pypa.io .. _Python installation guide: http://docs.python-guide.org/en/latest/starting/installation/ Dependencies ------------ Kibitzr has many integrations and depending on what features are used may require additional setup. The recommended way to have all dependencies installed and configured is to use `Docker`_. Docker ------ Make sure `Docker is installed `_. Run the following commands to pull docker image, create example configuration and run kibitzr: .. code-block:: bash mkdir kzr-example cd kzr-example docker run -v $PWD:/root --rm peterdemin/kibitzr init docker run -v $PWD:/root --rm peterdemin/kibitzr run Manual installation ------------------- The hard way is to install all dependencies. Consult `Dockerfile`_ and :ref:`gcp` tutorial on required steps. Kibitzr uses several Python packages, that have C extensions. When installed through pip, they are compiling libraries. This process requires gcc (which is almost always present) and Python header files (which are not installed on vanilla Linux). You can either install those dependencies using OS installer:: apt install python-lazy-object-proxy python-yaml or install Python headers:: apt install python-dev Optional dependencies --------------------- Some of the dependencies are used only when corresponding features are used in ``kibitzr.yml``. 1. ``changes`` transform. Requires `git`_. 2. ``delay`` and ``scenario`` - triggers for using Firefox as a fetcher. Installing Firefox can be cumbersome, please refer to :ref:`FireFox installation guide `. 3. HTML selectors ``xpath``, ``css`` and ``tag`` require ``lxml`` which compiles low-level extensions during pip installation. So again, you either install ``python-dev``, or install ``lxml`` from OS repo:: apt install python-lxml .. _Docker: https://www.docker.com/ .. _Dockerfile: https://github.com/kibitzr/kibitzr/blob/master/Dockerfile .. _git: https://git-scm.com/ .. _xvfb: https://www.x.org/archive/X11R7.6/doc/man/man1/Xvfb.1.xhtml