Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Exposing Python APIs in Perl.

by kscript (Novice)
on Oct 08, 2007 at 20:14 UTC ( [id://643552]=perlquestion: print w/replies, xml ) Need Help??

kscript has asked for the wisdom of the Perl Monks concerning the following question:

Hello, there are some Python APIs that I would like to make available in Perl, but I cannot find anything by searching the web. Do you know of any ways to do that?

Replies are listed 'Best First'.
Re: Exposing Python APIs in Perl.
by mwah (Hermit) on Oct 08, 2007 at 20:51 UTC
    kscriptPython APIs that I would like to make available in Perl, but I cannot find anything

    This is sth. I did occassionally. The key is Inline-Python
    together with a python version that has its headers and libs in place.

    After installing the python-dev stuff (headers, libs) and installing
    the Inline-Python per cpan-script or by hand,
    you can do the following:
    use strict; use warnings; say('Perl'); # - - - - - - - - - - - - - - - - - - # use Inline Python => <<'MONTY' def say(stuff): print 'python says: ' + stuff MONTY # - - - - - - - - - - - - - - - - - - #
    which prints here (Linux + Perl 5.8.8 + Py 2.5 + Inline::Python 0.22):
       python says: Perl
    
    (with a trailing newline ;-)

    Regards

    mwa
Re: Exposing Python APIs in Perl.
by Fletch (Bishop) on Oct 08, 2007 at 20:50 UTC

    Don't know how well it works with recent versions, but there's Inline::Python (last updated in 2005, hence the uncertainty). That'd at least be a starting point.

    You might also consider exposing them via some sort of RPC mechanism (SOAP, XML-RPC, or what have you).

    A reply falls below the community's threshold of quality. You may see it by logging in.
Re: Exposing Python APIs in Perl.
by princepawn (Parson) on Oct 09, 2007 at 17:07 UTC
    Inline python does not work on Cygwin which is bad for me cuz I really need it here at work.


    Carter's compass: I know I'm on the right track when by deleting something, I'm adding functionality
      princepawnInline python does not work on Cygwin ...

      This problem has been solved so far, but if you download,
      extract, modify the file perlmodule.c, go through the build cycle
      it won't dynalink, it bails with:
       Python.o:Python.c:(.text+0x64): undefined reference to `__imp__newPerlPkg_object'
       py2pl.o:py2pl.c:(.text+0x3b): undefined reference to `__imp__PerlObj_type'
       py2pl.o:py2pl.c:(.text+0x47): undefined reference to `__imp__PerlSub_type'
       py2pl.o:py2pl.c:(.text+0x718): undefined reference to `__imp__newPerlObj_object'
       py2pl.o:py2pl.c:(.text+0xb8c): undefined reference to `__imp__newPerlSub_object'
       perlmodule.o:perlmodule.c:(.text+0x576): undefined reference to `__imp__get_perl_pkg_subs'
       perlmodule.o:perlmodule.c:(.text+0x642): undefined reference to `__imp__perl_pkg_exists'
       perlmodule.o:perlmodule.c:(.text+0x789): undefined reference to `__imp__get_perl_pkg_subs'
      
      (I couldn't figure the reason for this, its: cygwin setup 2.510.2.2, perl 5.8.8, python 2.5.1)

      It seems like cygwin isn't a good environment for this kind of stuff ....

      Regards

      mwa

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://643552]
Approved by Errto
Front-paged by Old_Gray_Bear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2024-03-29 06:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found