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.6See earlier versions
$ emily environment [options]Manage environments for your project.
$ emily environment? 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 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.