Documentation-as-Code, now at SAS with SASpy and knitr


For some years now, I have had a focus on "documentation as code", rescuing documentation and deliverables kept in Office formats and using GitOps approaches to make the work of those writing them easier, while taking advantage of revision control and consistent results through parsers. I used this extensively in the process I implemented for addressing all the RFSs of a major outsourcing client while I was at IBM, and I don’t see the need for it going away.

It makes sense then that the first commit I’m making to SAS respositories since I joined is on the Python interface to SAS, and specifically on examples of using SASPy with R markdown and knitr.

SASpy output of non-tabular results is HTML, which makes sense considering that all the target environments where it is used are browser-based: Jupyter, Zeppelin and Databricks are the available options at the time of writing. Markdown documents, however, do not render HTML: the output of the code chunk should be in markdown, and this is what then makes possible for tools like Pandoc to convert to target formats. This highlights a good use-case for using SASpy with markdown: producing PDFs that can be highly customisable and include all the tables and images (something currently not possible by exporting a Jupyter notebook, for example).

Take a look at the example file

This document was generated on December 29, 2023 using texi2any.