Scikit-build

Latest version: v0.18.0

Safety actively analyzes 641872 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 13

0.11.0

===================

New Features
------------

* Add a hook to process the cmake install manifest building the wheel. The hook
function can be specified as an argument to the ``setup()`` function. This can be used e.g.
to prevent installing cmake configuration files, headers, or static libraries with the wheel.
Thanks :user:`SylvainCorlay` for the contribution. See :issue:`473`.

* Add support for passing :ref:`CMake configure options <usage_cmake_configure_options>` like ``-DFOO:STRING:bar``
as global ``setuptools`` or ``pip`` options.

* Add support for building project using PyPy or PyPy3. See https://pypy.org
See :issue:`407`.

* Add support for OS/400 (now known as IBM i).
Thanks :user:`jwoehr` for the contribution. See :issue:`444`.

* Display CMake command used to configure the project.
Thanks :user:`native-api` for the contribution. See :issue:`443`.

* CMake modules:

* Improve CMake module :doc:`/cmake-modules/F2PY` adding ``add_f2py_target()`` CMake function
allowing to generate ``*-f2pywrappers.f`` and `*module.c` files from ``*.pyf`` files.
Thanks :user:`xoviat` for the contribution.

* Update CMake module :doc:`/cmake-modules/PythonExtensions` adding ``add_python_library()``
and ``add_python_extension()``.
Thanks :user:`xoviat` for the contribution.

Bug fixes
---------

* Fix python 2.7 installation ensuring setuptools < 45 is required. See :issue:`478`.

* Fix unclosed file resource in :meth:`skbuild.cmaker.CMaker.check_for_bad_installs`.
Thanks :user:`Nic30` for the suggestion. See :issue:`429`.

* Update CMake module :doc:`/cmake-modules/PythonExtensions`:

* Ensure correct suffix is used for compiled python module on windows. See :issue:`383`.

* Fix warning using ``EXT_SUFFIX`` config variable instead of deprecated ``SO`` variable. See :issue:`381`.

* Honor the ``MACOSX_DEPLOYMENT_TARGET`` environment variable if it is defined on
macOS. Thanks :user:`certik` for the contribution. See :issue:`441`.

* Fix CMake module :doc:`/cmake-modules/F2PY` to ensure the ``f2py`` executable specific to
the python version being used is found. See :issue:`449`. Thanks :user:`bnavigator` for
the contribution.

* Replace ``platform.linux_distribution()`` which was removed in Python 3.8 by a call to
``distro.id()``. This adds the ``distro`` package as dependency. See :issue:`458`. Thanks
:user:`bnavigator` for the contribution.

Documentation
-------------

* Add notes section to the ``For maintainers`` top-level category that includes a comparison between
``sysconfig`` and ``distutils.sysconfig`` modules.

* Remove obsolete comment in ``cmaker.py``. See :issue:`439`. Thanks :user:`isuruf`

Tests
-----

* Update ``initialize_git_repo_and_commit`` to prevent signing message on system with commit signing
enabled globally.

0.10.0

===================

New Features
------------

* Improve message displayed when discovering a working environment for building projects.
For example, instead of displaying ``-- Trying "Ninja" generator``, it now displays a message
like ``-- Trying "Ninja (Visual Studio 15 2017 Win64 v140)" generator``.

Bug fixes
---------

* Checking generator candidates can now handle handle paths and binaries with
spaces, so that ``setup.py --cmake-executable "C:/Program Files
(x86)/cmake/cmake.exe"`` works as expected.
Contributed by :user:`jokva`. See :issue:`400`.

* Fix sdist command to ensure symlinks in original source tree are maintained.
Contributed by :user:`anibali`. See :issue:`401`.

* Ensure use of ``bdist_egg`` or ``bdist_rpm`` commands trigger build using cmake.

* Fix default value returned by :func:`skbuild.constants.skbuild_plat_name()` on macOS.
See :issue:`417`.

Internal API
------------

* Add :func:`skbuild.platform_specifics.windows.find_visual_studio`.

