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@latest
See earlier versions
$ emily environment [options]
Manage environments for your project.
$ emily environment
? 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 new environment
* Update an existing environment
- Remove an existing environment
·
Emily Environments
In Emily, projects are developed and deployed by means of three core concepts: environments, configuration, and deployments. In Emily, environments define the environment variables exposed to a project when it's running, whether it's running locally during development, or an a server in production.
When building a project, a default environment called dev
is created.
The contents of the environment can be seen at <project root>/environments/dev
.
Inside <project root>/environments/dev
there is a single file called .emily.env
. This file specifies basic environment variables
needed to run the project.
When running or deploying projects, Emily will gather all *.env
files, merge their contents and write them to <project root>/configurations/<configuration>/.env
.
As such, to add new environment variables to an environment, simply add a new file inside the environment directory. This is useful if your
environments contain some files that need to be ignored by VCS:
$ tree -a <project-root>/environments configuration-test/environments ├── dev │ ├── .db-secrets.env ## Ignored by Git │ └── .emily.env └── prod ├── .auth-secrets.env ## Ignored by Git ├── .db-secrets.env ## Ignored by Git └── .emily.env
When merging .env
files, the .emily.env
file is read first so any other .env
file specifiying the same environment variables will override it.