───────┼─────────┼────────────────┼──────────────┨┃   👉   │ default    │ ...       │ ➖     │ default │ default        │ default      ┃

┗━━━━━━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━┛

...

As you can see a stack can be active on your client. This simply means that any pipeline you run will be using the active stack as its environment.

Components of a stack

As you can see in the section above, a stack consists of multiple components. All stacks have at minimum an orchestrator and an artifact store.

Orchestrator

The orchestrator is responsible for executing the pipeline code. In the simplest case, this will be a simple Python thread on your machine. Let's explore this default orchestrator.

zenml orchestrator list lets you see all orchestrators that are registered in your zenml deployment.

┏━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━┯━━━━━━━━━┓

┃ ACTIVE │ NAME    │ COMPONENT ID │ FLAVOR │ SHARED │ OWNER   ┃

┠────────┼─────────┼──────────────┼────────┼────────┼─────────┨

┃   👉   │ default │ ...          │ local  │ ➖     │ default ┃

┗━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━━┛

Artifact store

The artifact store is responsible for persisting the step outputs. As we learned in the previous section, the step outputs are not passed along in memory, rather the outputs of each step are stored in the artifact store and then loaded from there when the next step needs them. By default this will also be on your own machine:

zenml artifact-store list lets you see all artifact stores that are registered in your zenml deployment.

┏━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━┯━━━━━━━━━┓

┃ ACTIVE │ NAME    │ COMPONENT ID │ FLAVOR │ SHARED │ OWNER   ┃

┠────────┼─────────┼──────────────┼────────┼────────┼─────────┨

┃   👉   │ default │ ...          │ local  │ ➖     │ default ┃

┗━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━━┛

Other stack components