-
Notifications
You must be signed in to change notification settings - Fork 37
Request for input for JPype #183
Description
I am the lead developer for JPype. As one of the fellow bridge projects I wanted to drop by to see if there are unserved needs to be addressed in the Python/Java community. Thus far there hasn't been a lot of conflicts between these two projects but I will be adding new capabilities that put them more on a collision course. SO just like the PyJNIus project, I thought it would be a good idea to get the discussion started.
JPype is currently only a forward bridge presenting Java to Python, but I will be adding a reverse bridge to allow Java to execute Python code in the near future. JPype has been very much focused on providing a high quality native Python like interface to Java classes. Over the past 2 years I have been working primarily in the backend to make the core rock solid stable, deal with leaks, and boost performance for scientific coding. I am trying to design the reverse bridge to be much the same in which Python classes have as much of a native feel in Java as possible and can be customized to allow packages like numpy, scipy and matplot lib to be used in a very native like fashion. This means the JPype solution will be doing code analysis of Python classes to probe their capabilities and then use a code generator to mixin Java interfaces to create a Java class that best represents the abilities of the class (Number like, List like, Dictionary like). This will allow Python classes to be operated on by Java using the collections libraries and such. This makes use a lot of Java ASM for code generation. I believe this is likely a different approach than JPY.
As I am working to develop the reverse bridge, I am looking at JPY to understand how other reverse bridges are presenting Java concepts. Unfortunately the documentation on this project seems pretty underwhelming so it seems like I need to recruit some JPY users to help give me a prospective on how they feel Python should be presented in Java. The other collaboration source being Jython, but as they are actually implementing rather than just providing a view it is difficult to see it as giving a native feel.
I see there has been some progress on this project in terms of commits over the past few years but I also see outstanding pull requests running back 2 years in times. How active is this project? Are there users who are in need of an alternative? Is there anyone willing to participate in the evaluation and review process for a potential alpha quality reverse bridge over the next 6 months? How do you see an ideal presentation of Python objects in Java?