New dependencies ================ Blast and all its associated services are run in `Docker `_ containers. This allows the application to be portable. You may be working on some code that requires you to add a new Python package. To add this dependency, you have to do two things. 1. Add the package and version to the :code:`app/requirements.txt`. This allows Docker to `pip install `_ your new package. 2. Change the :code:`BLAST_IMAGE` variable in your :code:`env/.env.dev` to be :code:`blast_base` instead of :code:`blast_latest`. This will force Docker to build and install your package. .. note:: Setting :code:`BLAST_IMAGE=blast_latest` in your :code:`env/env.dev` means the latest Blast Docker image is downloaded and used when running Blast locally. This is faster than building the image from scratch every time. :code:`BLAST_IMAGE=blast_base` forces the image to be built from scratch which is required when you have added a new dependency. Eventually, when a new dependency is accepted into the main branch it will become part of the Blast latest image.