This repository containes the recipes to build the Docker container of Agilepy.
For Docker :
This Dockerfile starts from an oracle8 image and installs all the low and high level dependencies required by Agilepy. The AGILE tools are installed from source. It can be used as develop environment.
Build the base image and push it to DockerHub. Tags here
cd recipes/docker/base
docker build --tag agilescience/agilepy-recipe:<tagname> .
docker login
docker push agilescience/agilepy-recipe:<tagname>
Agilepy's dependencies are locked to provide a stable environment. When a new dependnecy is added to the requirements.txt, the requirements.lock file must be regenerated with:
pip-compile --resolver=backtracking --no-annotate --output-file requirements.lock requirements.txt
pip-compile
(>=6.12.3) can be installed with
pip install pip-tools
If you want to update a package, regenerate the .lock file using the --upgrade-package PACKAGE
option.
Add to the base image a specific release of Agilepy and push it to the DockerHub. Agilepy releases here
cd recipes/docker/agilepy
docker build --build-arg BASE_VERSION=<base-version> --build-arg AGILEPY_RELEASE=<agilepy-release> --tag agilescience/agilepy:release-<agilepy-release> .
docker login
docker push agilescience/agilepy:<agilepy-release>
For Anaconda the following packages are available on the Anaconda Cloud:
This package contains the AGILE science tools. They are downloaded and installed using the AGILE-GRID-ScienceTools-Setup repository.
This package contains two datasets, extracted from the AGILE data archive. They are used within the Agilepy software for testing purposes and for developing several Agilepy's tutorials.
This package contains the Agilepy software. The agiletools version in meta.yaml must be updated to the latest one available on Anaconda Coud.
Login to anaconda cloud:
anaconda login
Upload the package with:
anaconda upload <path-to-package>
The is written on the console at the end of the conda-build command.
Update conda and install and update conda-build:
conda update conda
conda install conda-build
conda update conda-build
Add the required channels.
conda config --add channels conda-forge
conda config --add channels plotly
Build the anaconda packages:
source recipes/anaconda/science-tools/start_build.sh <agile-st-tag>
source recipes/anaconda/agilepy-dataset/start_build.sh <agile-st-tag>
source recipes/anaconda/agilepy/start_build.sh local <agilepytag>
Be sure to use the anaconda Command line client.
anaconda --version
anaconda Command line client (version 1.7.2)
and not
anaconda --version
anaconda 21.48.22.156-1