ctypes

How to catch an exception thrown in ctypes?

I am working with some C code called from Python using ctypes. Somewhere in the bowels of the C library, an exception is occurring and/or abort() is being called. Is there any way I can catch this in my Python caller code? (Platform is Linux) ...

Python ctypes in_dll string assignment

I could use some help assigning to a global C variable in DLL using ctypes. The following is an example of what I'm trying: test.c contains the following #include <stdio.h> char name[60]; void test(void) { printf("Name is %s\n", name); } On windows (cygwin) I build a DLL (Test.dll) as follows: gcc -g -c -Wal...

problem in running cvGoodFeaturesToTrack in ctypes-opencv

I've been using ctypes-opencv for a while. If I run cvGoodFeaturesToTrack the way it is used in the demo, I get the following error: OpenCV ERROR: Null pointer (NULL array pointer is passed) in function cvGetMat, cxarray.cpp(2780) Terminating the application... called from cvUnregisterType, cxpersistence.cpp(4933) Terminating th...

Strange altered behaviour when linking from .so file with ctypes in python

I am writing a program to handle data from a high speed camera for my Ph.D. project. This camera comes with a SDK in the form a .so file on Linux, for communicating with the camera and getting images out. As said it is a high speed camera delivering lots of data, (several GB a minute). To handle this amount of data the SDK has a very han...

list exported functions from dll with ctypes

Is there anyway to know which functions exported from the dll througth python foreign function library -ctypes- and if possible to know details about the exported functions throught ctypes. if yes could someone provide snippet of code ...

Ctypes "symbol not found" for dynamic library in OSX

Hello. I have made a C++ library and have built a .dylib dynamic library from it. However when I load it with ctypes, it fails. Something doesn't seem to have linked properly. I have no idea why. The error (The relevant part): cscalelib.setup_framebuffer(flip,surface.frame_buffer,surface.texture,surface._scale[0],surface._scale[1])...

ctypes calling function with windows datatypes arguments

Could someone help me how should I call the following function using ctypes python library: DWORD myfunc(LPCSTR a,BYTE b, LPBYTE c, LPDWORD d, LPCBYTE *e,DWORD LEN) How should I declare and initialize the arguments of the mentioned functions? Could someone provide an example? ...

ctypes DLL with optional dependencies

Disclaimer: I'm new to windows programming so some of my assumptions may be wrong. Please correct me if so. I am developing a python wrapper for a C API using ctypes. The API ships with both 64 and 32 DLLs/LIBs. I can succesfully load the DLL using ctypes.WinDLL('TheLibName') and call functions etc etc. However some functions were not ...

OpenCV, Python (ctypes), and OS X 10.5: dylib errors/confusion

I have tried two brands of ctypes (ctypes-opencv and another) wrappers for OpenCV (2.0 from svn head), can use Python and OpenCV in the Python console, but whenever I try to import the packages (from ctypes_opencv import *) from another Python file, I get the following error message: OSError: dlopen(/usr/local/lib/libcv.dylib, 6): ...

OpenGL GL_LINE_STRIP gives error 1281 (Invalid value) after glEnd.

I have no idea what is wrong with the simple code. The function is for use with python and ctypes. extern "C" void add_lines(bool antialias,GLdouble coordinates[][2],int array_size,GLdouble w,GLdouble r,GLdouble g, GLdouble b,GLdouble a){ glDisable(GL_TEXTURE_2D); if (antialias){ glEnable(GL_LINE_SMOOTH); //Enable line s...

ctypes and PySide

I'm building an app with PySide, there's some image manipulation that needs to be done and using Python code for this is way too slow. Therefore I hacked out a .dll file that will do it for me. The function definition is as follows: extern "C" { QRectF get_image_slant(QImage *img, float slantangle, float offset) { Now I can load th...

efficiently convert string (or tuple) to ctypes array

I've got code that takes a PIL image and converts it to a ctypes array to pass out to a C function: w_px, h_px = img.size pixels = struct.unpack('%dI'%(w_px*h_px), img.convert('RGBA').tostring()) pixels_array = (ctypes.c_int * len(pixels))(*pixels) But I'm dealing with big images, and unpacking that many items into function arguments ...

Importing ctype; embedding python in C++ application

I'm trying to embed python within a C++ based programming language (CCL: The compuatational control language, not that any of you have heard of it). Thus, I don't really have a "main" function to make calls from. I have made a test .cc program with a main, and when I compile it and run it, I am able to import my own python modules and s...

Python ctypes: loading DLL from from a relative path

I have a Python module, wrapper.py, that wraps a C DLL. The DLL lies in the same folder as the module. Therefore, I use the following code to load it: myDll = ctypes.CDLL("MyCDLL.dll") This works if I execute wrapper.py from its own folder. If, however, I run it from elsewhere, it fails. That's because ctypes computes the path relativ...

ctypes for static libraries?

Hi all - I'm attempting to write a Python wrapper for poker-eval, a c static library. All the documentation I can find on ctypes indicates that it works on shared/dynamic libraries. Is there a ctypes for static libraries? I know about cython, but should I use that or recompile the poker-eval into a dynamic library so that I can use cty...

PythonMagickWand Shepards Distortion (ctypes LP_c_double problem)

I am trying to use PythonMagickWand to use a Shepards distortion on an image. You can also see the source of distort.c that is used by ImageMagick. PythonMagickWand does not by default support Shepards distortion. To fix this, I added in: ShepardsDistortion = DistortImageMethod(15) to line 544 of PythonMagickWand (See here for my modi...

Can Python ctypes load a 32bit C library on x86-64?

I have a 64 bit RHEL host with 32 bit libraries installed. One vendor has a 32 bit .so I'd like to load into Python using ctypes. from ctypes import CDLL CDLL('32bitdinosaur.so') OSError: 32bitdinosaur.so: wrong ELF class: ELFCLASS32 Of course 64 bit libraries are OK. Eg: CDLL('libc.so.6') Works fine. ...

numpy calling sse2 via ctypes

Hello, In brief, I am trying to call into a shared library from python, more specifically, from numpy. The shared library is implemented in C using sse2 instructions. Enabling optimisation, i.e. building the library with -O2 or –O1, I am facing strange segfaults when calling into the shared library via ctypes. Disabling optimisation (-O...

Python execution order using C module

Hi! I'm trying to learn python and have encountered some strange behaviour. I am experimenting with ctypes and a self-made (very simple) DLL. This is Python script I'm trying to run: from ctypes import * myLib = CDLL("libDlltest") myLib.hello() myLib.goodbye() print 'I am a line' myLib.goodbye() I've configured eclipse according t...

How to use float ** from C in Python?

Hi, after having no success with my question on How to use float ** in Python with Swig?, I started thinking that swig might not be the weapon of choice. I need bindings for some c functions. One of these functions takes a float**. What would you recomend? Ctypes? Interface file: extern int read_data(const char *file,int *n_,int *m_,f...