Hello all,
Since my last email, I've made more progress on the =Python() feature. It
now uses a custom pickle format optimized for numerics to make IPC faster,
supports multiple ranges like =PYTHON("np.mean(data)", A1:A10, C1:C10), and
integrates a rich text editor based on Monaco that handles Python (and TeX)
syntax highlighting, etc. Monaco needs some extra packages in the external
venv, the LO side remains pure Python.
I discovered that Excel added Python support a couple of years ago, but
their design looks messy with xl() references instead of just passing in
ranges, and which must break their existing recalc logic. They also
apparently force Python in the cloud instead of locally.
It feels like LibreOffice could have had a cleaner native =PYTHON() (with
numpy, etc.) years ago. The good news is that I've implemented many of the
essential features in a simple, robust, and fast enough way. I'd love to
get feedback on the code and architecture. Who are the Calc maintainers
these days?
Thank you,
-Keith
https://github.com/KeithCu/writeragent