CLI module has a number of restrictions, such as:
- GUI is static, with a limited set of widgets, generated from the XML descriptor file
- the module does not have access to the full scene (only to the selected input nodes)
- only runs when the user clicks apply (or an input node is changed and auto-update is enabled)
- always performs all computations from scratch
However, these limitations allow faster, simpler development and asynchronous execution (application GUI is not blocked).
CLI modules can be also created from any existing command-line applications or Python scripts - by simply creating an XML file that describes command-line arguments.