{
    "StatePy" : {
        "version": 1,
        "categories": "tutorials",
        "description": [
            "This is a tutorial node. It makes use of internal state information",
            "to continuously increment an output."
        ],
        "language": "python",
        "metadata":
        {
           "uiName": "Tutorial Python Node: Internal States"
        },
        "state": {
            "$comment": "The existence of this state section, even if it contains no attributes, means there is internal state that is entirely managed by the node"
        },
        "inputs": {
            "overrideValue": {
                "type": "int64",
                "description": "Value to use instead of the monotonically increasing internal one when 'override' is true",
                "default": 0
            },
            "override": {
                "type": "bool",
                "description": "When true get the output from the overrideValue, otherwise use the internal value",
                "default": false
            }
        },
        "outputs": {
            "monotonic": {
                "type": "int64",
                "description": "Monotonically increasing output, set by internal state information",
                "default": 0
            }
        },
        "tests": [
            { "inputs:overrideValue": 5, "inputs:override": true, "outputs:monotonic": 5 }
        ]
    }
}
