CERN Accelerating science

Talk
Title Pyragen - A python wrapper generator to application core libraries
Video
If you experience any problem watching the video, click the download button below
Download Embed
Mp4:Medium
(1000 kbps)
High
(4000 kbps)
More..
Copy-paste this code into your page:
Copy-paste this code into your page to include both slides and lecture:
Author(s) Leite Pereira, Fernando (speaker) (CERN)
Corporate author(s) CERN. Geneva
Imprint 2016-05-31. - Streaming video.
Series (Developers@CERN Forum)
(2nd Developers@CERN Forum)
Lecture note on 2016-05-31T16:45:00
Subject category Developers@CERN Forum
Abstract Software applications developed in C/C++ and other compiled languages may be split into several executables and shared libraries, so that different components or applications can reuse the same code base. However, reusing shared libraries from applications written in different languages can be quite challenging, especially if we must keep the original code unchanged. A specific case within the RP group was to access the core routines of a software directly from Python, enabling for interactive manipulation of the data and building programs on top of that, without re-implementing or even modifying the existing functions. For that purpose an IPC specification was investigated and a software tool developed in Python which creates Python bindings by directly by inspecting the .h header file. By specifying accessor functions, accordingly named, in the library side, the generated wrapper offers an object-oriented interface to the DLL, handling type conversion and storing objects as necessary. The current solution differs from existing binding generators as it doesn’t requires changes in the source routines (only the creation of accessor functions) and the generated wrapper is very clean Object-Oriented Python code, very easily customizable.
Copyright/License © 2016-2024 CERN
Submitted by jose.benito.gonzalez@cern.ch

 


 Record created 2016-06-03, last modified 2022-11-02


External links:
Download fulltextTalk details
Download fulltextEvent details