Quantcast

hook into nfldb with PythonInterpreter?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

hook into nfldb with PythonInterpreter?

Thufir
I'm very new to Python and Jython, but installed nfldb from

pip install --user nfldb

which is on github:

https://github.com/BurntSushi/nfldb/wiki/More-examples


Coming at this from Java, how would I hook into nfldb with Java?  Or,
perhaps, run the code in Jython?

I'm sure there's a general solution or approach, would appreciate any
pointers.  Perhaps simply using JNI to leverage the work that's gone into
this library already.

It looks like probably org.python.util.PythonInterpreter is the best way
to invoke this library?  I've seen examples of how to invoke a specific
script, but this API is a bit larger.  How would I hook into an API?




thanks,

Thufir





------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Jython-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jython-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: hook into nfldb with PythonInterpreter?

Stefan Richthofer
Thufir,

there are basically two options, depending how close Java-intergation of the API you need.

-If you have only a specific use-case you can use PythonInterpreter to execute python-code
that performs the desired operation. PythonInterpreter-API also allows you to retrieve values
for further processing in Java.

-If you'd like to have Java-API-like access to a Python-API (e.g. that of nfldb), you need to
write a Java-interface that acts like a header to that Python-API, adding Java
type-information to it. So far you can only target Python-methods, i.e. no direct field-access.
In Jython 2.7.1b3 or newer, use Py.newJ or PyModule.newJ method family to instanciate Python-
objects under such Java-interface.
Page 45+ of https://arxiv.org/pdf/1607.00825v1.pdf contain examples using that technique (although
these are JyNI examples, the principle is applicable to plain Python-code as well).
Prior to 2.7.1b3 you would need to write glue-code in Python, that extends your Java-interface.
See http://www.jython.org/jythonbook/en/1.0/JythonAndJavaIntegration.html#using-jython-within-java-applications
for further example, especially the approach with glue-code.

Given you mention JNI, I wouldn't see how that could help here. nfldb seems to contain no C-part.

Feel free to ask again in more detail if you stuck on either approach.

Best

Stefan


> Gesendet: Sonntag, 15. Januar 2017 um 18:45 Uhr
> Von: "Thufir Hawat" <[hidden email]>
> An: [hidden email]
> Betreff: [Jython-users] hook into nfldb with PythonInterpreter?
>
> I'm very new to Python and Jython, but installed nfldb from
>
> pip install --user nfldb
>
> which is on github:
>
> https://github.com/BurntSushi/nfldb/wiki/More-examples
>
>
> Coming at this from Java, how would I hook into nfldb with Java?  Or,
> perhaps, run the code in Jython?
>
> I'm sure there's a general solution or approach, would appreciate any
> pointers.  Perhaps simply using JNI to leverage the work that's gone into
> this library already.
>
> It looks like probably org.python.util.PythonInterpreter is the best way
> to invoke this library?  I've seen examples of how to invoke a specific
> script, but this API is a bit larger.  How would I hook into an API?
>
>
>
>
> thanks,
>
> Thufir
>
>
>
>
>
> ------------------------------------------------------------------------------
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today. http://sdm.link/xeonphi
> _______________________________________________
> Jython-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/jython-users
>

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Jython-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jython-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: hook into nfldb with PythonInterpreter?

Thufir
Stefan,

thanks for the help.

What if I write a Python script which imports nfldb, and then pass
messages to that script through PythonInterpreter?  For the first
iteration of this gateway, I'd just send raw python...if that's even
possible.


Hopefully that was coherent,

Thufir




On Sun, 15 Jan 2017, Stefan Richthofer wrote:

> Thufir,
>
> there are basically two options, depending how close Java-intergation of the API you need.
>
> -If you have only a specific use-case you can use PythonInterpreter to execute python-code
> that performs the desired operation. PythonInterpreter-API also allows you to retrieve values
> for further processing in Java.
>
> -If you'd like to have Java-API-like access to a Python-API (e.g. that of nfldb), you need to
> write a Java-interface that acts like a header to that Python-API, adding Java
> type-information to it. So far you can only target Python-methods, i.e. no direct field-access.
> In Jython 2.7.1b3 or newer, use Py.newJ or PyModule.newJ method family to instanciate Python-
> objects under such Java-interface.
> Page 45+ of https://arxiv.org/pdf/1607.00825v1.pdf contain examples using that technique (although
> these are JyNI examples, the principle is applicable to plain Python-code as well).
> Prior to 2.7.1b3 you would need to write glue-code in Python, that extends your Java-interface.
> See http://www.jython.org/jythonbook/en/1.0/JythonAndJavaIntegration.html#using-jython-within-java-applications
> for further example, especially the approach with glue-code.
>
> Given you mention JNI, I wouldn't see how that could help here. nfldb seems to contain no C-part.
>
> Feel free to ask again in more detail if you stuck on either approach.
>
> Best
>
> Stefan
>
>
>> Gesendet: Sonntag, 15. Januar 2017 um 18:45 Uhr
>> Von: "Thufir Hawat" <[hidden email]>
>> An: [hidden email]
>> Betreff: [Jython-users] hook into nfldb with PythonInterpreter?
>>
>> I'm very new to Python and Jython, but installed nfldb from
>>
>> pip install --user nfldb
>>
>> which is on github:
>>
>> https://github.com/BurntSushi/nfldb/wiki/More-examples
>>
>>
>> Coming at this from Java, how would I hook into nfldb with Java?  Or,
>> perhaps, run the code in Jython?
>>
>> I'm sure there's a general solution or approach, would appreciate any
>> pointers.  Perhaps simply using JNI to leverage the work that's gone into
>> this library already.
>>
>> It looks like probably org.python.util.PythonInterpreter is the best way
>> to invoke this library?  I've seen examples of how to invoke a specific
>> script, but this API is a bit larger.  How would I hook into an API?
>>
>>
>>
>>
>> thanks,
>>
>> Thufir
>>
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Developer Access Program for Intel Xeon Phi Processors
>> Access to Intel Xeon Phi processor-based developer platforms.
>> With one year of Intel Parallel Studio XE.
>> Training and support from Colfax.
>> Order your platform today. http://sdm.link/xeonphi
>> _______________________________________________
>> Jython-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/jython-users
>>
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Jython-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jython-users
Loading...