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@v3.0.6
See earlier versions
$ emily configuration [options]
Manage configurations for your projects.
$ emily configuration
? Emily: Choose a project
(Use arrow keys, confirm with ENTER)
…
> M9VHKD - my-project
AB82JD - 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.