Add a complete tutorial for packaging F2PY extensions as installable
Python distributions using meson-python as the PEP 517 build backend.
Covers project layout, pyproject.toml configuration, meson.build with
dependency('numpy'), wheel building via pypa/build, editable installs,
Fortran compiler selection, BLAS/LAPACK dependencies, and comparison
with scikit-build-core.
Also fixes the pandas intersphinx URL (moved to pandas.pydata.org/docs).
Closes#25199
Co-authored-by: Ralf Gommers <ralf.gommers@gmail.com>
Co-authored-by: Matti Picus <matti.picus@gmail.com>
This enables building with NumPy on Linux and macOS. Windows support
should be complete to, but is untested as of now and may need a few
tweaks. This contains:
- A set of `meson.build` files and related code generation script
tweaks, header templates, etc.
- One CI job on Linux
- Basic docs on using Meson to build NumPy (not yet integrated in the
html docs, it's too early for that - this is for early adopters right
now).
The build should be complete, with the major exception of SIMD support.
The full test suite passes. See gh-22546 for the tracking issue with
detailed notes on the plan for switching NumPy to Meson as its build
system.
Co-authored-by: Stefan van der Walt <stefanv@berkeley.edu>
This updates the CMake example with several improvements.
* The modern CLI usage (3.14+) is used for configurting and building (plain CMake and scikit-build examples)
* Removed CXX variable setting (not a CXX project)
* Ensured Python 3.7+ is discoverd, and also avoid requiring Development.Embed (component not present in some places like manylinux)
* Nicer include directory listing
* Drop unused varaible
* Use FindPython's integrated module support
* Avoid directory-level settings, use only target level settings instead (as noted in the orignal comment - also this was originally directory scope, not project scope)