Skip to main content

Lightweight, reusable workflow engine for Django applications

Project description

django-workflow

django-workflow is a lightweight and reusable workflow engine for Django applications. It enables you to better organise the business logic for collaborating users.

Installation

pip install django-workflow

Getting started

Add the application to your Django settings INSTALLED_APPS list:

INSTALLED_APPS = [
    ...
    "django_workflow_engine",
]

Add the built-in django-workflow view urls to your project's urls.py:

urlpatterns = [
    ...
    path("flow/", include("django_workflow_engine.urls")),
]

Building your first workflow

Create a workflow.py in your project and add your uniquely named workflows.

from django_workflow_engine import Step, Workflow

Onboard_Contractor = Workflow(
    name="onboard_contractor",
    steps=[
        Step(...),
        Step(...),
        Step(...),
    ],
)

Onboard_Perm = Workflow(
    name="onboard_perm",
    steps=[
        ...
    ],
)

Add you workflows to your Django settings as follows:

DJANGO_WORKFLOWS = {
    "onboard_contractor": Onboard_Contractor,
    "onboard_perm": Onboard_Perm,
}

Finally, run the django_workflow migrations:

$ ./manage.py migrate

Dependencies

Settings

Running tests

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-workflow-engine-0.0.3.tar.gz (9.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page