Installing for development
Installing Augur for local development is pretty similar to the normal installation process. This guide will primarily detail the differences between the two instead of regurgitating all the information in the Getting Started section. If you are completely new to Augur, we recommend following the aforementioned getting started section first; once you feel more comfortable with Augur and how to use it, come back to this document.
Setting up the database
If they so desired, developers can set up a persistent instance of PostgreSQL on either the local machine or a remote server. The instructions for doing so can be found in the database portion of the Getting Started section
However, during development, you might find that you need to reset your database often, especially if you are working on the data collection components of Augur. To this end, we recommend developers make use of our Docker images to quickly provision and terminate database instances in a lightweight and reproducible manner.
Installing from source
The process for installing Augur’s source code for development is essentially the same as detailed in the Installation section of the Getting Started guide.
However, when running the installation script, use the following command instead:
$ make install-dev
This will install a few extra dependencies for testing and documentation, as well as install all the Python packages in editable mode. This means you will not have to reinstall the package every time you make a change to the Python source code.
This command will also create your
augur.config.json file in the root of your cloned source code directory instead of the default location in
$HOME/.augur/. This is purely for convenience’s sake, as it will allow you to open this file in your text editor with all the other source code files, and also allows you to have multiple developer installations of Augur on the same machine if needed. If Augur finds a config file in both the root of the cloned directory AND in the default location, it will always use the one in the root of the cloned directory.
You can still use
make clean to get rid of the installed binaries if something went wrong and you want to try again.