Scikit-build

Latest version: v0.17.6

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

Scan your dependencies

Page 6 of 10

0.6.0

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

New features
------------

* Improve ``py_modules`` support: Python modules generated by CMake are now
properly included in binary distribution.

* Improve developer mode support for ``py_modules`` generated by CMake.


Bug fixes
---------

* Do not implicitly install python modules when the beginning of their name
match a package explicitly listed. For example, if a project has a package
``foo/__init__.py`` and a module ``fooConfig.py``, and only package ``foo``
was listed in ``setup.py``, ``fooConfig.py`` is not installed anymore.

* CMake module :doc:`/cmake-modules/targetLinkLibrariesWithDynamicLookup`: Fix the
caching of *dynamic lookup* variables. See :issue:`240` fixed by :user:`blowekamp`.

Requirements
------------

* wheel: As suggested by :user:`thewtex`, unpinning version of the package
by requiring ``>=0.29.0`` instead of ``==0.29.0`` will avoid uninstalling a newer
version of wheel package on up-to-date system.

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

* Add a command line :ref:`CMake Options <usage_cmake_options>` section to :doc:`Usage <\usage>`.

* Fix :ref:`table <Visual Studio IDE>` listing *Visual Studio IDE* version and
corresponding with *CPython version* in :doc:`/generators`.

* Improve :doc:`/make_a_release` section.

Tests
-----

* Extend ``test_hello``, ``test_setup``, and ``test_sdist_hide_listing`` to
(1) check if python modules are packaged into source and wheel distributions
and (2) check if python modules are copied into the source tree when developer
mode is enabled.

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

* Fix :meth:`skbuild.setuptools_wrap.strip_package` to handle empty package.

* Teach :meth:`skbuild.command.build_py.build_py.find_modules` function to look
for ``py_module`` file in ``CMAKE_INSTALL_DIR``.

* Teach :class:`skbuild.utils.PythonModuleFinder` to search for ``python module``
in the CMake install tree.

* Update :func:`skbuild.setuptools_wrap._consolidate` to copy file into the CMake
tree only if it exists.

* Update :meth:`skbuild.setuptools_wrap._copy_file` to create directory only if
there is one associated with the destination file.

0.5.1

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

Bug fixes
---------

* Ensure file copied in "develop" mode have "mode bits" maintained.

0.5.0

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

New features
------------

* Improve user experience by running CMake only if needed. See :issue:`207`

* Add support for :ref:`cmake_with_sdist <usage-cmake_with_sdist>` setup keyword argument.

* Add support for ``--force-cmake`` and ``--skip-cmake`` global :ref:`setup command-line options <usage-setuptools_options>`.

* scikit-build conda-forge recipe added by :user:`isuruf`.
See `conda-forge/staged-recipes1989 <https://github.com/conda-forge/staged-recipes/pull/1989>`_

* Add support for `development mode <https://packaging.python.org/distributing/#working-in-development-mode>`_. (:issue:`187`).

* Improved :doc:`/generators` selection:

* If available, uses :ref:`Ninja` build system generator on all platforms. An
advantages is that ninja automatically parallelizes the build based on the number
of CPUs.

* Automatically set the expected ``Visual Studio`` environment when
``Ninja`` or ``NMake Makefiles`` generators are used.

* Support `Microsoft Visual C++ Compiler for Python 2.7 <http://aka.ms/vcpython27>`_.
See :issue:`216`.

* Prompt for user to install the required compiler if it is not available. See :issue:`27`.

* Improve :doc:`/cmake-modules/targetLinkLibrariesWithDynamicLookup` CMake Module extending
the API of ``check_dynamic_lookup`` function:

* Update long signature: ``<LinkFlagsVar>`` is now optional
* Add support for short signature: ``check_dynamic_lookup(<ResultVar>)``.
See `SimpleITK/SimpleITK80 <https://github.com/SimpleITK/SimpleITK/pull/80#issuecomment-267617180>`_.

Bug fixes
---------

* Fix scikit-build source distribution and add test. See :issue:`214`
Thanks :user:`isuruf` for reporting the issue.

* Support building extension within a virtualenv on windows. See :issue:`119`.

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

* add :doc:`/generators` section

* add :doc:`/history` section

* allow github issues and users to easily be referenced using ``:issue:`XY
and ``:user:`username markups.
This functionality is enabled by the `sphinx-issue <https://github.com/sloria/sphinx-issues>`_ sphinx extension

* make_a_release: Ensure uploaded distributions are signed

* usage:

* Add empty cross-compilation / wheels building sections
* Add :ref:`Why should I use scikit-build ? <why>`
* Add :ref:`Setup options <usage-setup_options>` section

* hacking:

* Add :ref:`internal_api` section generated using ``sphinx-apidoc``.

* Add :ref:`internal_cmake_modules` to document :doc:`/cmake-modules/targetLinkLibrariesWithDynamicLookup`
CMake module.

Requirements
------------

* setuptools: As suggested by :user:`mivade` in :issue:`212`, remove the
hard requirement for ``==28.8.0`` and require version ``>= 28.0.0``. This allows
to "play" nicely with conda where it is problematic to update the version
of setuptools. See `pypa/pip2751 <https://github.com/pypa/pip/issues/2751>`_
and `ContinuumIO/anaconda-issues542 <https://github.com/ContinuumIO/anaconda-issues/issues/542>`_.

Tests
-----

* Improve "push_dir" tests to not rely on build directory name.
Thanks :user:`isuruf` for reporting the issue.

* travis/install_pyenv: Improve MacOSX build time updating `scikit-ci-addons`_

* Add ``get_cmakecache_variables`` utility function.

.. _scikit-ci: http://scikit-ci.readthedocs.io
.. _scikit-ci-addons: http://scikit-ci-addons.readthedocs.io

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

* :meth:`skbuild.cmaker.CMaker.configure`: Change parameter name from ``generator_id``
to ``generator_name``. This is consistent with how generator are identified
in `CMake documentation <https://cmake.org/cmake/help/v3.7/manual/cmake-generators.7.html>`_.
This change breaks backward compatibility.

* :meth:`skbuild.platform_specifics.abstract.CMakePlatform.get_best_generator`: Change parameter name
from ``generator`` to ``generator_name``. Note that this function is also directly importable
from :mod:`skbuild.platform_specifics`.
This change breaks backward compatibility.

* :class:`skbuild.platform_specifics.abstract.CMakeGenerator`: This class allows to
handle generators as sophisticated object instead of simple string. This is done
anticipating the support for `CMAKE_GENERATOR_PLATFORM <https://cmake.org/cmake/help/v3.7/variable/CMAKE_GENERATOR_PLATFORM.html>`_
and `CMAKE_GENERATOR_TOOLSET <https://cmake.org/cmake/help/v3.7/variable/CMAKE_GENERATOR_TOOLSET.html>`_. Note also that the
class is directly importable from :mod:`skbuild.platform_specifics` and is now returned
by :meth:`skbuild.platform_specifics.get_best_generator`. This change breaks backward compatibility.


Cleanups
--------

* appveyor.yml:

* Remove unused "on_failure: event logging" and "notifications: GitHubPullRequest"
* Remove unused SKIP env variable

0.4.3

This adds support for CPython 3.12.0b1, and improves Stable ABI / Limited API
support (supported by an upcoming nanobind for Python 3.12). An editable install
fix allows running from any directory.

Fixes:

- Allow CMake to detect if limited API is targeted by henryiii in 333 and 342
- Make abi3 support conditional on Python version by henryiii in 344
- Windows path correction for 3.12.0b1 by henryiii in 346
- Editable path needs to be absolute by henryiii in 345

Other:

- Add 3.12.0b1 by henryiii in 341
- Refactor settings by henryiii in 338
- Document that `CMAKE_ARGS` supports space separators by henryiii in 339

0.4.2

This is a quick followup to LICENSE file handing to closer match the current
draft of [PEP 639](https://peps.python.org/pep-0639). It also removes the
automatic optional Rich logging, which doesn't work well with Pip's subprocess
piping, being cropped to a very narrow width regardless of terminal size.

Fixes:

- Add `License-file` metadata entry & update default by henryiii in 329
- Drop optional Rich logging/error by henryiii in 330

Other:

- Update PyPI links by henryiii in 331

0.4.1

A fix for LICENCE files being placed in the wrong place in the wheel. Now we
follow hatchling's structure of placing them in `*.dist-info/licenses`.

Fixes:

- LICENCE files were placed in the wrong place by henryiii in 325

Other:

- Fix rpm inspect test failures by LecrisUT in 324

Page 6 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.