Metadata-Version: 2.1
Name: scikit-build
Version: 0.17.2
Summary: Improved build system generator for Python C/C++/Fortran/Cython extensions
Project-URL: Bug Tracker, https://github.com/scikit-build/scikit-build/issues
Project-URL: Changelog, https://scikit-build.readthedocs.io/en/latest/changes.html
Project-URL: Discussions, https://github.com/orgs/scikit-build/discussions
Project-URL: Documentation, https://scikit-build.readthedocs.io/
Project-URL: Examples, https://github.com/scikit-build/scikit-build-sample-projects
Project-URL: Homepage, https://github.com/scikit-build/scikit-build
Author: The scikit-build team
License-Expression: MIT
License-File: AUTHORS.rst
License-File: LICENSE
Keywords: scikit-build
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Typing :: Typed
Requires-Python: >=3.7
Requires-Dist: distro
Requires-Dist: packaging
Requires-Dist: setuptools>=42.0.0
Requires-Dist: tomli; python_version < '3.11'
Requires-Dist: typing-extensions>=3.7; python_version < '3.8'
Requires-Dist: wheel>=0.32.0
Provides-Extra: cov
Requires-Dist: coverage[toml]>=4.2; extra == 'cov'
Requires-Dist: pytest-cov>=2.7.1; extra == 'cov'
Provides-Extra: docs
Requires-Dist: pygments; extra == 'docs'
Requires-Dist: sphinx-issues; extra == 'docs'
Requires-Dist: sphinx-rtd-theme>=1.0; extra == 'docs'
Requires-Dist: sphinx>=4; extra == 'docs'
Requires-Dist: sphinxcontrib-moderncmakedomain>=3.19; extra == 'docs'
Provides-Extra: doctest
Requires-Dist: ubelt>=0.8.2; extra == 'doctest'
Requires-Dist: xdoctest>=0.10.0; extra == 'doctest'
Provides-Extra: test
Requires-Dist: build>=0.7; extra == 'test'
Requires-Dist: cython>=0.25.1; extra == 'test'
Requires-Dist: importlib-metadata; python_version < '3.8' and extra == 'test'
Requires-Dist: pytest-mock>=1.10.4; extra == 'test'
Requires-Dist: pytest-virtualenv>=1.2.5; extra == 'test'
Requires-Dist: pytest>=6.0.0; extra == 'test'
Requires-Dist: requests; extra == 'test'
Requires-Dist: virtualenv; extra == 'test'
Description-Content-Type: text/x-rst

===============================
scikit-build
===============================

.. image:: https://github.com/scikit-build/scikit-build/actions/workflows/ci.yml/badge.svg
    :target: https://github.com/scikit-build/scikit-build/actions/workflows/ci.yml

.. image:: https://dev.azure.com/scikit-build/scikit-build/_apis/build/status/scikit-build.scikit-build?branchName=main
   :target: https://dev.azure.com/scikit-build/scikit-build/_build/latest?definitionId=1&branchName=main

.. image:: https://codecov.io/gh/scikit-build/scikit-build/branch/main/graph/badge.svg
    :target: https://codecov.io/gh/scikit-build/scikit-build
    :alt: Code coverage status

.. image:: https://img.shields.io/static/v1?label=Discussions&message=Ask&color=blue&logo=github
    :target: https://github.com/orgs/scikit-build/discussions
    :alt: GitHub Discussion

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 <https://cmake.org/>`_.

To get started, see `this example <https://scikit-build.readthedocs.io/en/latest/usage.html#example-of-setup-py-cmakelists-txt-and-pyproject-toml>`_ and `scikit-build-sample-projects <https://github.com/scikit-build/scikit-build-sample-projects>`_.


Latest Release
--------------

.. table::

  +-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  | Versions                                                                    | Downloads                                                                     |
  +=============================================================================+===============================================================================+
  | .. image:: https://img.shields.io/pypi/v/scikit-build.svg                   | .. image:: https://img.shields.io/pypi/dm/scikit-build                        |
  |     :target: https://pypi.python.org/pypi/scikit-build                      |     :target: https://pypi.python.org/pypi/scikit-build                        |
  +-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
  | .. image:: https://anaconda.org/conda-forge/scikit-build/badges/version.svg | .. image:: https://anaconda.org/conda-forge/scikit-build/badges/downloads.svg |
  |     :target: https://anaconda.org/conda-forge/scikit-build                  |     :target: https://anaconda.org/conda-forge/scikit-build                    |
  +-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+



Scikit-build 0.17.2
===================

Another small release with fixes for non-MSVC Windows platforms.

Bug fixes
---------

