Henry Schreiner
Henry Schreiner is a Computational Physicist / Research Software Engineer in High Energy Physics at Princeton University. He specializes in the interface between high-performance compiled codes and interactive computation in Python, in software distribution, and in interface design. He has previously worked on computational cosmic-ray tomography for archaeology and high performance GPU model fitting. He is currently a member of the IRIS-HEP project, developing tools for the next era of the Large Hadron Collider (LHC).
He is a maintainer/core developer for pypa/build, scikit-build, cibuildwheel, pybind11, meson-python, nox, and plumbum for Python. He is an admin of Scikit-HEP, and a lead designer on boost-histogram, hist, UHI, vector, uproot-browser, Particle, and DecayLanguage packages there. He is also the lead author of the Scientific-Python Development guide and Scientific-Python/cookie. He is the primary author of CLI11, a C++ library used by Microsoft terminal and many others. He is also the lead web developer for IRIS-HEP. He is also the author of Modern CMake and a variety of CMake, GPU, and Python training courses and classes.
Sessions
One of the most important aspects of developing scientific software is distribution for others. The Scientific Python Development Guide was developed to provide up-to-date best practices for packaging, linting, and testing, along with a versatile template supporting multiple backends, and a WebAssembly-powered repo-review tool to check a repository directly in the guide. This talk, with the guide for reference, will cover key best practices for project setup, backend selection, packaging metadata, GitHub Actions for testing and deployment, tools for validating code quality. We will even cover tools for packaging compiled components that are simple enough for anyone to use.