Skip to main content

jpserve: Calling Python from JAVA

Project description

jpserve

Jpserve provides a simple and high performance way to execute Python script in JAVA. It includes PyServe and JClient API.

  • PyServe is an execute server running on Python side and listening the execute requests from JAVA.
  • The JClient API can executes Python snippet or complete script file from java, it send the script to PyServe and get the execution result. The result is JSON format, so you can exchange the complex data between JAVA and Python flexibly.

Quick Start

Python Side

Open Python console, import jpserve and start the PyServe:

>>> from jpserve.jpserve import PyServe
>>> server = PyServe(("localhost", 8888))
>>> server.start()
>>>
    INFO:pserve:starting...
    INFO:pserve:pyserve listening in localhost 8888
>>>

JAVA Side

>>>
// init the PyServeContext, it will make a connection to PyServe
PyServeContext.init("localhost", 8888);
//
// prepare the script, and assign the return value to _result_
String script = "a = 2\n"
              + "b = 3\n"
              + "_result_ = a * b";
//
// sned the script to PyServe, it returns the final result
PyResult rs = executor.exec(script);
//
// check if the execution is success
if (rs.isSuccess()) {
  System.out.println("Result: " + rs.getResult()); // get the _result_ value
}
else {
  System.out.println("Execute python script failed: " + rs.getMsg());
}
------------------------
Result: 6

Project details


Release history Release notifications

This version
History Node

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
jpserve-0.1.0.zip (6.8 kB) Copy SHA256 hash SHA256 Source None Oct 11, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page