.. _installation: Installation ============ 0. ZeROSMQ has been tested on Python 3.7.1, but it *should* also work on Python 3.6 (earlier versions won't work because ZeROSMQ uses `f-strings `_). 1. ZeROSMQ requires `pyzmq `_. If you wish to use :ref:`the graphing tool`, you also need to install `graphviz `_. If you wish to use :ref:`the live plotter`, you also need to install `pyqtgraph `_. It is highly recommended to install `GNU Parallel `_ for sanity-preservation purposes: you can run all nodes with a single shell script, in parallel, get all outputs in the same window, and close them with a single ``Ctrl+C``. See :ref:`the "Shell script"` section for details on the recommended shell script. 2. Copy the ``zerosmq.py`` and ``zerosmq-master.py`` files to a folder of your choice. If you want to graph the nodes, also copy ``drawmap.py``. If you want to plot any topic, also copy ``plotdata.py``. 3. Add any nodes that you want to the same folder. See :ref:`Usage` for the code that you should use in the nodes. 4. Run the master node (``python zerosmq-master.py`` or similar) and any other nodes (``python .py``). If you have :ref:`GNU Parallel and a shell script`, execute ``./run.sh`` instead (assuming your shell script is called ``run.sh``).