## SpiffWorkflow
Spiff Workflow is a workflow engine implemented in pure Python. It is based on
the excellent work of the Workflow Patterns initiative. In 2020 and 2021,
extensive support was added for BPMN / DMN processing.
## Motivation
We created SpiffWorkflow to support the development of low-code business
applications in Python. Using BPMN will allow non-developers to describe
complex workflow processes in a visual diagram, coupled with a powerful python
script engine that works seamlessly within the diagrams. SpiffWorkflow can parse
these diagrams and execute them. The ability for businesses to create
clear, coherent diagrams that drive an application has far reaching potential.
While multiple tools exist for doing this in Java, we believe that wide
adoption of the Python Language, and it's ease of use, create a winning
strategy for building Low-Code applications.
## Build status
[![Build Status](https://travis-ci.com/sartography/SpiffWorkflow.svg?branch=master)](https://travis-ci.org/sartography/SpiffWorkflow)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=sartography_SpiffWorkflow&metric=alert_status)](https://sonarcloud.io/dashboard?id=sartography_SpiffWorkflow)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=sartography_SpiffWorkflow&metric=coverage)](https://sonarcloud.io/dashboard?id=sartography_SpiffWorkflow)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=sartography_SpiffWorkflow&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=sartography_SpiffWorkflow)
[![Documentation Status](https://readthedocs.org/projects/spiffworkflow/badge/?version=latest)](http://spiffworkflow.readthedocs.io/en/latest/?badge=latest)
[![Issues](https://img.shields.io/github/issues/sartography/spiffworkflow)](https://github.com/sartography/SpiffWorkflow/issues)
[![Pull Requests](https://img.shields.io/github/issues-pr/sartography/spiffworkflow)](https://github.com/sartography/SpiffWorkflow/pulls)
## Code style
[![PEP8](https://img.shields.io/badge/code%20style-pep8-orange.svg)](https://www.python.org/dev/peps/pep-0008/)
## Dependencies
We've worked to minimize external dependencies. We rely on lxml for parsing
XML Documents, and there is some legacy support for Celery, but it is not
core to the implementation, it is just a way to interconnect these systems.
<b>Built with</b>
- [lxml](https://lxml.de/)
- [celery](https://docs.celeryproject.org/en/stable/)
## Features
* __BPMN__ - support for parsing BPMN diagrams, including the more complex
components, like pools and lanes, multi-instance tasks, sub-workflows, timer
events, signals, messages, boudary events and looping.
* __DMN__ - We have a baseline implementation of DMN that is well integrated
with our Python Execution Engine.
* __Forms__ - forms, including text fields, selection lists, and most every other
thing you can be extracted from the Camunda xml extension, and returned as
json data that can be used to generate forms on the command line, or in web
applications (we've used Formly to good success)
* __Python Workflows__ - We've retained support for building workflows directly
in code, or running workflows based on a internal json data structure.
_A complete list of the latest features is available with our [release notes](https://github.com/sartography/SpiffWorkflow/releases/tag/1.0) for
version 1.0._
## Code Examples and Documentation
Detailed documentation is available on [ReadTheDocs](https://spiffworkflow.readthedocs.io/en/latest/)
Also, checkout our [example application](https://github.com/sartography/SpiffExample), which we
reference extensively from the Documentation.
## Installation
```
pip install spiffworkflow
```
## Tests
```
cd tests
./run_suite.sh
```
## Releases
New versions of SpiffWorkflow are automatically published to PyPi whenever
a maintainer of our GitHub repository creates a new release on GitHub. This
is managed through GitHub's actions. The configuration of which can be
found in .github/workflows/....
## Contribute
Pull Requests are and always will be welcome!
Please check your formatting, assure that all tests are passing, and include
any additional tests that can demonstrate the new code you created is working
as expected. If applicable, please reference the issue number in your pull
request.
## Credits and Thanks
Samuel Abels (@knipknap) for creating SpiffWorkflow and maintaining it for over
a decade.
Matthew Hampton (@matthewhampton) for his initial contributions around BPMN
parsing and execution.
The University of Virginia for allowing us to take on the mammoth task of
building a general-purpose workflow system for BPMN, and allowing us to
contribute that back to the open source community. In particular, we would like
to thank [Ron Hutchins](https://www.linkedin.com/in/ron-hutchins-b19603123/),
for his trust and support. Without him our efforts would not be possible.
Bruce Silver, the author of BPMN Quick and Easy Using Method and Style, whose
work we referenced extensively as we made implementation decisions and
educated ourselves on the BPMN and DMN standards.
The BPMN.js library, without which we would not have the tools to effectively
build out our models, embed an editor in our application, and pull this mad
mess together.
Kelly McDonald (@w4kpm) who dove deeper into the core of SpiffWorkflow than
anyone else, and was instrumental in helping us get some of these major
enhancements working correctly.
Thanks also to the many contributions from our community. Large and small.
From Ziad (@ziadsawalha) in the early days to Elizabeth (@essweine) more
recently. It is good to be a part of this long lived and strong
community.
## Support
Commercial support for SpiffWorkflow is available from
[Sartography](https://sartography.com)
## License
GNU LESSER GENERAL PUBLIC LICENSE
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
资源分类:Python库 所属语言:Python 资源全名:SpiffWorkflow-1.1.4.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源推荐
资源详情
资源评论
收起资源包目录
Python库 | SpiffWorkflow-1.1.4.tar.gz (111个子文件)
AUTHORS 165B
setup.cfg 38B
COPYING 7KB
README.md 6KB
PKG-INFO 7KB
PKG-INFO 7KB
dict.py 41KB
xml.py 32KB
task.py 26KB
task_parsers.py 22KB
MultiInstanceTask.py 22KB
Packager.py 20KB
CompactWorkflowSerializer.py 19KB
base.py 18KB
navigation.py 18KB
workflow.py 18KB
prettyxml.py 14KB
TaskParser.py 13KB
FeelLikeScriptEngine.py 13KB
event_definitions.py 13KB
Join.py 12KB
Celery.py 11KB
operators.py 10KB
BpmnParser.py 10KB
PythonScriptEngine.py 9KB
event.py 9KB
BpmnSpecMixin.py 7KB
DMNParser.py 7KB
WorkflowSpec.py 7KB
BpmnSerializer.py 6KB
UnstructuredJoin.py 6KB
ProcessParser.py 6KB
SubWorkflow.py 6KB
workflow.py 6KB
model.py 6KB
BpmnProcessSpec.py 5KB
MultiChoice.py 5KB
ThreadSplit.py 5KB
ThreadMerge.py 5KB
InclusiveGateway.py 5KB
EndEvent.py 4KB
BoundaryEvent.py 4KB
IntermediateCatchEvent.py 4KB
SubWorkflowTask.py 4KB
MultiInstance.py 4KB
weakmethod.py 4KB
UserTask.py 4KB
Trigger.py 4KB
ExclusiveChoice.py 4KB
dotv.py 4KB
DMNEngine.py 3KB
Execute.py 3KB
LoopResetTask.py 3KB
Choose.py 3KB
exceptions.py 3KB
json.py 3KB
IntermediateThrowEvent.py 3KB
Transform.py 3KB
Gate.py 3KB
ScriptTask.py 3KB
Cancel.py 2KB
StartTask.py 2KB
AcquireMutex.py 2KB
UserTaskParser.py 2KB
Merge.py 2KB
ExclusiveGateway.py 2KB
ReleaseMutex.py 2KB
ParallelGateway.py 2KB
util.py 2KB
ValidationException.py 2KB
ThreadStart.py 2KB
BusinessRuleTaskParser.py 2KB
deep_merge.py 2KB
__init__.py 2KB
BpmnDmnParser.py 2KB
CancelTask.py 2KB
base.py 1KB
StartEvent.py 1KB
BusinessRuleTask.py 1KB
Simple.py 1KB
setup.py 1KB
ManualTask.py 1KB
NoneTask.py 1KB
metrics.py 1KB
UserTask.py 1KB
__init__.py 1021B
impl.py 1011B
__init__.py 824B
__init__.py 824B
__init__.py 824B
__init__.py 824B
__init__.py 708B
compat.py 593B
levenshtein.py 570B
CamundaParser.py 281B
exceptions.py 153B
version.py 87B
__init__.py 0B
__init__.py 0B
__init__.py 0B
共 111 条
- 1
- 2
资源评论
挣扎的蓝藻
- 粉丝: 14w+
- 资源: 15万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 打造最强的Java安全研究与安全开发面试题库,帮助师傅们找到满意的工作.zip
- (源码)基于Spark的实时用户行为分析系统.zip
- (源码)基于Spring Boot和Vue的个人博客后台管理系统.zip
- 将流行的 ruby faker gem 引入 Java.zip
- (源码)基于C#和ArcGIS Engine的房屋管理系统.zip
- (源码)基于C语言的Haribote操作系统项目.zip
- (源码)基于Spring Boot框架的秒杀系统.zip
- (源码)基于Qt框架的待办事项管理系统.zip
- 将 Java 8 的 lambda 表达式反向移植到 Java 7、6 和 5.zip
- (源码)基于JavaWeb的学生管理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功