This repository contains de source code of the Earth Observation Training Data Lab (EOTDL). It contains a set of Python libraries, APIs, CLIs and User Interfaces to explore, create, manage and share datasets and Machine Learning models for Earth Observations applications.
The eotdl library contains the main functionality for creating datasets and models.
The main API combines the functionality of the eotdl library with cloud storage (databases and object storage) and user management to explore, create, manage and share datasets and models.
In order to run the API, you need to set the following environment variables:
MONGO_URL
: the URL of the MongoDB databaseMONGO_DB_NAME
: the name of the MongoDB databaseS3_ENDPOINT
: the endpoint of the S3 object storageACCESS_KEY_ID
: the access key ID of the S3 object storageSECRET_ACCESS_KEY
: the secret access key of the S3 object storageS3_BUCKET
: the name of the S3 bucket to store the datasetsAUTH0_DOMAIN
: the domain of the Auth0 tenantAUTH0_CLIENT_ID
: the client ID of the Auth0 applicationAUTH0_CLIENT_SECRET
: the client secret of the Auth0 applicationAUTH0_CLIENT_SECRET
: the client secret of the Auth0 applicationADMIN_API_KEY
: the API key to access the admin endpoints
First, start docker
docer-compose up -d
Then, run the tests
docker-compose exec eotdl-api pytest --cov .
During development, you may want to keep test alive with
docker-compose exec eotdl-api ptw
You will need a .env
file with the environment variables missing in the docker-compose file.