f-tree 0.4.0

the cli app to execute the commands from forester.
f-tree-0.4.0 is not a library.

About

Forester is a framework that provides a toolkit to perform effective task orchestration. The tasks can be performed synchronously or asynchronously, locally or remotely. Forester takes care of the correct performance and distribution of the tasks. The main concept of the framework is the flow based on behavior trees. It can be effectively used in game, AI, and robotics areas, or anywhere a workflow engine can be applied.

The console utility to work with Forester

The details can be found in the book

The commands can be:

Commands:
  print-std-actions  Print the list of std actions from 'import std::actions'
  sim                Runs simulation. Expects a simulation profile
  run                Runs the tree from the file system. Accepts an optional run profile in yaml
  vis                Runs visualization. Output is in svg format.
  help               Print this message or the help of the given subcommand(s)

Simulation (sim)

Options:
  -p, --profile <PATH>  a path to a sim profile
  -r, --root <ROOT>     a path to a root folder. The <PWD> folder by default
  -m, --main <MAIN>     a path to a main file. The 'main.tree' by default
  -t, --tree <TREE>     a root in a main file. If there is only one root it takes by default
  -h, --help            Print help

Run (run)

Runs the tree from the file system using the Forester runner. The optional run profile in yaml drives the blackboard (initial load and final dump), the tracer, the http server and the remote actions.

Options:
  -p, --profile <PATH>  a path to a run profile in yaml. The default profile if empty
  -r, --root <ROOT>     a path to a root folder. The <PWD> folder by default
  -m, --main <MAIN>     a path to a main file. The 'main.tree' by default
  -t, --tree <TREE>     a root in a main file. The 'main' by default
  -h, --help            Print help

An example of the run profile:

run_until:
  limit: 10          # or `run_until: no_limit` (the default)

bb:
  load: "bb_init.json"
  dump: "bb_final.json"

tracer:
  indent: 2
  time_format: "%H:%M:%S"
  to_file: "trace.log"

api:
  type: http
  host: "localhost"
  port: 8080

actions:
  - type: http
    name: fetch_data
    url: "http://localhost:10000/action"

Visualization

Options:
  -o, --output <OUTPUT>  a file for svg. If none, the name from the main file will be taken.
  -r, --root <ROOT>      a path to a root folder. The <PWD> folder by default
  -m, --main <MAIN>      a path to a main file. The 'main.tree' by default
  -t, --tree <TREE>      a root in a main file. If there is only one root it takes by default
  -h, --help             Print help

The full list of commands can be obtained by the command:

forester -h