An extensive and isomorphic framework for building consistent, flexible and scalable workflows, based on a state-machine approach.

GitHub: https://github.com/deve-sh/WDL

https://npmjs.com/package/wdl

Website: https://wdl.devesh.tech/ - Try the builder here

API Reference and Type Definitions: https://wdl.devesh.tech/docs


Understand the problem:

https://www.loom.com/embed/d1b754d47d944e02a9639f097df0a272?sid=15a2a880-3612-479b-8917-68521a53d46a

https://www.loom.com/embed/f14df4ca1b3c48788f7b66d9d1d53dd4?sid=be8d2277-1d1e-4749-b4d6-1217b7428ed9

What is WDL?

If you’re a computer science student, you’ll already know what a state machine is. If you skipped those lectures (I certainly did - Who sits for a Theory Of Computation lecture), worry not, it’s a very simple concept to understand.

Think of state machines as flowcharts with some Inputs, Steps and State.

For example, a state machine to get two numbers from the user and handle for errors could be represented as:

State Machine Example.png

State Machines are powerful because: