Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
scikit-build is a Python build system for CPython C/C++/Fortran/Cython extensions using CMake.
The scikit-build package is fundamentally just glue between the setuptools
Python module and CMake
_.
The next generation of scikit-build, scikit-build-core
_, is currently under development.
This provides a simple, reliable build backend for CMake that does not use
setuptools and provides a lot of new features. Scikit-build-core can also power
a setuptools-based extension system, which will eventually become the backend
for scikit-build (classic). If you do not require extensive customization of
the build process, you should consider trying scikit-build-core instead of
scikit-build.
To get started, see this example <https://scikit-build.readthedocs.io/en/latest/usage.html#example-of-setup-py-cmakelists-txt-and-pyproject-toml>
. For more examples, see scikit-build-sample-projects <https://github.com/scikit-build/scikit-build-sample-projects>
.
This release fixes issues with setuptools 74, and avoids a warning from recent versions of wheel. Android and iOS are now included in known platforms.
#1116 <https://github.com/scikit-build/scikit-build/pull/1116>
_@FeodorFitsner <https://github.com/FeodorFitsner>
_ in #1101 <https://github.com/scikit-build/scikit-build/pull/1101>
_#1103 <https://github.com/scikit-build/scikit-build/pull/1103>
_@s-t-e-v-e-n-k <https://github.com/s-t-e-v-e-n-k>
_ in #1108 <https://github.com/scikit-build/scikit-build/pull/1108>
_This release bumps the minimum required CMake to 3.5 and supports CPython 3.13.
#1081 <https://github.com/scikit-build/scikit-build/pull/1081>
_#1095 <https://github.com/scikit-build/scikit-build/pull/1095>
_#1094 <https://github.com/scikit-build/scikit-build/pull/1094>
_@mweinelt <https://github.com/mweinelt>
_ in #1073 <https://github.com/scikit-build/scikit-build/pull/1073>
_@hmaarrfk <https://github.com/hmaarrfk>
_ in #1032 <https://github.com/scikit-build/scikit-build/pull/1032>
_@ZzEeKkAa <https://github.com/ZzEeKkAa>
_ in #1030 <https://github.com/scikit-build/scikit-build/pull/1030>
_@s-t-e-v-e-n-k <https://github.com/s-t-e-v-e-n-k>
_ in #1087 <https://github.com/scikit-build/scikit-build/pull/1087>
_#1092 <https://github.com/scikit-build/scikit-build/pull/1092>
_@LecrisUT <https://github.com/LecrisUT>
_ in #1078 <https://github.com/scikit-build/scikit-build/pull/1078>
_@LecrisUT <https://github.com/LecrisUT>
_ in #1003 <https://github.com/scikit-build/scikit-build/pull/1003>
_@LecrisUT <https://github.com/LecrisUT>
_ in #1050 <https://github.com/scikit-build/scikit-build/pull/1050>
_@LecrisUT <https://github.com/LecrisUT>
_ in #993 <https://github.com/scikit-build/scikit-build/pull/993>
_#1017 <https://github.com/scikit-build/scikit-build/pull/1017>
_#1082 <https://github.com/scikit-build/scikit-build/pull/1082>
_#1035 <https://github.com/scikit-build/scikit-build/pull/1035>
_#1014 <https://github.com/scikit-build/scikit-build/pull/1014>
_#1007 <https://github.com/scikit-build/scikit-build/pull/1007>
_#1008 <https://github.com/scikit-build/scikit-build/pull/1008>
_#1060 <https://github.com/scikit-build/scikit-build/pull/1060>
_#1021 <https://github.com/scikit-build/scikit-build/pull/1021>
_#1054 <https://github.com/scikit-build/scikit-build/pull/1054>
_#1083 <https://github.com/scikit-build/scikit-build/pull/1083>
_#1091 <https://github.com/scikit-build/scikit-build/pull/1091>
_A small fix release with some new platforms and better testing, including CPython 3.12.0b1.
@mtelka <https://github.com/mtelka>
_ in #983 <https://github.com/scikit-build/scikit-build/pull/983>
_.@bhuntsman <https://github.com/bhuntsman>
_ in #988 <https://github.com/scikit-build/scikit-build/pull/988>
_.#879 <https://github.com/scikit-build/scikit-build/pull/879>
_.pytest-virtualenv
in #879 <https://github.com/scikit-build/scikit-build/pull/879>
_.isolated
marker now includes test_distribution
tests in #879 <https://github.com/scikit-build/scikit-build/pull/879>
_.get_map
match by @keszybz <https://github.com/keszybz>
_ in #990 <https://github.com/scikit-build/scikit-build/pull/990>
_.@LecrisUT <https://github.com/LecrisUT>
_ in #986 <https://github.com/scikit-build/scikit-build/pull/986>
_ and #938 <https://github.com/scikit-build/scikit-build/pull/938>
_.#979 <https://github.com/scikit-build/scikit-build/pull/979>
_.A small fix release fixing the passing on of generator specific arguments. This fixes some cases where the Ninja generator was found but then was unable to build. NetBSD was reported to work, so was added to the BSD's supported.
#975 <https://github.com/scikit-build/scikit-build/pull/975>
_.#977 <https://github.com/scikit-build/scikit-build/pull/977>
_.A followup fix to the issue 0.17.3 tried to fix. We now have a method to manually test downstream packages, too.
#974 <https://github.com/scikit-build/scikit-build/pull/974>
_.A small release related to PYTHON_LIBRARY
handling changes in 0.17.2;
scikit-build 0.17.3 returns an empty string from get_python_library
if no
Python library is present (like on manylinux), where 0.17.2 returned None, and
previous versions returned a non-existent path. Note that adding REQUIRED
to find_package(PythonLibs
will fail, but it is incorrect (you must not
link to libPython.so
) and was really just injecting a non-existent path
before.
get_python_library
return type string if python lib non-existing
for now in #959 <https://github.com/scikit-build/scikit-build/pull/959>
_.#960 <https://github.com/scikit-build/scikit-build/pull/960>
_.#958 <https://github.com/scikit-build/scikit-build/pull/958>
_.Another small release with fixes for non-MSVC Windows platforms.
@LecrisUT <https://github.com/LecrisUT>
_ in #937 <https://github.com/scikit-build/scikit-build/pull/937>
_.@dlech <https://github.com/dlech>
_ in #942 <https://github.com/scikit-build/scikit-build/pull/942>
_.Python_LIBRARY
on Windows MSVC in #943 <https://github.com/scikit-build/scikit-build/pull/943>
_ and #944 <https://github.com/scikit-build/scikit-build/pull/944>
_.#947 <https://github.com/scikit-build/scikit-build/pull/947>
_.#948 <https://github.com/scikit-build/scikit-build/pull/948>
_.This is a small release fixing a few bugs; the primary one being a change that was triggering a bug in older FindPython. The unused variable messages have been deactivated to simplify output, as well.
#932 <https://github.com/scikit-build/scikit-build/pull/932>
_.#931 <https://github.com/scikit-build/scikit-build/pull/931>
_.CMAKE_OSX_DEPLOYMENT_TARGET
a warning (bug in conda-forge's
clang activation fixed upstream) in #934 <https://github.com/scikit-build/scikit-build/pull/934>
_.#930 <https://github.com/scikit-build/scikit-build/pull/930>
_.@LecrisUT <https://github.com/LecrisUT>
_ in #928 <https://github.com/scikit-build/scikit-build/pull/928>
_.@LecrisUT <https://github.com/LecrisUT>
_ in #929 <https://github.com/scikit-build/scikit-build/pull/929>
_.#933 <https://github.com/scikit-build/scikit-build/pull/933>
_.A lot of bug fixes are present in this release, focusing on Windows, PyPy, and cross compiling. We've also improved the compatibility with default setuptools behaviors a little, and enabled some things that were previously unavailable, like overriding the build type via the cmake argument environment variables. We've expanded our CI matrix to include Windows and macOS PyPy and some Fortran tests on Linux. This release requires Python 3.7+.
include_package_data
default. by @vyasr <https://github.com/vyasr>
_ in #873 <https://github.com/scikit-build/scikit-build/pull/873>
_.@benbovy <https://github.com/benbovy>
_ in #495 <https://github.com/scikit-build/scikit-build/pull/495>
_.CMAKE_INSTALL_PREFIX
by @vyasr <https://github.com/vyasr>
_ in #872 <https://github.com/scikit-build/scikit-build/pull/872>
_..pyx
files are in the same directory as CMakeLists.txt
by @vyasr <https://github.com/vyasr>
_ in #871 <https://github.com/scikit-build/scikit-build/pull/871>
_.#902 <https://github.com/scikit-build/scikit-build/pull/902>
_.gershnik
in #904 <https://github.com/scikit-build/scikit-build/pull/904>
_.#913 <https://github.com/scikit-build/scikit-build/pull/913>
_. Thanks to user:maxbachmann
for testing.#917 <https://github.com/scikit-build/scikit-build/pull/917>
_ by @dlech <https://github.com/dlech>
_.get_include
if present in #877 <https://github.com/scikit-build/scikit-build/pull/877>
_.targetLinkLibrariesWithDynamicLookup
by @erykoff <https://github.com/erykoff>
_ in #901 <https://github.com/scikit-build/scikit-build/pull/901>
_.MACOSX_DEPLOYMENT_TARGET
as if it was unset in #918 <https://github.com/scikit-build/scikit-build/pull/918>
_.@benbovy <https://github.com/benbovy>
_ in #493 <https://github.com/scikit-build/scikit-build/pull/493>
_.#906 <https://github.com/scikit-build/scikit-build/pull/906>
_.#888 <https://github.com/scikit-build/scikit-build/pull/888>
_.#907 <https://github.com/scikit-build/scikit-build/pull/907>
_.#922 <https://github.com/scikit-build/scikit-build/pull/922>
_.#862 <https://github.com/scikit-build/scikit-build/pull/862>
_.#870 <https://github.com/scikit-build/scikit-build/pull/870>
_.#899 <https://github.com/scikit-build/scikit-build/pull/899>
_.#869 <https://github.com/scikit-build/scikit-build/pull/869>
.Please use the first citation when referencing scikit-build in scientific publications.
Jean-Christophe Fillion-Robin, Matt McCormick, Omar Padron, Max Smolens, Michael Grauer, & Michael Sarahan. (2018, July 13). jcfr/scipy_2018_scikit-build_talk: SciPy 2018 Talk | scikit-build: A Build System Generator for CPython C/C++/Fortran/Cython Extensions. Zenodo. https://doi.org/10.5281/zenodo.2565368
Schreiner, Henry, Rickerby, Joe, Grosse-Kunstleve, Ralf, Jakob, Wenzel, Darbois, Matthieu, Gokaslan, Aaron, Fillion-Robin, Jean-Christophe, & McCormick, Matt. (2022, August 1). Building Binary Extensions with pybind11, scikit-build, and cibuildwheel. https://doi.org/10.25080/majora-212e5952-033
PyCMake was created at SciPy 2014 in response to general difficulties building C++ and Fortran based Python extensions across platforms. It was renamed to "scikit-build" in 2016. Scikit-build-core was started in 2022.
These issues are likely to be addressed in upcoming releases, and are
already addressed in scikit-build-core
_.
setup()
currently._skbuild
) may need to be deleted between builds in
some cases (like rebuilding with a different Python interpreter).We are also working on improving scikit-build, so there are some upcoming changes and deprecations:
test
command, easy_install
, etc.If you need any of these features, please open or find an issue explaining what and why you need something.
Support for this work was provided by NSF grant OAC-2209877 <https://www.nsf.gov/awardsearch/showAward?AWD_ID=2209877>
_.
.. _scikit-build-core: https://scikit-build-core.readthedocs.io .. _cmake: https://cmake.org
FAQs
Improved build system generator for Python C/C++/Fortran/Cython extensions
We found that scikit-build demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.