Python PackagingCompact course: Python Packaging


  • Date: 07.02.24
  • Time: 9:30 - 13:00
  • Location: Mathematikon Bauteil A, Im Neuenheimer Feld 205, in Seminar room 10 on the 5th floor.
  • Instructor: Dr. Liam Keegan, Research Software Engineer, Scientific Software Center


Experience or interest in publishing your Python code and a laptop is required.


In this course we will learn how to package a Python library, how to publish it on PyPI and on conda-forge, as well as look at more advanced topics like building pre-compiled wheels including c++ extensions using pybind11, and automatically publishing new releases using continuous integration and cibuildwheel.

Learning Objectives

After the course participants should be able to

  • Create a modern pyproject.toml Python package
  • Publish this package to PyPI
  • Set up continuous integration to automatically publish to PyPI
  • Understand the basics of conda-forge publishing
  • Create binary wheels including c++ pybind11 extensions


Please register here to sign up for the course.