# Kalium
[](https://github.com/clszzyh/kalium/actions)
[](https://coveralls.io/github/clszzyh/kalium)
[](http://hex.pm/packages/kalium)
[](http://hex.pm/packages/kalium)
[](https://hexdocs.pm/kalium/readme.html)
<!-- MDOC -->
Light-weight Workflow Engine.
<!-- MDOC -->
## Example
```elixir
defmodule Demo do
use Kalium
edge EdgeA, {VertA, VertB}
edge EdgeB, {VertB, VertC}, name: :revert
vert VertA
vert VertB, name: :name
end
```
## Usage
```elixir
iex> %Kalium{} = demo = Demo.new()
iex> {{state, result}, new_obj} = demo |> Demo.next()
```
<!-- MDOC -->
## Installation
If [available in Hex](https://hex.pm/docs/publish), the package can be installed
by adding `kalium` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:kalium, "~> 0.1.0"}
]
end
```
Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
be found at [https://hexdocs.pm/kalium](https://hexdocs.pm/kalium).