The Python logic needs to take effect immediately during tool development. We could reload the python tool module in the "InitCmd" field of ChameleonTools's json file.

The modified logic will be automatically reloaded each time the tool is opened.

Take MinimalExample tool for example:

Change the InitPyCmd in MinimalExample.json

   "InitPyCmd": "import Example, importlib; importlib.reload(Example); chameleon_example = Example.MinimalExample.MinimalExample(%JsonPath)",

And add the code below in the of the Package: Example


from . import MinimalExample
import importlib


Then when user click the menu, it will execute the " importlib.reload(Example)", then will be reloaded by the "Example" Package.

After tool development is complete, remove the "import" and "reload".

In addition, if you want to "hot reload" the logic without even reopening the tool, you can try this method

Share On