Creating and Running Workflows

from SpiffWorkflow.bpmn import BpmnWorkflow, BpmnEvent
from SpiffWorfkflow import TaskState

Parsing

Basic Parsing

from SpiffWorkflow.bpmn.parser import BpmnParser, BpmnValidator

Customized Parsing

from SpiffWorkflow.bpmn.parser import TaskParser, EventDefinitionParser

Examples

Script Engine

To modify the default execution environment

from SpiffWorkflow.bpmn.script_engine import TaskDataEnvironment

To control how the engine interacts with the workflow

from SpiffWorkflow.bpmn.script_engine import PythonScriptEngine

To implement custom exec/eval

from SpiffWorkflow.bpmn.script_engine import BasePythonScriptEngineEnvironment

Examples

Specs

Using a Spec

from SpiffWorkflow.bpmn.specs import <TaskSpec>
from SpiffWorkflow.bpmn.specs.event_definition import <EventDefinition>

Extending a Spec

from SpiffWorkflow.bpmn.specs import BpmnTaskSpec           # Implements generic BPMN behavior
from SpiffWorkflow.bpmn.specs.mixins import <TaskSpecMixin> # Implements specific BPMN behavior

Implement a Datastore

from SpiffWorkflow.bpmn.spec import BpmnDataStoreSpecification

Examples

Serializer

Basic Usage

from SpiffWorkflow.bpmn.serializer import BpmnWorkflowSerializer

Custom Data

from SpiffWorkflow.bpmn.serializer import DefaultRegistry

Spec Customizations

from SpiffWorkflow.bpmn.serializer import DEFAULT_CONFIG
from SpiffWorkflow.bpmn.serializer.default import <TaskSpecConverter>
from SpiffWorkflow.bpmn.serializer.helpers import (
    TaskSpecConverter,
    EventDefinitionConverter,
    BpmnDataSpecificationConverter,
)

Examples

DMN

from SpiffWorkflow.dmn.parser import BpmnDmnParser
from SpiffWorkflow.dmn.specs import BusinessRuleTaskMixin
from SpiffWorkflow.dmn.serializer import BaseBusinessRuleTaskConverter

Spiff

from SpiffWorkflow.spiff.parser import SpiffBpmnParser, VALIDATOR
from SpiffWorkflow.spiff.specs import <TaskSpec>
from SpiffWorkflow.spiff.serializer import DEFAULT_CONFIG

Camunda

from SpiffWorkflow.camunda.parser import CamundaParser
from SpiffWorkflow.camunda.specs import <TaskSpec>
from SpiffWorkfllw.camunda.serializer import DEFAULT_CONFIG