There isn't a built in way to do that right now, but we are planning to add support for file system watching/triggers in the future. The same functionality could be generalized to other external resources.
One option that exists now is to use an experimental feature that's not available from the UI, but can be used from the Python Shell or a button callback script. You can cook a TOP graph with “continuous cooking” enabled – when the network finishes it will automatically recook itself after a time out period. This can still be interrupted by canceling with ESC or from the Tasks menu. You can use that in combination with a Python Processor node that has custom work item Regeneration logic. The onRegenerateStatic hook will run at the beginning of each cook, and you can use it to delete, add or dirty existing work items.
The actual cook options are described here:
https://www.sidefx.com/docs/houdini/tops/pdg/CookOptions.html [
www.sidefx.com]
To use that, you'd need to manually cook the TOP graph using something like the following:
import pdg
top_node = hou.node('/obj/topnet1/')
pdg_context = top_node.getPDGGraphContext()
top_node.executeGraph(True, False, True)
options = pdg.CookOptions()
options.autoRecook = True
options.autoRecookInterval = 100
options.cookType = pdg.cookType.Full
options.blocking = False
pdg_context._cook(options)
You can put in a button callback for example, to trigger the cook. Once a cook completes PDG will recook the output node automatically in a loop, until the graph is canceled. When used with a node like the File Pattern, for example, changes to the file system will cause the work items to be dirtied/updated on the next cook.