Emily CLI Documentation
Release-v3.0.6Emily 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.
Downloademily@latestSee earlier versions
$ emily configuration [options]Manage configurations for your projects.
$ emily configuration? Emily: Choose a project(Use arrow keys, confirm with ENTER) … > M9VHKD - my-projectAB82JD - movie-recommender · M9VHKD - my-project? Emily: Please select an action(Use arrow keys, confirm with ENTER) … > + Add a configuration- Remove a environment · Emily Configurations
In Emily, projects are developed and deployed by means of three core concepts: environments, configuration, and deployments. In Emily, configurations define either the Docker Compose or Kubernetes configurations that a project runs within.
An Emily configuration is simply a directory <project root>/configurations/<configuration> containing either docker-compose.*.yml or Kubernetes YAML files.
When building a project, Emily will automatically create <project root>/configurations/dev/docker-compose.emily.yml with a basic Docker Compose configuration.
The user can freely modify this file or add additional docker-compose.yml files.
When running a project - both locally and remotely - Emily will apply all the docker-compose.*.yml files in the specified configuration directory.
When applying Docker Compose files, Emily will always apply docker-compose.emily.yml first, so any other docker-compose.*.yml file added to a configuration
directory will override the settings specified by docker-compose.emily.yml.
Environment variables
When running and deploying a project, the user specifies both an environment and a configuration.
Emily automatically merges the environment files into a single .env file inside the configuration directory.
As such, any environment variable specified in the environment will be available as a substitute variable in
the docker-compose.*.yml files, and can additionally be provisioned to each Docker Compose service with the env_file service property.
Docker Compose vs. Kubernetes
Docker Compose configurations (created with emily configuration add compose) can be used when running locally or deploying to a server.
Kubernetes configurations (created with emily configuration add kubernetes) can currently only be used when deploying to a Kubernetes cluster.