# 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