---
# System prepended metadata

title: 'Scikit-build Community Meeting #1: 2022-11-18'

---

# Scikit-build Community Meeting #1: 2022-11-18

###### tags: scikit-build

## [Kick-off Presentation](https://docs.google.com/presentation/d/1k__K3zQ8AWr2-W0HtXCp1EW3VWrotIhVX6h9WwZt5zw/edit) - HS

## Attending

- Jean-Christophe Fillion-Robin (Kitware)
- Henry Schreiner (Princeton)
- Matt McCormick (Kitware)
- Ralf Gommers (Quansight Labs)
- Jim Pivarski (Princeton)
- Driss Guessous (Meta, Pytorch)
- Alban Desmaison (Meta, Pytorch)
- Mikey Dagitses
- Nikita Shulga (Pytorch)
- Jean-Christophe Morin ([ASWF](https://github.com/AcademySoftwareFoundation))
    - Most project are C++ libraries with Python bindings. Currently using `setuptools` and CMake
- Vyas Ramasubramani (NVIDIA, RAPIDS)
- Saransh Chopra (undergrad at DU)
    - will probably be migrating [PyBaMM](https://github.com/pybamm-team/PyBaMM) to use the new scikit-build
- Vincenzo Eduardo Padulano (CERN, ROOT)
- Vineet Bansai (Princeton)
- Angus Hollands (Awkward)

## Discussion

* pip - HS
    * missing short way for specifying config setting. Currently only support `--config-settings <settings>`. See documentation [here](https://pip.pypa.io/en/stable/cli/pip_wheel/#cmdoption-config-settings)
        * Ideally it should match what is available through [build](https://pypa-build.readthedocs.io/en/stable/#python--m-build-options) tool: `--config-setting CONFIG_SETTING, -C CONFIG_SETTING`
    * missing ability to pass list as setting

* We kind of need a way of mapping dependencies to outside of PyPI too. CMake/ninja/patchelf happen to be on PyPI, but BLAS, OpenMP & co are not. That's one thing we plan to work on at Quansight Labs soon (is going to need a prototype & PEP at some point). - RG
    * CI build wheel discussion
    * Pre-pep discussions have been too specific
    * sdist -> people try to build from source
        * sdist dependencies for non-PyPI dependencies like complier, etc.
        * Declare that things other than packages are provided
        * sdist specify that it should not be built unless specifically requested
            * pip install --no-sdist, but this is not the default
            * package metadata to make this the default behavior (although changing metadata is required)

* need to address the package config question. Currently do not own the corresponding pypi package. (Henry: I probably missing some of the details her)

* to help with conversion from `setup.py` to `pyproject.toml` hatch provide a tool. This was used to help with https://github.com/scikit-hep/iminuit/pull/812. (HS: Do you have reference to the documentation ?)

* "how large scikit-build-core appears" - RG
    * smaller than it looks - HS
    * most features are for wheel creation
    * most other features come from CMake
    * does not support non-PEP 621

* Artifact that generates what should be package data - VB
    * Difficult with setuptools
    * Install into `${SKBUILD_DATA_DIR}` and it goes into the wheel data dir
    * Also scripts dir

* How to start a transition from setuptools / scikit-build classic?
    * Avoid heavy, custom things in setup.py
        * Open issues for functionality not possible in scikit-build-core, discuss need for creating a hook?
    * Example for getting started: scikit-build tests/projects, sckit-build-example, CMake for Python Awkward v2, IMinuit, GooFit
    * Examples in scikit-build
        * Will be transitioned to be based on scikit-build-core for scikit-build v1.0

* List of packages transitioning to scikit-build-core
    * GitHub Dicussion, forum topic

* Forum, etc
    * Will redirect mailing list to forum - JCFR
    *
    
* "core" -> "build", "pyproject" ?

* Awkward initial success

* Next meeting Dec 16:

Scikit-build Community Meeting
Friday, December 16 · 12:00 – 1:00pm Eastern Time
Video call link: https://meet.google.com/dvx-jkai-xhq
Or dial: ‪(US) +1 561-614-0679‬ PIN: ‪891 659 411‬#
More phone numbers: https://tel.meet/dvx-jkai-xhq?pin=9457587794472