As an alternative to compiled languages like C and Fortran, you can use the Python language to code user-programmable subroutines. A subset of the documented UPF subroutines support the Python UPF capability (see Supported UPF Subroutines).
You must install a Python distribution before using this feature. Python 3.6 through Python 3.7 are supported.
Python UPFs are only supported on Linux.
It is strongly recommended you start your code based on one of the examples in Python UPF Examples. In your Python code, you can make use of standard Python libraries like NumPy.