VIPS was originally written in Java, and the models to be deployed were also required to be written in a language that could run on the Java Virtual Machine (JVM). This is in principle [a lot of languages](https://en.wikipedia.org/wiki/List_of_JVM_languages), but only a few of those are practical to integrate with the [original VIPSCore server](https://gitlab.nibio.no/VIPS/VIPSCore). Back in the early 2010s, Python was considered to work well on JVM, but this is no longer the case, as Jython is only compatible with Python <= 2.7. Python has since then become widely used for numeric analysis and model development, and the number of model implementers with Python skills vastly outnumbers Java mastering model developers.
VIPS was originally written in Java, and the models to be deployed were also required to be written in a language that could run on the Java Virtual Machine (JVM). This is in principle [a lot of languages](https://en.wikipedia.org/wiki/List_of_JVM_languages), but only a few of those are practical to integrate with the [original VIPSCore server](https://gitlab.nibio.no/VIPS/VIPSCore). Back in the early 2010s, Python was considered to work well on JVM, but this is no longer the case, as Jython is only compatible with Python <= 2.7. Python has since then become widely used for numeric analysis and model development, and model implementers with Python skills vastly outnumber Java mastering model developers.
To resolve this, we have reimplemented the [VIPSCore web services in Python](https://gitlab.nibio.no/VIPS/VIPSCore-Python), allowing models implemented in Python to be run on/from that server. The web service endpoints of VIPSCore-Python are (or should be) identical to the original VIPSCore service.
To resolve this, we have reimplemented the [VIPSCore web services in Python](https://gitlab.nibio.no/VIPS/VIPSCore-Python), allowing models implemented in Python to be run on/from that server. The web service endpoints of VIPSCore-Python are (or should be) identical to the original VIPSCore service.