Do not run
meson installto build a wheel. This was unnecessary as files are added to the wheel from the build and source directories. This does not affect the handling of
meson installoptions, which are interpreted by
--skip-subprojectswhen specified for the
Implement support for the
exclude_filesarguments to Meson
install_subdir()function and similar installation functions. This requires Meson version 1.1.0 or later.
Implement support for building wheels targeting the Python limited API. Extension modules targeting the Python limited API can be easily built starting with the upcoming Meson 1.3.0 release.
pyproject.tomldoes not contain a
versionis not declared dynamic, raise an error instead of silently using the version declared in
Fix the mtime of source files in the sdist tarball.
objcppcompilers to the cross file generated when the
Extensive documentation improvements.
Charles Brunet, Daniele Nicolodi, Henry Schreiner, Michał Górny, Ralf Gommers — 05-09-2023
Fix system name in cross file generated when using
Fix handling of
nullMeson install tags.
Charles Brunet, Daniele Nicolodi — 22-06-2023.
Fix regression in cross-compilation via
$ARCHFLAGSon macOS where the cross file was written in the build directory before it was created, resulting in an error.
Do not require setting
$_PYTHON_HOST_PLATFORMwhen cross-compiling via
--quietoption when invoking
meson install. The installation paths are a detail of the
meson-pythonimplementation and are generally not interesting for the user.
Fix terminal logging when overriding the current line when listing files added to the wheel.
Improve the error message emitted when a package split between the
platlibwheel locations is detected.
Daniele Nicolodi, Ralf Gommers — 28-04-2023.
Add support for editable installs.
Adjust the default build options passed to
Make sure that the directory where the wheel or sdist build artifacts are created exists. Fixes building with PDM.
Fix the specification of the C++ compiler for cross-compilation with
meson setupif and only if the specified build directory exists and is a valid Meson build directory.
Allow to select the files to be included in the wheel via Meson install tags passing the
pyproject.tomlor config settings.
Do not use the
meson compileindirection to build the project, except on Windows, where it is required to setup the Visual Studio environment.
Do not add
ninjato the build dependencies if
$NINJAis set but it does not point to a
ninjaexecutable with the required minimum version.
Verify at run time that Meson satisfies the minimum required version.
Place native and cross files in the build directory instead of in the source directory.
Add dependency on
setuptoolson Python 3.12 and later. This fixes build error due to Meson depending on the
distutilsstandard library module removed in Python 3.12.
Bump the required
pyproject-metadataversion to 0.7.1.
Allows some more cross-compilation setups by not checking extension modules filename suffixes against the suffixes accepted by the current interpreter.
Raise an error when a file that would be installed by Meson cannot be mapped to a wheel location.
Raise an error when a package is split between
Do not generate a warning when
pyproject.tomldoes not contain a
projectsection and Python package metadata is derived from
Improve reporting of
Fix validation of tool specific options in
pyproject.toml. In particular, allows to specify an incomplete set of options in the
Daniele Nicolodi, Doron Behar, Eli Schwartz, Filipe Laíns, Lars Pastewka, Luigi Giugliano, Matthias Köppe, Peter Urban, Ralf Gommers, Stefan van der Walt, Thomas Li — 18-04-2023.
Fix regression where the
$MACOSX_DEPLOYMENT_TARGETenvironment variable was accidentally renamed to
Filipe Laíns, Stefan van der Walt — 17-02-2023.
typing_extensionspackage for Python < 3.10 rather than for Python < 3.8 only.
Emit an error message and raise
SystemExiton expected errors.
Revise error messages for consistency.
Support setuptools-style macOS cross compilation via
Allow to overwrite macOS platform tag via
Include an hint with the most similar known option names in the error message emitted when an unknown config setting is encountered.
Daniele Nicolodi, Filipe Laíns, Henry Schreiner, Matthias Köppe, Thomas A Caswell — 22-12-2022.
Project moved to the
Determine wheel tags by introspecting the Python interpreter.
Allow users to pass options directly to Meson via the
installentries in the
pyproject.toml, or via the
Use the system
ninjaif possible. Return
ninjaas a build dependency otherwise.
Include files generated by
mesonadd_dist_scriptin the sdist.
tomllibon Python 3.11 or later.
Fix bug where the
entry_points.txtfile was not generated.
Fix bug where Cygwin Python extensions were not being noticed.
Ben Greiner, Daniele Nicolodi, Filipe Laíns, Henry Schreiner, Matthias Köppe, Ralf Gommers, Sam Thursfield, Thomas Li — 21-11-2022.
Ignore the minor version on macOS 11 or later, to match the behavior of
Filipe Laíns, Ralf Gommers — 05-10-2022.
More fixes on ABI tag detection.
Fix incorrect tag on 32-bit Python running on a x86_64 host.
Fix sdist permissions.
Fix incorrect PyPy tags.
install_subdirsnot being included in wheels.
MACOSX_DEPLOYMENT_TARGETinto account for the platform tag.
Don’t set the rpath on binaries if unneeded.
Eli Schwartz, Filipe Laíns, Matthias Köppe, Peyton Murray, Ralf Gommers, Thomas Kluyver, Thomas Li — 29-09-2022.
UnboundLocalErrorin tag detection code.
Filipe Laíns, Ralf Gommers — 28-07-2022.
Fix sometimes the incorrect ABI tags being generated.
Add workaround for macOS 11 and 12 installations that are missing a minor version in the platform string.
Filipe Laíns — 26-07-2022.
Fix the wrong Python and ABI tags being generated in Meson 0.63.0.
Fix project license not being included in the project metadata.
Filipe Laíns, Ralf Gommers — 22-07-2022.
Project re-licensed to MIT.
Error out when running in an unsupported interpreter.
Fix slightly broken Debian heuristics.
Filipe Laíns, Ralf Gommers, Thomas A Caswell — 21-06-2022.
Improvements in dependency detections.
Include uncommited changes in sdists.
Filipe Laíns — 26-05-2022.
Set sane default arguments for release builds.
Filipe Laíns — 06-05-2022.
Initial cross-platform support.
Bundling libraries is still only supported on Linux.
Add initial documentation.
The build directory is now located in the project source.
Filipe Laíns, Rafael Silva — 23-03-2022.
Fix getting the project version dynamically from Meson.
Filipe Laíns — 26-02-2022.
Select the correct ABI and Python tags.
Force Meson to use the correct Python executable.
Replace auditwheel with in-house vendoring mechanism.
Filipe Laíns — 24-01-2022.
Fix auditwheel not being run.
Filipe Laíns — 12-11-2021.
Fix minor compatibility issue with Python < 3.9.
Filipe Laíns — 28-10-2021.
Filipe Laíns — 28-10-2021.