app-lifecycle

The app lifecycle

!!! abstract “”

The different app types, their base classes, and how `define_app` transforms a user defined class or function into a composable app.

Types of apps

Loaders

These are responsible for loading data and are composable. They inherit from LoaderApp.

from scinexus import LoaderApp

Writers

These are responsible for writing data and are composable. They inherit from WriterApp.

from scinexus import WriterApp

Generic

Generic apps do other operations on data and are composable. They inherit from ComposableApp

from scinexus import ComposableApp

Non-composable

Non-composable apps cannot be combined with other apps into pipelines.

from scinexus import NonComposableApp

!!! info

You can create your app by inheriting from one of the above base classes. Or you can use the `define_app` decorator. Using the decorator is the fastest way to turn something you already have into a composable app. Under the hood, the decorator is basically injecting the base classes described above into the inheritance of your own classes.