We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Talks - Henry Fredrick Schreiner III: Modern binary build systems
Learn how modern Python packaging leverages standardized build backends, scikit-build-core, and cross-platform tools to simplify binary package distribution and development.
-
Modern Python packaging now has standardized build backends via PEP 517, replacing the older setup.py approach
-
Key build tools include:
- scikit-build-core for CMake-based builds
- Maturin for Rust-based packages
- Meson-python for Meson build system integration
-
scikit-build-core features:
- Over 40 configuration options in pyproject.toml
- Plugin system for extending functionality
- Support for editable installs
- CMake-based builds with minimal configuration
- Dynamic metadata generation capabilities
-
Cross-platform binary wheel building is supported through:
- cibuildwheel for automated builds across platforms
- Conda package integration
- Support for Apple Silicon and multiple Python versions
-
Recent improvements in Python packaging:
- Stable ABI support for Python 3.12+
- Better handling of dependencies
- Standardized metadata handling
- Support for free-threaded Python
- Schema validation for pyproject.toml
-
Build system integration:
- Direct support for CMake projects
- Ability to build executables and extensions
- Integration with modern IDEs
- Support for shipping binary dependencies
-
Ecosystem improvements:
- Reduced boilerplate compared to distutils/setuptools
- Better integration with package managers
- Standardized configuration through pyproject.toml
- Growing adoption in scientific Python community