Integrating Python and Java for High Throughput Science in Eclipse
Python (specifically CPython) is heavily used in science, in part thanks to its fast powerful libraries such as numpy and scipy. It is still one of the best ways to handle and analyze numerical data today. While Python is for science, Java is for Eclipse but in industry there is a need for an optimal way to exchange data between the two.
This talks looks at various ways Java and Python can be integrated to give interoperability between Java, Eclipse based tools and Python modules. We look at the full spectrum of integration options, from loosely coupling tools to tight two way integration which involves technology such as PyDev, Jython, AnalysisRPC and Py4J.
Each type of technology has a particular sweet spot depending on the trade-offs of your application. This talk also takes a look at the Eclipse Dawnsci project which utilizes a combination of these technologies to provide a powerful environment at the Diamond Light Source synchrotron which seamlessly integrates Python and Java. The talk will feature various demos the scientists use such as the ability to perform operations in Python but visualize the results in Eclipse and code-completion of Java classes in a python console.
This talk was first delivered at Eclipsecon France, and following on from that we will look at the work done since to evaluate the EASE project as the potential Eclipse home to integrate the various Python technologies.