# scikit-build Developer Meeting Notes 2023-11-03 #9 ## Agenda - [Henry Slides](https://docs.google.com/presentation/d/1TXpu7GagBkC5AJUcJHbzV32XghRQgOET_YwWaxdbwgE/edit#slide=id.p) ## Attending - Matt McCormick - Henry Scheiner - Jean-Christophe Fillion-Robin ## Discussion - https://gregoryszorc.com/blog/2023/10/30/my-user-experience-porting-off-setup.py/ - cython sample in progress - based on https://scikit-build-core.readthedocs.io/en/latest/getting_started.html - Docs intro - explicitly state that scikit-build is not just for scientific packages. - --no-isolation -> do not delete temporary directory - set `tool.scikit-build.build-dir` to a local directory ### Slides review notes - Overrides discussion - How to specify conditions? - OR vs AND, AND is default, be able to specify all the conditions that are either all OR or all AND - if.any, if.all - if.env = "(BUILD_ME OR CIBUILDWHEEL)" - if.env="and(BUILD_ME , CIBUILDWHEEL)" - While we want to make sure remain declarative and constrained and well specified - GitHub, but YAML vs TOML: https://docs.github.com/en/actions/learn-github-actions/expressions#functions - if.any.env = {CIBUILDWHEEL = "1", CONDA_BUILD = "1", PIWHEELS_BUILD = "1"} - Conditions with config options - tool.scikit-build.opt - -Copt.build = true or SKBUILD_OPT_BUILD="true" (env or CMake(?) variable) - allow SKBUILD_<project_name>_<options> ? - shortcut with -Cbuild=true ? - Possible conflicts with skbuild configuration - Ask user to use -Copt.build=true ? - Problem: if we add an option, this may suddenly change - Take users over ours - Problem: Ours are not namespaced - Solution: Allow access to ours via namespace? skbuild.build=true, reserve skbuild - opt: dict[str, bool | str, | int | list[bool | str | int]] - Design to allows specification of 1. value 2. type 3. help description - But shortcut just to values - cli in progress Related tools: * Other pep 517 backend integrating with CMake. See https://pypi.org/project/cmeel/, https://github.com/cmake-wheel/cmeel * https://github.com/cmaker-dev/cmaker