Skip to main content
Version: 3.0.0

Application

This section contains documentation on the application.

An Application is a reusable workflow consisting of one or more components. Multiple Applications can be registered in a project. An Application when paired with some configuration (via a Compound Component), generates a list of component definitions.

These generated components are linked to the parent Compound component, which acts like a 'component group'. However, these sub-components are still top-level components in the Flow, and are run individually just like any other component.

Note - the components generated from an Application are build artifacts and hence cannot be edited directly - only the Compound component or the Application that generates these components can be edited.

Applications can be defined in a Project in 2 ways -

In the applications/ folder, with a yaml definition that contains a reference to Python code. Python modules in src/ where the Application class is decorated with the @application class decorator. Every application must be registered under a unique name in a project. An Application definition must have a Pydantic model that defines the shape of configuration that it accepts to generate components.