Improved build system generator for CPython C, C++, Cython and Fortran extensions
This releases backports additions for Windows ARM cross-compiling via cibuildwheel from scikit-build-core 0.1.4.
Full Changelog: https://github.com/scikit-build/scikit-build/compare/0.16.3...0.16.4
This release fixes logging issues using setuptools 65.6+ affecting our tests. Pytest 7.2+ is now supported. setup.py <command>
and setup_requires
are deprecated, and tests are marked as such.
Full Changelog: https://github.com/scikit-build/scikit-build/compare/0.16.2...0.16.3
This addresses one more small regression with the FindPython change from 0.16.0 that was affecting conda. #793
This was a quick patch release that fixed a missing Python requires setting and some missing files #790, and addressed a warning from setuptools in the tests.
This release adds support for Python 3.11 and removes support for Python 2.7 and 3.5 (#688). Testing and static checking improved, including being fully statically typed internally (though setuptools is not fully typed, so it is of limited use).
All deprecated setuptools/distutils features are also deprecated in scikit-build, like the test
command, easy_install
, etc. Editable mode is still unsupported. Python 3.6 support is deprecated. Older versions of CMake (<3.15) are not recommended; a future version will remove support for older CMake's (along with providing a better mechanism for ensuring a proper CMake is available). If you need any of these features, please open or find an issue explaining what and why you need something.
This release is the final (again) release for Python < 3.6 and MSVC<2017. Support for FindPython from CMake 3.12+ was added, including FindPython2. Support for Cygwin added.
This is the final release for Python <3.6 and MSVC<2017.
--install-target
scikit-build command line option. And cmake_install_target
in setup.py
. Allows providing an install target different than the default install
. Thanks @phcerdan for the contribution. See #477.pyproject.toml
and setuptools_scm
to build. If you are packaging scikit-build itself, you might need to update your requirements. See #634.This release fixes two bugs affecting Windows. Users should use "ninja; platform_system!='Windows'"
, at least for now, since MSVC ships with Ninja, and that Ninja is better at finding the matching MSVC than the Python package is. Including it may slow down the search and force the IDE generator instead, but will at least no longer discover GCC instead.
This is likely one of the final releases to support Python 2.7 and 3.5; future releases will likely target at least Python 3.6+ and MSVC 2017+.
If you are using scikit-build via pyproject.toml
, please remember to include setuptools
and wheel
. A future version of scikit-build may remove the setuptools install-time hard requirement.
/cmake-modules/Cython
now uses Cython default arguments. This no longer adds --no-docstrings
in Release and MinSizeRel builds, so Cython docstrings are now retained by default. Additionally, --embed-positions
is no longer added to Debug and RelWithDebInfo builds. Users can enable these and other Cython arguments via the option CYTHON_FLAGS
. See #518 and #519, thanks to @bdice for the improvement.target_link_libraries
, via SKBUILD_LINK_LIBRARIES_KEYWORD
(somewhat experimental). Thanks to @maxbachmann in #611.ninja
package. This fixes repeated isolated builds. Further path inspection and updates for isolated builds may be considered in the future. #631, thanks to @RUrlus and @segevfiner for help in tracking this down.MACOSX_DEPLOYMENT_TARGET
when building (automatic with cibuildwheel), otherwise you will get the same value Python was compiled with. Note: This may seem like a regression for PyPy until the next release (7.3.8), since it was compiled with 10.7, which is too old to build with on modern macOS - manually set MACOSX_DEPLOYMENT_TARGET
(including setting it if unset in your setup.py
) for PyPy until 7.3.8. #607