Unleash the power of C++ in Python

A guide through the bindings generation process

Cristián Maureira-Fredes

C-Languages CPython

See in schedule Download Slides

One of the main Python aspects is to have a clear syntax and be an
easy-to-understand language, which compared to others like C++
(depending of the kindness of the developer) can make a huge difference.
Not only the readability is in play, having a dynamically typed
and interpreted language improves the development workflow.

This improvement comes with a cost, performance.
In most of the cases, a raw comparison of simple routines will leave
Python behind, but there is a partial solution to this problem, connecting
a powerful performant C++ library with the simplicity of Python.

In this talk, we will go through the process of generating language bindings
to allow you to take any amazing C or C++ project and bring it to Python
land. We will briefly discuss one of the many success stories, and we will
analyze how the Qt project managed to expose its whole framework to Python,
with the help of a self-made binding generator called Shiboken.

After the talk, you will be able to decide which option is better for the
projects you have in mind, and with a bit of luck you will be responsible
of exposing the next popular C++ library that makes the life of us all Pythonistas easier.

Type: Talk (30 mins); Python level: Advanced; Domain level: Advanced


Cristián Maureira-Fredes

The Qt company

Cristián has been a Python developer since almost 10 years, and recently joined The Qt Company to work on the Qt for Python project. Even before starting his job, he has been pushing for the use of Qt and Python for applications in Robotics, Astronomy and Astrophysics.

Even though his daily routine is dealing more with CPython and C++ code, he still spreads "the Python word" due to the impressive amount of things that are one-import-away from us, and he has been successfully convincing people to use Python over old programming languages while studying CS, and during his PhD.

Python is his default language, and it has been his tool to perform daily basics tasks, and also to develop complex scripts related to automation, data processing, astrophysics, and development tools.