~/talk

Building a binary extension

Talkat PyCon US 2022 · 2022-04-27..05-03· [python]
links:none on file
slides:none on file

Shows how to produce real binary wheels end-to-end: C++ bindings with pybind11, builds via scikit-build + CMake, packaging with PyPA build and cibuildwheel in GitHub Actions, automated updates via Dependabot. Demo wraps CLI11, runs unit tests, and produces manylinux/macOS (including universal)/Windows wheels for Python 3.7+ and uploads to PyPI. Claims ci-buildwheel now has ~600 users and 2.5 adds stable ABI and sdist→wheel builds, and the example compiles and tests successfully.

AI-written summary · about

  1. 0:00Intro
  2. 1:41Is Python fast?
  3. 2:39Python has great performance
  4. 2:57dump Python
  5. 3:48Numba
  6. 4:17Make Python Faster
  7. 4:57Pre)compile
  8. 5:26What is a binary extension?
  9. 6:28Pure / Binary wheels
  10. 7:51But why compile?
  11. 8:32Disclamers
  12. 8:49But it's hard?
  13. 10:22Bindings / Coding
  14. 10:57A fork in the road
  15. 11:51Accessing shared libraries
  16. 12:33Not just a JIT
  17. 13:21Fast Python
  18. 14:01Fast not quite-Python
  19. 15:39Example of usage
  20. 16:19Many great features
  21. 16:41Nanobind
  22. 17:52Example project
  23. 20:25tests/test_works.py
  24. 20:36Build systems
  25. 22:40Pybind11 and setuptools
  26. 24:18Scikit-build plans
  27. 26:01setup.py
  28. 26:40Redistributables
  29. 31:02cibuildwheel tips
  30. 31:36pyproject. toml
  31. 32:30github/workflows/cd.yml (1)
  32. 34:13Produced files
  33. 34:51Think outside the box
  34. 36:27Quickstart: scikit-hep/cookie
  35. 37:51Key Takeaways
  36. 38:38My Projects
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.