AcademySoftwareFoundation / OpenColorIO

A color management framework for visual effects and animation.
https://opencolorio.org
BSD 3-Clause "New" or "Revised" License
1.76k stars 438 forks source link

[docs] Docstring Extraction has a Python-side Clang dependency - CI Workflow? #1073

Open scoopxyz opened 4 years ago

scoopxyz commented 4 years ago

@michdolan after pushing my branch for a PR (https://github.com/scoopxyz/OpenColorIO/tree/feature/python_docstrings) I realized that the Python script that extracts the docstrings from the headers and creates the string-literals that get referenced in the PyBind11 bindings requires Python Clang in order to traverse the source headers.

First off, that would make the Clang (https://pypi.org/project/clang/) Python package a dependency of the Python bindings. Are we ok with that? If not then we'd have to replicate the mkdoc.py behavior without the Clang package. Which I'd definitely ask for help with...

Looking at the CI GitHub workflow, I don't see a place where we control Python dependencies of our CI. I see that the bash scripts are run for the analysis_workflow.yml to install things like numpy for this setup, but there is no equivalent step in ci_workflow.yml

scoopxyz commented 4 years ago

This seems like a larger imposition than I originally foresaw...

This would mean that we would likely have to limit docstrings embedded into Python functions to Clang/Python3 builds. For now at least.

scoopxyz commented 4 years ago

This is the code I'm talking about: https://github.com/AcademySoftwareFoundation/OpenColorIO/pull/1074