Projects and environments¶
A project is a logical separation of work in the system. A project contains features, models, model versions, and batch predictions. Each project has its own distinct data warehouse configuration. Users granted access to a project are assumed to have total trust over resources in the project.
An environment is an isolated copy of a project. You can view these as akin to branches in git or different targets in dbt. You can create environments to make changes in a project without affecting the main environment. This enables a development workflow where you can iterate on new ideas before moving changes back into the production environment.
When creating an environment, you may have it inherit all changes from a source environment. You may then add to the environment as needed and then merge additional changes back into the source environment. In general, you may wish to avoid making any direct edits to the production environment and only apply changes via merges.
For more information on using environments for git style workflows, Working with git and CI/CD.
Referencing projects and environments¶
Projects have a display name and a unique ID. When creating a project, you give it a display name and Continual generates a unique ID from the string that is compatible with the system. When using the CLI, you'll reference the project using project ID, not the display name.
Environments similarly have a display name and ID. Environments are unique within a project. When interacting with environments in the CLI or SDK, you'll provide the environment ID.
When interacting with resources in the system, you can filter via project & environment and can explicitly pass in values
for those. For example, you may use
--env in most commands in
the CLI. The system also recognizes the shorthand
specify a particular environment within a project. You can optionally use this
--project in place of providing project and environment
When a project is first created, Continual sets up a default environment and names it
production. You can access this default project by referring to the project with no
environment, i.e. just
project_id or by explicitly using the
project_id@prod. Continual internally interprets the lack of
any environment to refer to the production environment. Continual additionaly interprets environment names
master to refer to the production environment. This helps in CI/CD workflows so that users don't need to reconfigure their repository naming conventions.
Working with projects¶
Creating a project¶
It is recommended that you create your projects via the Continual Web UI.
All organization members can create new projects. To create a new project, navigate to your home page and click the blue Plus button to start a new project.
You will then be prompted to choose a name for the project, and you will additionally need to set up a feature store. See the Data Warehouses section for information on setting up a feature store.
For automation purposes, it is possible to create a project via the CLI. Please refer to those guides for instructions on creating a project programmatically.
From the CLI, users can view projects that they have access to via the following command:
continual projects list
In the Web UI, your projects list is immediately viewable after logging in, or from within a project by clicking the Continual Icon in the top left corner. For organizations with many projects, users can utilize the search bar to filter projects based on the project name.
Deleting a project¶
Users may delete a project in the Web UI by going into settings and click "Delete Project".
Deleting a project will permanently delete all project data: this includes any models that have been built by the project and all data warehouse tables associated with them. We do not recommend deleting projects once they have been used in production.
In the command line, users may delete projects via the command:
continual projects delete <project_id>
Updating a project¶
In the Web UI, users may update a project's settings by going to the
section of their project. Once there, users will be able to update the display
name of their project.
Users can likewise update projects settings over the cli via the command:
continual projects update <project_id> --new-name <name>
Working with environments¶
Creating an environment¶
Any project member may create a new environment in an existing project. From the CLI, users may create an environment with the following command:
continual environments create <environment_id>
This will create the desired environment in the current project. Users may
optionally override the default warehouse dabase and schema via
--schema, respectively. More
information on this can be found in the CLI
When using the Web UI, users can create a new environment either from the branch selector at the top of the page, or in the Environments > Overview page.
This will pop up a box where you will be able to configure your feature store connection for the environment.
From the CLI, users can view environments for a project with the following command:
continual environments list
In the Web UI, your environments list is viewable in the
of the Web UI
Deleting an environment¶
From the CLI, users can delete an environment with the following command:
continual environments delete <environment_id>
Deleting an environment will permanently delete all environment data: this includes any models that have been built by the environment and all data warehouse tables associated with them.
In the Web UI, you can delete an environment by clicking the red trash can icon in the environments list.
Note that the production branch cannot be deleted. To do so, you must delete the project.
Updating an environment¶
From the CLI, users can update an environment with the following command:
continual environments update <environment_id>
Users can update the display name or the data warehouse configuration.
In the Web UI, you can update an environment by clicking the red pencil icon in the environments list next to the environment you wish to update . This will pop up the environments editor where you can make any desired changes.