AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO

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

Aperta
#1,073 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Documentation Needs Discussion
Lingua principale
C++
Stelle
2.1k
Fork
503
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

@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`

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia da mkdoc.py e dalla configurazione delle dipendenze in analysis_workflow.yml e ci_workflow.yml; traccia come viene invocata l’estrazione delle docstring. La decisione ancora da risolvere è se il pacchetto Python clang sia supportato o se sia necessario modificare l’approccio di estrazione. Il lavoro è completato quando la dipendenza o la sostituzione sono concordate e il workflow CI le gestisce in modo riproducibile.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
github-actions, python
Ambito
build-system, ci-cd
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.