# Pyragen - A python wrapper generator to application core libraries

- Institution: CERN
- Department: Developers@CERN Forum
- Speaker: Fernando Leite Pereira
- Year: 2016
- Language: English
- Source: [CERN](https://videos.cern.ch/record/3016884)
- Licence: [CERN](http://copyright.web.cern.ch)
- Who can watch: Teens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

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..

0:00:00 Slide 1

0:01:55 Slide 2

0:02:18 Slide 3

0:02:32 Slide 4

0:02:44 Slide 5

0:03:09 Slide 6

0:03:14 Slide 7

0:04:08 Slide 8

0:04:53 Slide 9

0:04:59 Slide 10

0:05:03 Slide 11

0:05:08 Slide 12

0:06:01 Slide 13

0:06:35 Slide 14

0:07:02 Slide 15

0:07:57 Slide 16

0:08:30 Slide 17

0:08:40 Slide 18

0:09:09 Slide 19

0:09:39 Slide 20

0:10:29 Slide 21

0:10:44 Slide 22

0:10:49 Slide 23

0:11:04 Slide 24

0:11:52 Slide 25

0:12:03 Slide 26

0:12:21 Slide 27

0:12:34 Slide 28

## Lectures

1. [Pyragen - A python wrapper generator to application core libraries](https://invisiblenetwork.ai/learn/cern/3016884/c83de51afb22), 14 min (CERN's player)