* RPM spec fix by `@LecrisUT <https://github.com/LecrisUT>`_ in `#937 <https://github.com/scikit-build/scikit-build/pull/937>`_.
* Validate value before returning library path by `@dlech <https://github.com/dlech>`_ in `#942 <https://github.com/scikit-build/scikit-build/pull/942>`_.
* Only add ``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>`_.
* Slightly nicer traceback for failed compiler in `#947 <https://github.com/scikit-build/scikit-build/pull/947>`_.

Testing
-------
* Hide a few warnings that are expected in `#948 <https://github.com/scikit-build/scikit-build/pull/948>`_.

Scikit-build 0.17.1
===================

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.

Bug fixes
---------

* Older (<3.24) CMake breaks when lib specified in `#932 <https://github.com/scikit-build/scikit-build/pull/932>`_.
* An error output was missing formatting in `#931 <https://github.com/scikit-build/scikit-build/pull/931>`_.
* Make empty ``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>`_.
* Remove unused variable warnings by in `#930 <https://github.com/scikit-build/scikit-build/pull/930>`_.

Testing
-------

* Add Fedora packaging with packit automation by `@LecrisUT <https://github.com/LecrisUT>`_ in `#928 <https://github.com/scikit-build/scikit-build/pull/928>`_.
* Fix codecov ci by `@LecrisUT <https://github.com/LecrisUT>`_ in `#929 <https://github.com/scikit-build/scikit-build/pull/929>`_.
* Update some coverage settings in `#933 <https://github.com/scikit-build/scikit-build/pull/933>`_.



Scikit-build 0.17.0
===================

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+.

Bug fixes
---------

* Match setuptools behavior for ``include_package_data`` default. by `@vyasr <https://github.com/vyasr>`_ in `#873 <https://github.com/scikit-build/scikit-build/pull/873>`_.
* Misc. fixes for F2PY and PythonExtensions modules by `@benbovy <https://github.com/benbovy>`_ in `#495 <https://github.com/scikit-build/scikit-build/pull/495>`_.
* Provide more useful error if user provides ``CMAKE_INSTALL_PREFIX`` by `@vyasr <https://github.com/vyasr>`_ in `#872 <https://github.com/scikit-build/scikit-build/pull/872>`_.
* Stop assuming that ``.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>`_.
* Allow build type overriding in `#902 <https://github.com/scikit-build/scikit-build/pull/902>`_.
* Detect PyPy library correctly on Windows by user:`gershnik` in `#904 <https://github.com/scikit-build/scikit-build/pull/904>`_.
* Include library for FindPython for better Windows cross-compiles in `#913 <https://github.com/scikit-build/scikit-build/pull/913>`_. Thanks to user:`maxbachmann` for testing.
* Fix logic for default generator when cross-compiling for ARM on Windows in `#917 <https://github.com/scikit-build/scikit-build/pull/917>`_ by `@dlech <https://github.com/dlech>`_.
* Use f2py's ``get_include`` if present in `#877 <https://github.com/scikit-build/scikit-build/pull/877>`_.
* Fix support for cross-compilation exception using ``targetLinkLibrariesWithDynamicLookup`` by `@erykoff <https://github.com/erykoff>`_ in `#901 <https://github.com/scikit-build/scikit-build/pull/901>`_.
* Treat empty ``MACOSX_DEPLOYMENT_TARGET`` as if it was unset in `#918 <https://github.com/scikit-build/scikit-build/pull/918>`_.

Testing
-------

* Add hello fortran sample package + tests by `@benbovy <https://github.com/benbovy>`_ in `#493 <https://github.com/scikit-build/scikit-build/pull/493>`_.
* Add sdist check & fix in `#906 <https://github.com/scikit-build/scikit-build/pull/906>`_.
* Fix some setuptools types in `#888 <https://github.com/scikit-build/scikit-build/pull/888>`_.
* Add PyPy Win & macOS to the CI in `#907 <https://github.com/scikit-build/scikit-build/pull/907>`_.
* Add tests for Python 3.12 Linux alphas in `#922 <https://github.com/scikit-build/scikit-build/pull/922>`_.

Miscellaneous
-------------

* Drop Python 3.6 in `#862 <https://github.com/scikit-build/scikit-build/pull/862>`_.
* Move building backend to hatchling in `#870 <https://github.com/scikit-build/scikit-build/pull/870>`_.
* Avoid mutating function input parameters in `#899 <https://github.com/scikit-build/scikit-build/pull/899>`_.
* Use _compat/typing name in `#869 <https://github.com/scikit-build/scikit-build/pull/869>`_.



Publications
------------

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


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.


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.
* 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.

Miscellaneous
-------------

* Free software: MIT license
* Documentation: http://scikit-build.readthedocs.org
* Source code: https://github.com/scikit-build/scikit-build
* Discussions: https://github.com/orgs/scikit-build/discussions


Support for this work was provided by NSF cooperative agreement `OAC-2209877 <https://www.nsf.gov/awardsearch/showAward?AWD_ID=2209877>`_.
