{"id":34100113,"url":"https://github.com/csgoh/processpiper","last_synced_at":"2025-12-14T16:40:56.300Z","repository":{"id":153195765,"uuid":"587577534","full_name":"csgoh/processpiper","owner":"csgoh","description":"An open source python library to generate business process diagram using code or plain text.","archived":false,"fork":false,"pushed_at":"2024-11-02T22:57:15.000Z","size":13823,"stargazers_count":193,"open_issues_count":0,"forks_count":14,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-12-09T15:55:19.254Z","etag":null,"topics":["bpmn","business-process","diagram-generator","diagramming","flowchart"],"latest_commit_sha":null,"homepage":"https://github.com/csgoh/processpiper","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/csgoh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-11T04:25:43.000Z","updated_at":"2025-12-07T08:27:45.000Z","dependencies_parsed_at":"2023-12-31T00:33:48.529Z","dependency_job_id":"bba79850-afb5-4430-adb2-1e4770b6aac0","html_url":"https://github.com/csgoh/processpiper","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/csgoh/processpiper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csgoh%2Fprocesspiper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csgoh%2Fprocesspiper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csgoh%2Fprocesspiper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csgoh%2Fprocesspiper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/csgoh","download_url":"https://codeload.github.com/csgoh/processpiper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csgoh%2Fprocesspiper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27731469,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-14T02:00:11.348Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bpmn","business-process","diagram-generator","diagramming","flowchart"],"created_at":"2025-12-14T16:40:55.614Z","updated_at":"2025-12-14T16:40:56.284Z","avatar_url":"https://github.com/csgoh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg src=\"images/logo/processpiper-logo.png\"  width=\"300\"\u003e\n\u003c/p\u003e\n\n![release](https://img.shields.io/pypi/v/processpiper?style=plastic)\n![Wheel](https://img.shields.io/pypi/wheel/processpiper?style=plastic)\n![Downloads](https://img.shields.io/pypi/dm/processpiper?style=plastic)\n![Platforms](https://img.shields.io/badge/Platform%3A-win%20%7C%20ubuntu%20%7C%20osx-brightgreen?style=plastic)\n[![license](https://img.shields.io/badge/license-mit-brightgreen.svg?style=plastic)](https://en.wikipedia.org/wiki/MIT_License)\n[![CodeFactor](https://www.codefactor.io/repository/github/csgoh/processpiper/badge?style=plastic)](https://www.codefactor.io/repository/github/csgoh/processpiper)\n![code size](https://img.shields.io/github/languages/code-size/csgoh/processmapper?style=plastic)\n![python version](https://img.shields.io/pypi/pyversions/processpiper?style=plastic)\n![stars](https://img.shields.io/github/stars/csgoh/processpiper?style=plastic)\n![CI](https://github.com/csgoh/processpiper/actions/workflows/python-package.yml/badge.svg)\n[![Twitter Follow](https://img.shields.io/twitter/follow/CSGohNZ?style=social)](https://twitter.com/CSGohNZ)\n\n# ProcessPiper (Business Process Diagram as Code)\nProcessPiper is an open source python library to generate business process diagram using python code or [PiperFlow](https://github.com/csgoh/processpiper/wiki/Usage-Documentation#syntax) syntax. \n\n\u003ch3 align=\"center\"\u003e\n  \u003cb\u003e\u003ca href=\"https://github.com/csgoh/processpiper/wiki/installation\"\u003eInstallation\u003c/a\u003e\u003c/b\u003e\n  •\n  \u003cb\u003e\u003ca href=\"https://github.com/csgoh/processpiper/wiki/Usage-Documentation\"\u003eUsage Guide\u003c/a\u003e\u003c/b\u003e\n  •\n  \u003cb\u003e\u003ca href=\"https://github.com/csgoh/processpiper/wiki/Change-Logs\"\u003eChangelogs\u003c/a\u003e\u003c/b\u003e\n\u003c/h3\u003e\n\n\u003cbr\u003e\n\n## Method 1: Generate business process diagram using English like PiperFlow syntax\nThis is a sample code to generate a business process diagram using  [PiperFlow](https://github.com/csgoh/processpiper/wiki/Usage-Documentation#syntax) syntax. \n```python\nfrom processpiper.text2diagram import render\n\ninput_syntax = \"\"\"\ntitle: Sample Test Process\ncolourtheme: BLUEMOUNTAIN\n    lane: End User\n        (start) as start\n        [Enter Keyword] as enter_keyword\n        (end) as end\npool: System Search\n    lane: Database System\n        [Login] as login\n        [Search Records] as search_records\n        \u003cResult Found?\u003e as result_found\n        [Display Result] as display_result\n        [Logout] as logout\n    lane: Log System\n        [Log Error] as log_error\n\nstart-\u003elogin: User \\\\nAuthenticate\nlogin-\u003eenter_keyword: Authenticated\nenter_keyword-\u003esearch_records: Search Criteria\nsearch_records-\u003eresult_found: Result\nresult_found-\u003edisplay_result: Yes\ndisplay_result-\u003elogout-\u003eend\nresult_found-\u003elog_error: No\nlog_error-\u003edisplay_result\n\nfooter: Generated by ProcessPiper\n\"\"\"\n\nrender(input_syntax, \"my_process_map.png\")\n\n```\n\n### Method 2: Generate business process diagram using Python code\nThis is a sample code to generate a business process diagram using Python code. The code is self-explanatory. The diagram is generated using the default colour theme.\n\n```python\nfrom processpiper import ProcessMap, EventType, ActivityType, GatewayType\n\nwith ProcessMap(\n    \"Sample Test Process\", colour_theme=\"BLUEMOUNTAIN\") as my_process_map:\n    with my_process_map.add_lane(\"End User\") as lane1:\n        start = lane1.add_element(\"Start\", EventType.START)\n        enter_keyword = lane1.add_element(\"Enter Keyword\", ActivityType.TASK)\n\n    with my_process_map.add_pool(\"System Search\") as pool1:\n        with pool1.add_lane(\"Database System\") as lane2:\n            login = lane2.add_element(\"Login\", ActivityType.TASK)\n            search_records = lane2.add_element(\"Search Records\", ActivityType.TASK)\n            result_found = lane2.add_element(\"Result Found?\", GatewayType.EXCLUSIVE)\n            display_result = lane2.add_element(\"Display Result\", ActivityType.TASK)\n            logout = lane2.add_element(\"Logout\", ActivityType.TASK)\n            end = lane2.add_element(\"End\", EventType.END)\n\n        with pool1.add_lane(\"Log System\") as lane3:\n            log_error = lane3.add_element(\"Log Error\", ActivityType.TASK)\n\n    start.connect(login, \"User \\nAuthenticates\").connect(\n        enter_keyword, \"Authenticated\"\n    ).connect(search_records, \"Search Criteria\")\n    search_records.connect(result_found, \"Result\").connect(display_result, \"Yes\")\n    display_result.connect(logout).connect(end)\n    result_found.connect(log_error, \"No\").connect(display_result)\n\n    my_process_map.set_footer(\"Generated by ProcessPiper\")\n    my_process_map.draw()\n    my_process_map.save(\"my_process_map.png\")\n```\n\nThe generated diagram is as follows:\n![Process Map](https://github.com/csgoh/processpiper/blob/main/images/test/test_auto_case1.png)\n\n# Features\n* Generate business process diagrams with Python code\n* Alternatively business process diagram can be generated by using PiperFlow\n* Business process diagrams contains\n  * Diagram title\n  * Pool(s)\n  * Lane(s)\n  * Elements:\n    * Event: Start, End, Timer, Intermediate, Message, Signal, Conditional and Link\n    * Activity: Task, Subprocess\n    * Gateway: Inclusive, Exclusive, Parallel, Event\n* Support for different colour themes (See [gallery](https://github.com/csgoh/processpiper/wiki/Gallery)) :\n  * Default\n  * GREYWOOF\n  * BLUEMOUNTAIN\n  * ORANGEPEEL\n  * GREENTURTLE\n  * SUNFLOWER\n  * PURPLERAIN\n  * RUBYRED\n  * TEALWATERS\n  * SEAFOAMS\n* Diagrams can be saved to PNG or SVG image formats\n* :new::fire: Diagrams can be exported to .bpmn XML file format\n\n\n## Frontend Application\nTwo frontend applications have been developed to showcase ProcessPiper capability.\n* [Piperoni](https://github.com/csgoh/Piperoni) - A desktop application\n* [Piperita](https://piperita.streamlit.app/) - A Streamlit web application \n\n## Support and Community\n\nProcessPiper is still in the early days of development, if you have any problem, I will try my best to resolve it.\u003cbr\u003e\n\n* 📄 Find a solution in our [Wiki](https://github.com/csgoh/processpiper/wiki)\n* ⚠️ Open an issue right here on [GitHub](https://github.com/csgoh/processpiper/issues)\u003cbr\u003e\n\nAny ideas or suggestions, please send it to me via [GitHub Discussions](https://github.com/csgoh/processmapper/discussions).\n\n## How to Contribute\n\nIf you'd like to contribute, start by reading our [Contribution Guide](https://github.com/csgoh/processpiper/tree/main/contributions/CONTRIBUTING.md).\u003cbr\u003e\n\nLets build great software together.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsgoh%2Fprocesspiper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcsgoh%2Fprocesspiper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsgoh%2Fprocesspiper/lists"}