The houdini_package_runner project aims to provide an extensible API and set of tools for analyzing and acting upon files in a Houdini package.
The current tools are all geared towards Python compatibility and styling.
Supported file types include:
- Python files and packages
- Python code/context sections inside Houdini XML type files
- Menus (MainMenu*.xml, ParmMenu.xml, etc)
- Python panels
- Shelf tools
- Digital Assets (binary or expanded asset folders)
- Python code sections (PythonModule, OnCreated, etc)
- Python code inside DialogScript definition
- Callbacks
- Default parameter expressions
- Menu scripts
- Included shelf tools
Currently, the runner tools only function outside of Houdini on disk files.
The following read-only tool runners are provided:
The following tool runner which can modify files are provided:
- black - Perform black formatting on Python code
- isort - Use isort to sort Python imports
- modernize - Use python-modernize for support Python 2 to 3 conversion.
NOTES:
- In order for the above runner tools to work you'll need to have them installed and available via commandline
- Operations on binary digital asset files (.otl, .hda) requires that Houdini's provided hotl command be available to run.