Emily CLI Documentation

Release-v2.0.1

Emily combines the powers of Python and Docker to build stable and consistent machine learning and datascience python environments. Emily is useful for large cross-team project development as well as for simply running a single jupyter notebook or python script.

Download emily@v2.0.1
See earlier versions
$ emily deploy kubernetes <project> [options]

Deploy Emily project to a Kubernetes cluster. In order to use this command, you must have 1) a Docker hub account with a repository where the project image will be hosted, 2) a running Kubernetes cluster where the Kubernetes service can be deployed, and 3) connected kubectl to your Kubernetes cluster.

$ deploy kubernetes my-project
Select an environment or add new
| my-environment-1
| my-environment-2

>>

Please enter a name for your new environment: >>

Please enter your Docker Hub username: >>

Please enter the password for the Docker Hub account : >>

Please enter the name of the repo to host your image on: >>

Are you using a private Docker Hub repository?
(Y/n) >>

Finished creating the following files:

Checking internet connection...
[1/7] Logging into Docker...
[2/7] Building Docker image...
[3/7] Pushing Docker image to repository...
[4/7] Creating namespace...
[5/7] Creating secret for .emily.env...
[6/7] Creating secret for .env...
[7/7] Deploying to Kubernetes cluster...

Running Emily Deploy Kubernetes

To deploy your emily project to kubernetes run emily deploy kubernetes my-project, where my-project is a project ID, name or path. The repo name must be the full name, e.g. johnsmith/my-image or myregistry.azurecr.io/my-image.

$ deploy kubernetes my-project
$ deploy kubernetes my-project --docker-user my-username --docker-password my-password

    Options

  • -h,--help

    Display help for command

  • -de,--deploy-env<name>

    Name of the deployment environment to use for the deployment.

  • -w,--workers<workers>

    The number of worker processes to run in parallel. (default: 1)

  • -az,--azure

    Use an Azure Container Registry instead of Docker Hub. Unless --acr-name is passed, requires that the registry is connected via az acr login --name <registry>.

  • -acr,--acr-name<name>

    The name of the Azure Container Registry to push the image to (only needed if --azure is passed).

  • -du,--docker-user<username>

    Docker Hub username (not required if --azure is passed).

  • -dp,--docker-password<password>

    Password for Docker Hub (not required if --azure is passed).

  • -r,--repo<repo>

    Full name of repository, e.g. johnsmith/my-image or myregistry.azurecr.io/my-image.

  • -ho,--host<host>

    The host to listen on.

  • -p,--port<port>

    The port the API is hosted at.

  • -pr,--private(--no-private)

    Use a private Docker Hub repository for hosting the image.

  • -n,--namespace<namespace>

    The Kubernetes namespace to deploy your service on. (default: default)

  • -em,--email<email>

    Your Docker hub email address. Only necessary if using a private Docker hub repository.

  • -t,--tag<tag>

    Tag for the project image when pushing to Docker hub. (default: )

  • -rp,--replicas<replicas>

    The number of pods to deploy for your Kubernetes service. (default: 1)

  • -rm,--request-memory<request-memory>

    Amount of memory requested by the container.

  • -rc,--request-cpu<request-cpu>

    Amount of CPU power requested by the container.

  • -lm,--limit-memory<limit-memory>

    Limit on the memory used by the container.

  • -lr,--limit-cpu<limit-cpu>

    Limit on the CPU power used by the container.

  • -sn,--service-name<service-name>

    Name of your service when deployed to Kubernetes.

  • -s,--silent

    Execute Emily silently. (default: false)

  • -u,--update(--no-update)

    Prompt for update if newer version found. (default: true)

  • -vb,--verbose

    Print detailed information while running commands.