config directory stores the following information:The config.yaml file stores the global configuration settings: the unique ZenML client ID, the active database configuration, the analytics-related options, the active Stack, and the active Workspace. This is an example of the config.yaml file contents immediately after initialization:Copyactive_workspace_name: default
active_stack_id: ...
analytics_opt_in: true
store:
  database: ...
  url: ...
  username: ...
  ...
user_id: d980f13e-05d1-4765-92d2-1dc7eb7addb7
version: 0.13.2

The local_stores directory is where some "local" flavors of stack components, such as the local artifact store, or a local MLFlow experiment tracker, persist data locally. Every local stack component will have its own subdirectory here named after the stack component's unique UUID. One notable example is the local artifact store flavor that, when part of the active stack, stores all the artifacts generated by pipeline runs in the designated local directory.

The zenml.db in the default_zen_store directory is the default SQLite database where ZenML stores all information about the stacks, stack components, custom stack component flavors, etc.

In addition to the above, you may also find the following files and folders under the global config directory, depending on what you do with ZenML:

kubeflow - this is where the Kubeflow orchestrators that are part of a stack store some of their configuration and logs.

Usage analytics

In order to help us better understand how the community uses ZenML, the pip package reports anonymized usage statistics. You can always opt out by using the CLI command:

zenml config analytics opt-out

Why does ZenML collect analytics?

In addition to the community at large, ZenML is created and maintained by a startup based in Munich, Germany called ZenML GmbH. We're a team of techies that love MLOps and want to build tools that fellow developers would love to use in their daily work. This is us if you want to put faces to the names!