Virtual Workshop: Mixing Python and Compiled Code

Wed, May 6, 2020, 2:00 pm to 4:00 pm
PICSciE/Research Computing

This virtual workshop will introduce participants to compiled code bindings in Python. Unlike “High-Performance Python: CPUs”, this workshop will explore using an existing or multipurpose compiled library from Python code for either performance or to reuse legacy calculations.

Learning objectives: Attendees will learn how to call C from Python, and how to create Python bindings for a C++ library using PyBind11, and have some idea of other existing methods.

Knowledge prerequisites: Basic Python knowledge, basic to intermediate knowledge of a compiled language, preferably C++.

Hardware/software prerequisites: (1) Bring a laptop which can connect to the eduroam wireless network. You will also need to be able to Duo authenticate to use campus resources. (2) Have an SSH client installed on your laptop. (3) Register for an account on Adroit. This is the cluster we will use for demonstration purposes. Make sure you can SSH to Adroit before the workshop by following this guide. (4) Optional: Have the Anaconda Distribution installed on your laptop to run and build things locally.

Virtual Workshop format: Lecture and hands-on

There is limited enrollment for this workshop.  Please register online at




Online and Virtual Resources


COVID-19 and On-Campus Events

Princeton University is actively monitoring the situation around coronavirus (Covid-19) and the evolving guidance from government and health authorities, in keeping with our commitment to ensure the health and safety of all members of the University community. The latest communications from the Graduate School to graduate students are available here. The latest University guidance for all students, faculty, and staff is available on the University’s website.


To request accommodations for this or any event, please contact the organizer or James M. Van Wyck at [,] at least 3 working days prior to the event.