Skip to main content

Improved build system generator for Python C/C++/Fortran/Cython extensions

Project description

https://github.com/scikit-build/scikit-build/actions/workflows/ci.yml/badge.svg https://dev.azure.com/scikit-build/scikit-build/_apis/build/status/scikit-build.scikit-build?branchName=master Code coverage status

Improved build system generator for CPython C/C++/Fortran/Cython extensions.

Better support is available for additional compilers, build systems, cross compilation, and locating dependencies and determining their build requirements.

The scikit-build package is fundamentally just glue between the setuptools Python module and CMake.

To get started, see this example and scikit-build-sample-projects.

Latest Release

Versions

Downloads

https://img.shields.io/pypi/v/scikit-build.svg https://img.shields.io/pypi/dm/scikit-build
https://anaconda.org/conda-forge/scikit-build/badges/version.svg https://anaconda.org/conda-forge/scikit-build/badges/downloads.svg

Known Issues

These issues are likely to be addressed in upcoming releases.

  • Editable installs do not work with the latest versions of Setuptools (and had issues with older versions, too).

  • Configuration scikit-build cares about _must_ be specified in setup() currently.

  • The cache directory (_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:

  • All deprecated setuptools/distutils features are also deprecated in scikit-build, like the test command, easy_install, etc.

  • Python 3.6 support is deprecated, as setuptools, pytest, and everything else we use has dropped it already.

  • 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).

  • Our primary branch will change to main

If you need any of these features, please open or find an issue explaining what and why you need something.

Miscellaneous

Support for this work was provided by NSF cooperative agreement OAC-2209877.

History

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scikit-build-0.16.2.tar.gz (269.8 kB view hashes)

Uploaded Source

Built Distribution

scikit_build-0.16.2-py3-none-any.whl (78.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page