houdini-package-runner

Tooling to analyze or perform actions on Python code in Houdini packages


Keywords
python
License
MIT
Install
pip install houdini-package-runner==0.4.1

Documentation

PyPI version Tests codecov

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:

  • pylint - Perform pylint analysis on Python code
  • flake8 - Perform flake8 analysis on Python code

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.