Documentation
-------------

* Fix typo in example associated with :doc:`/cmake-modules/PythonExtensions`.
Thanks :user:`eirrgang` for the contribution.

* Update :doc:`/make_a_release` section to include ``Conda: Step-by-step`` release guide.

Tests
-----

* Introduce ``check_sdist_content()`` and fix tests that are checking content of sdist to
account for changes introduced in Python 3.8 and backported to python 2.7, 3.6 and 3.7.
The changes introduced in `python/cpython9419 <https://github.com/python/cpython/pull/9419>`_
adds directory entries to ZIP files created by distutils. Thanks :user:`anibali` for the
contribution. See :issue:`404`.

* Fix ``check_wheel_content()`` to consider changes in ``0.33.1 < wheel.__version__ < 0.33.4``
where directory entries are included when building wheel.
See _`pypa/wheel294 <https://github.com/pypa/wheel/issues/294>`.

* Fix reporting of ``AssertionError`` raised in ``check_wheel_content()`` function by relocating the
source code into a dedicated module ``tests.pytest_helpers`` and by adding a ``conftest.py``
configuration file registering it for pytest assertion rewriting.
See https://docs.pytest.org/en/latest/writing_plugins.html#assertion-rewriting and :issue:`403`.

* Fix ``test_generator_selection`` when building with "Visual C++ for Python 2.7"
installed for all users. This addresses failure associated with ``win_c_compilervs2008cxx_compilervs2008python2.7``
when running test in `scikit-build-feedstock <https://github.com/conda-forge/scikit-build-feedstock>`_ where
"Visual C++ for Python 2.7" is installed using (`vcpython27 <https://chocolatey.org/packages/vcpython27>`_ chocolatey
package.

* Continuous Integration

* Add support for Azure Pipelines for Python 3.7 32-bit and 64-bit

* AppVeyor: Disable test for Python 3.7 32-bit and 64-bit.

* CircleCI: Update version of docker images from jessie to stretch. This addresses
issue `circleci/circleci-images370 <https://github.com/circleci/circleci-images/issues/370#issuecomment-476611431>`_.

* TravisCI: Remove obsolete Python 3.4 testing. It reached `end-of-life on March 18 2019 <https://devguide.python.org/devcycle/?highlight=end%20of%20life#end-of-life-branches>`_.

0.9.6

This release provides a fix for the experimental setuptools plugin leaking and
affecting other setuptools plugins.

Fixes:

* Improve error message when `metadata.version.provider` not set by thewtex in 762
* Only inject logic if `cmake_*` keywords present by kiwifb in 768
* Only replace color tags if the color is defined by bnavigator in 764

0.9.5

This release fixes building for the Windows variant of free-threaded Python
3.13.

Fixes:

- Support Windows free-threading by henryiii in 759
- Strip whitespace around generator so that it's passed through correctly by
vyasr in 748

Documentation:

- Note that `-C` options can be prefixed with `skbuild.` by KyleFromNVIDIA in
754

CI and testing:

- Retry pypy if fails by henryiii in 746
- Disable rpminspect on rawhide by LecrisUT in 753
- Use uv for minimum version check by henryiii in 679

0.9.4

This version supports the newly available free-threading variant of Python

0.9.3

This version ensures the Hatchling plugin correctly indicates editable mode is
not yet supported, supports `CMAKE_ARGS` that have spaces, and has a bit of
other minor cleanup.

Fixes:

- Properly indicate lack of editable support in Hatch plugin by ofek in 728
- Don't generate `entrypoints.txt` if none set by henryiii in 729
- Don't warn if lib not found on UNIX, just debug by henryiii in 730
- Support `CMAKE_ARGS` that may have spaces inside quotes by vyasr in 727

Docs:

- Add FAQ entry on repairing wheels by henryiii in 731

CI and testing:

- Use `macos-13` and `macos-14` explicitly by henryiii in 724
- `macos-latest` is changing to `macos-14` ARM runners by henryiii in 725

Page 5 of 13

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.