SchemaManager
A schema represents a constructed flow diagram in the editor composed of foundational Block
s. It encapsulates all the Block
s on the editor, along with the connections between them. Schemas are central to defining and managing workflows in the system.
SchemaManager
Implementation Example
Initializing a SchemaManager
The SchemaManager
class is used to manage schemas. It provides methods for saving, loading, and listing schema names. To initialize it, you can use the default constructor. This creates a schemas.barfi
database file in the current working directory. You can also specify a custom file path and file name to store the schemas.
from barfi.flow import SchemaManager
# ... existing code ...
# 01: Initialize a SchemaManager with default file path './schemas.barfi'
my_schema_manager = SchemaManager()
Saving a Schema
When a schema is saved, it is added to the database file initialized with the SchemaManager
. Each schema requires a unique name to be saved successfully. This mechanism ensures that schemas can be preserved and reused as needed.
# 02: Save a schema with a unique name
my_schema_manager.save_schema(schema_name="my_schema", flow_schema=my_flow_schema)
Loading a Schema
Schemas can be loaded into the application using the load_schema method of the SchemaManager
class. This feature eliminates the need to recreate schemas from scratch, streamlining the workflow efficiency.
# 03: Load a schema by name
my_flow_schema = my_schema_manager.load_schema(schema_name="my_schema")