Hi everyone,
I want to bring a specific topic to the fore, as it’s something I’m actively grappling with.
I am a Python developer, and I frequently help partners get the most out of Grist. While my goal is always to leverage as much built-in functionality as possible, I often find myself writing small, custom functionalities within Python formulas to achieve the best UX/ergonomics for our workflows.
However, I highly miss having a robust environment to support this kind of development. Coming from a traditional Python background, I heavily rely on two types of workflows:
-
The IDE: Where I value autocompletion, real-time inspection, and step-by-step debugging.
-
Reactive Notebooks (like Marimo): Where I value easy inspection of cell scopes, states, and variables.
In my exploration of Grist, I couldn’t quite figure out the underlying architecture of the SaaS version (e.g., whether it’s running Python 3.11 via Pyodide, standard CPython, or something else). Because of this sandbox environment, I haven’t found a way to plug into the Python interpreter to output debugging messages, inspect available variables, or step through formula execution.
I would love to hear from the wider community and the Grist team on a few points:
-
Current Workarounds: What approaches do you use to debug and inspect complex Python formulas right now? Are there hidden tricks for surfacing logs or state?
-
Roadmap Updates: Is there anything on the roadmap to improve the DX (developer experience) for writing Python within Grist, such as advanced autocomplete or integrated debugging tools?
-
Formulas vs. Custom Widgets: Is the general philosophy to keep formulas lightweight and instead lean on Custom Widgets for more complex, logic-heavy functionalities? If so, what does that workflow look like in practice for you?
Looking forward to hearing your thoughts and experiences!