As Python integration in OpenRefine can be cumbersome, I thought about a way to reuse and maintain more complex scripts. Using the Jupyter Kernel Gateway library, it is possible to run Jupyter notebook cells as local APIs. You can have as many APIs as you like within a single notebook, and all of them can be run simultaneously with a single command. When you make changes to the code in a notebook, simply save it and then kill and restart the service to update the APIs.
In this example notebook, decimal coordinates are transformed to gms (degrees, minutes, seconds) and vice versa. The second transformation showcases the usage of an external web service within these APIs (OpenStreetMap Nominatim).