Version 1.1.0 #1588
henryiii
announced in
Announcements
Version 1.1.0
#1588
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Packages can now declare their own config-settings in a
tool.scikit-build.config-settingtable. This gives packages the opportunity to add a documented interface in place of raw CMake defines. The newscikit-build settings listcommand shows all the config-settings that a project accepts. New settings includecmake.fresh,if.notoverrides, andsdist.resolve-symlinks = "error".import-namesandimport-namespaces(PEP 794) are filled from Python if set as dynamic.project.versionis now kept exactly as written in the metadata (1.1+). Editable loaders expose their search paths, redirect mode gives a deterministic__path__order, and you can set up a persistent install tree even without rebuild-on-import. Other bugs and performance issues are addressed.Features:
tool.scikit-build.config-settingfor package-declared config-settings by @henryiii in feat: package-declared config-settings #1489cmake.freshto configure from scratch by @henryiii in feat: add cmake.fresh to configure from scratch #1516if.notoverrides by @henryiii in feat: addif.notoverrides #1539scikit-build settings listlists supported config-settings by @henryiii in feat(cli): list supported config-settings #1522scikit-build build requiresaccepts-C/--config-settingto pass config-settings to the backend hook, and--type {static,dynamic,both}to select the staticbuild-system.requires, the dynamic hook output, or both by @henryiii in feat(cli): add -C and --type to build requires #1584sdist.resolve-symlinks = "error"fails the SDist build if an included path is a symlink, and lists each link with its target. This includessdist.force-includesources and the files under them. Directory links are not followed. Requiresminimum-version1.1 or unset (sdist: aresolve-symlinksmode that fails the build when a symlink is included #1581) by @henryiii in feat(sdist): add resolve-symlinks = "error" mode #1583import-namesandimport-namespaces(PEP 794) listed inproject.dynamicare computed from the Python packages (PEP794 support with dynamic field #1536) by @henryiii in feat: compute dynamic import-names from packages #1578project.versionis kept as written in theVersionmetadata field and inSKBUILD_PROJECT_VERSION_FULL, so a calendar version such as2024.01.05keeps its leading zeros. Filenames stay normalized. Requiresminimum-version1.1 or unset by @henryiii in feat: keep project.version as written (leading zeros) #1572pathsattribute by @henryiii in feat(editable): expose search paths on redirect loaders #1567editable.rebuild = falseis honored witheditable.rebuild-dir, so a persistent install tree can be used without rebuild-on-import (Editable redirect: allow the persistent install tree without rebuild-on-import #1576) by @henryiii in feat(editable): honor explicit editable.rebuild = false with rebuild-dir #1577Fixes:
tool.scikit-build.env) by @henryiii in fix(builder): compute the wheel tag from the build environment #1575CMAKE_GENERATORdefine when computing build requirements by @henryiii in fix(builder): honor CMAKE_GENERATOR define in requires #1557Py_GIL_DISABLED="0"as not free-threaded by @henryiii in fix(builder): use one free-threaded check #1574Python_FIND_ABIfor free-threaded builds on CMake 3.30+ by @henryiii in fix: set Python_FIND_ABI for free-threaded builds on CMake 3.30+ #1532Python_LIBRARYhint in SABI mode on Windows by @henryiii in fix: don't pass Python_LIBRARY hint in SABI mode on Windows #1533CMAKE_ARGSdefines by @henryiii in fix(builder): warn once for unsupported CMAKE_ARGS defines #1573-D CMAKE_BUILD_TYPEfromCMAKE_ARGSby @r3wretrhy in fix: drop two-token CMAKE_BUILD_TYPE from CMAKE_ARGS #1543cmakeovercmake3when searching (Search forcmakebinary first beforecmake3#1514) by @henryiii in fix: prefer cmake over cmake3 when searching #1515if.cmake-wheelnever matched a platform by @henryiii in fix:if.cmake-wheelnever matched a platform #1538__path__order: the CMake install tree first, then the source tree, soimportlib.resourcesno longer depends onPYTHONHASHSEED(Editable redirect: make the package search-location order deterministic, and expose the install tree at runtime #1565) by @henryiii in fix(editable): deterministic install-first __path__ order in redirect mode #1566.gitignoredoes not apply inside a git submodule, matching git (sdist: ignore rules cross repository boundaries; a fix, and agitinclusion mode #1582) by @henryiii in fix(sdist): stop ignore rules at repository boundaries #1585.gitignorescan to the walked subtree by @zklaus in fix: scope the nested .gitignore scan to the walked subtree #1542GetRequiresby @henryiii in fix(setuptools): pass the hook state to GetRequires #1555--cmake-argswithshlexby @henryiii in fix(setuptools): parse --cmake-args with shlex #1560abi3ttemplate setsSOSABIas well asSOABIby @ngoldbaum in fix: use SOSABI instead of SOABI in abi3t template #1587variantlibbuild requirement to<0.1by @CavRiley in fix(variants): cap variantlib build requirement to <0.1 #1571fastjsonschemaon Python 3.9 by @henryiii in fix: limit fastjsonschmema on 3.9 #1524Performance:
.gitignorespecs by ancestor by @henryiii in perf: look up nested .gitignore specs by ancestor instead of scanning all #1550Documentation:
llms.txtand markdown copies of pages by @henryiii in docs: add llms.txt and markdown copies of pages #1523find_specbefore import by @henryiii in docs: recommend rebuilding editables via find_spec before import #1510CI and testing:
file_findersdeprecation by @henryiii in test: allow setuptools-scm file_finders deprecation #1568Internal:
unlink(missing_ok=True)for staleCMakeCache.txtremoval by @henryiii in chore: use unlink(missing_ok=True) for stale CMakeCache removal #1517Full Changelog: v1.0.3...v1.1.0
This discussion was created from the release Version 1.1.0.
All reactions