Re: SysV IPC message queues

2005-02-03 Thread Christian Dieterich
On Déardaoin, Feabh 3, 2005, at 02:29 America/Chicago, Aki Niimura 
wrote:

Hello everyone.
I'm trying to control a program from a Python program using IPC.
Although using a socket is a common choice for such applications, I
would like
to use SysV message queues because I don't need to parse the stream.
I thought Python had a support of SysV message queues (I have found
almost
anything I need in Python library modules so far).
But Python library seems not supporting SysV message queues yet.
I'm thinking of calling a C function from Python but it seems not so
easy.
Although this might not be the most elegant way to do what you want, 
it's relatively easy to make a C function work with Python. Have a look 
at http://www.swig.org/

Swig writes a C/Python wrapper for your C code which can be compiled 
into a shared object library. Then you can import that in Python. Swig 
is also (rudimentary) supported by distutils, so you don't even need to 
deal with the generation of the library.

Christian
Example:
> cat src/SomeModule.i
%module SomeModuleLib
%{
#include "SomeModule.h"
%}
%include src/SomeModule.c
> swig -python src/SomeModule.i
> gcc -I/sw/include/python2.3 -c src/SomeModule.c -o SomeModule.o
> gcc -I/sw/include/python2.3 -c src/SomeModule_wrap.c -o 
SomeModule_wrap.o
> gcc -L/sw/lib -bundle -flat_namespace -undefined suppress 
SomeModule.o SomeModule_wrap.o -o _SomeModuleLib.so

or automatic build from setup.py
from distutils.core import setup, Extension
import os, glob
srcfiles = glob.glob(os.path.join('src', '*.[ci]'))
setup(name="SomePackage",
  package_dir={"SomePackage": "lib"},
  packages=["SomePackage"],
  ext_modules=[Extension("SomePackage._SomeModuleLib", 
srcfiles,),],)

>>> import SomeModuleLib
--
http://mail.python.org/mailman/listinfo/python-list


SysV IPC message queues

2005-02-03 Thread Aki Niimura
Hello everyone.

I'm trying to control a program from a Python program using IPC.
Although using a socket is a common choice for such applications, I
would like
to use SysV message queues because I don't need to parse the stream.

I thought Python had a support of SysV message queues (I have found
almost
anything I need in Python library modules so far).
But Python library seems not supporting SysV message queues yet.

I'm thinking of calling a C function from Python but it seems not so
easy.

Is there any easy work around for this?
Any suggestions, any comments are highly appreciated.
Thanks in adavance.

Aki Niimura

-- 
http://mail.python.org/mailman/listinfo/python-list