meson-python 0.15.0__tar.gz → 0.16.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {meson_python-0.15.0 → meson_python-0.16.0}/.cirrus.yml +6 -0
- meson_python-0.16.0/.github/workflows/docs.yml +51 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/.github/workflows/tests.yml +21 -11
- {meson_python-0.15.0 → meson_python-0.16.0}/.pre-commit-config.yaml +4 -8
- meson_python-0.15.0/.readthedocs.yml → meson_python-0.16.0/.readthedocs.yaml +5 -1
- {meson_python-0.15.0 → meson_python-0.16.0}/CHANGELOG.rst +30 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/PKG-INFO +10 -11
- {meson_python-0.15.0 → meson_python-0.16.0}/README.rst +3 -3
- {meson_python-0.15.0 → meson_python-0.16.0}/ci/alpine-3.docker +2 -2
- {meson_python-0.15.0 → meson_python-0.16.0}/ci/debian-11.docker +1 -1
- {meson_python-0.15.0 → meson_python-0.16.0}/ci/debian-12.docker +1 -1
- {meson_python-0.15.0 → meson_python-0.16.0}/ci/fedora-37.docker +1 -1
- {meson_python-0.15.0 → meson_python-0.16.0}/ci/miniconda.docker +1 -1
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/changelog.rst +30 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/conf.py +3 -2
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/contributing/index.rst +0 -1
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/contributing/release-process.rst +1 -1
- meson_python-0.16.0/docs/how-to-guides/config-settings.rst +61 -0
- meson_python-0.16.0/docs/index.rst +106 -0
- meson_python-0.16.0/docs/projects-using-meson-python.rst +33 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/reference/environment-variables.rst +30 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/reference/meson-compatibility.rst +6 -8
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/reference/pyproject-settings.rst +4 -4
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/tutorials/introduction.rst +4 -4
- {meson_python-0.15.0 → meson_python-0.16.0}/meson.build +1 -1
- {meson_python-0.15.0 → meson_python-0.16.0}/mesonpy/__init__.py +52 -17
- {meson_python-0.15.0 → meson_python-0.16.0}/mesonpy/_editable.py +127 -58
- {meson_python-0.15.0 → meson_python-0.16.0}/mesonpy/_tags.py +10 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/mesonpy/_util.py +16 -20
- {meson_python-0.15.0 → meson_python-0.16.0}/pyproject.toml +14 -15
- meson_python-0.16.0/tests/packages/complex/complex/more/meson.build +10 -0
- meson_python-0.16.0/tests/packages/complex/foo.py +6 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/complex/meson.build +32 -2
- meson_python-0.16.0/tests/packages/complex/move.py +6 -0
- meson_python-0.16.0/tests/packages/complex/test.pyx +6 -0
- meson_python-0.16.0/tests/packages/custom-target-dir/codegen.py +16 -0
- meson_python-0.16.0/tests/packages/custom-target-dir/meson.build +14 -0
- meson_python-0.16.0/tests/packages/custom-target-dir/pyproject.toml +7 -0
- meson_python-0.16.0/tests/packages/encoding/meson.build +9 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/imports-itself-during-build/meson.build +2 -1
- meson_python-0.16.0/tests/packages/subproject/pyproject.toml +7 -0
- meson_python-0.16.0/tests/packages/subproject/subprojects/dep/dep.py +3 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/test_editable.py +113 -8
- meson_python-0.16.0/tests/test_output.py +32 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/test_project.py +33 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/test_tags.py +13 -1
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/test_wheel.py +26 -3
- meson_python-0.15.0/.github/workflows/docs.yml +0 -27
- meson_python-0.15.0/docs/contributing/commit-format.rst +0 -18
- meson_python-0.15.0/docs/contributing/documentation.rst +0 -36
- meson_python-0.15.0/docs/contributing/getting-started.rst +0 -15
- meson_python-0.15.0/docs/contributing/test-suite.rst +0 -16
- meson_python-0.15.0/docs/explanations/design.rst +0 -25
- meson_python-0.15.0/docs/explanations/editable-installs.rst +0 -19
- meson_python-0.15.0/docs/explanations/internal-dependencies.rst +0 -29
- meson_python-0.15.0/docs/how-to-guides/build-directory.rst +0 -19
- meson_python-0.15.0/docs/how-to-guides/config-settings.rst +0 -69
- meson_python-0.15.0/docs/how-to-guides/first-project.rst +0 -91
- meson_python-0.15.0/docs/index.rst +0 -121
- meson_python-0.15.0/docs/projects-using-meson-python.rst +0 -39
- meson_python-0.15.0/docs/reference/quirks.rst +0 -33
- meson_python-0.15.0/docs/tutorials/entrypoints.rst +0 -17
- meson_python-0.15.0/docs/tutorials/executable.rst +0 -21
- meson_python-0.15.0/tests/test_output.py +0 -34
- {meson_python-0.15.0 → meson_python-0.16.0}/.gitignore +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/.mailmap +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/LICENSE +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/LICENSES/MIT.txt +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/ci/archlinux.docker +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/ci/debian-unstable.docker +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/ci/manylinux.docker +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/ci/opensuse-15.docker +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/codecov.yml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/about.rst +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/examples/spam/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/examples/spam/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/examples/spam/src/__init__.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/examples/spam/src/spammodule.c +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/explanations/default-options.rst +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/explanations/design-old.rst +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/how-to-guides/debug-builds.rst +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/how-to-guides/editable-installs.rst +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/how-to-guides/meson-args.rst +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/reference/config-settings.rst +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/reference/limitations.rst +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/spelling_wordlist.txt +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/spelling_wordlist.txt.license +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/docs/static/css/contributors.css +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/mesonpy/_compat.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/mesonpy/_rpath.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/mesonpy/_wheelfile.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/noxfile.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/__init__.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/conftest.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/complex/complex/__init__.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/complex/complex/more/__init__.py +0 -0
- /meson_python-0.15.0/tests/packages/complex/test.pyx → /meson_python-0.16.0/tests/packages/complex/complex/more/baz.pyx +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/complex/complex/namespace/bar.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/complex/complex/namespace/foo.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/complex/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/configure-data/configure_data.py.in +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/configure-data/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/configure-data/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/detect-compiler/detect_compiler.c +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/detect-compiler/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/detect-compiler/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/dist-script/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/dist-script/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/dynamic-version/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/dynamic-version/pyproject.toml +0 -0
- {meson_python-0.15.0/tests/packages/missing-meson-version → meson_python-0.16.0/tests/packages/encoding}/pyproject.toml +0 -0
- /meson_python-0.15.0/tests/packages/install-subdir/nested/deep/deep.py → /meson_python-0.16.0/tests/packages/encoding//343/203/206/343/202/271/343/203/210.py" +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/executable/example.c +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/executable/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/executable/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/executable-bit/example-script.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/executable-bit/example.c +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/executable-bit/executable_module.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/executable-bit/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/executable-bit/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/full-metadata/LICENSE +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/full-metadata/README.md +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/full-metadata/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/full-metadata/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/generated-files/example-script.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/generated-files/example.c +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/generated-files/executable_module.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/generated-files/generate_version.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/generated-files/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/generated-files/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/imports-itself-during-build/plat.c +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/imports-itself-during-build/pure.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/imports-itself-during-build/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/install-subdir/meson.build +0 -0
- /meson_python-0.15.0/tests/packages/install-subdir/nested/deep/excluded.py → /meson_python-0.16.0/tests/packages/install-subdir/nested/deep/deep.py +0 -0
- {meson_python-0.15.0/tests/packages/install-subdir/strip → meson_python-0.16.0/tests/packages/install-subdir/nested/deep}/excluded.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/install-subdir/nested/nested.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/install-subdir/pyproject.toml +0 -0
- {meson_python-0.15.0/tests/packages/install-subdir/subdir → meson_python-0.16.0/tests/packages/install-subdir/strip}/excluded.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/install-subdir/strip/module.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/install-subdir/subdir/__init__.py +0 -0
- /meson_python-0.15.0/tests/packages/install-subdir/subdir/test.py → /meson_python-0.16.0/tests/packages/install-subdir/subdir/excluded/__init__.py +0 -0
- /meson_python-0.15.0/tests/packages/install-subdir/subdir/excluded/__init__.py → /meson_python-0.16.0/tests/packages/install-subdir/subdir/excluded.py +0 -0
- /meson_python-0.15.0/tests/packages/subproject/subproject.py → /meson_python-0.16.0/tests/packages/install-subdir/subdir/test.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/library/example.c +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/library/examplelib.c +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/library/examplelib.h +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/library/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/library/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/license-file/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/license-file/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/license-file/something/LICENSE.custom +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/limited-api/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/limited-api/meson.options +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/limited-api/module.c +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/limited-api/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/link-against-local-lib/examplemod.c +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/link-against-local-lib/lib/examplelib.c +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/link-against-local-lib/lib/examplelib.h +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/link-against-local-lib/lib/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/link-against-local-lib/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/link-against-local-lib/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/missing-dynamic-version/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/missing-dynamic-version/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/missing-meson-version/meson.build +0 -0
- {meson_python-0.15.0/tests/packages/subproject → meson_python-0.16.0/tests/packages/missing-meson-version}/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/missing-version/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/missing-version/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/module-types/file.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/module-types/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/module-types/namespace/data.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/module-types/native.c +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/module-types/package/__init__.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/module-types/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/pure/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/pure/pure.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/pure/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/purelib-and-platlib/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/purelib-and-platlib/plat.c +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/purelib-and-platlib/pure.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/purelib-and-platlib/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/purelib-platlib-split/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/purelib-platlib-split/plat.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/purelib-platlib-split/pure.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/purelib-platlib-split/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/scipy-like/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/scipy-like/mypkg/__init__.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/scipy-like/mypkg/cy_extmod.pyx +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/scipy-like/mypkg/extmod.c +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/scipy-like/mypkg/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/scipy-like/mypkg/submod/__init__.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/scipy-like/mypkg/submod/unknown_filetype.npq +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/scipy-like/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/scipy-like/tools/generate_config.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/simple/__init__.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/simple/data.txt +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/simple/data.txt.license +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/simple/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/simple/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/simple/test.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/subdirs/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/subdirs/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/subdirs/subdirs/__init__.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/subdirs/subdirs/a/__init__.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/subdirs/subdirs/a/b/c.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/subdirs/subdirs/b/c.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/subproject/meson.build +0 -0
- /meson_python-0.15.0/tests/packages/subproject/subprojects/dep/dep.py → /meson_python-0.16.0/tests/packages/subproject/subproject.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/subproject/subprojects/dep/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/unknown-user-args-meson-args/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/unknown-user-args-top-level/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/unsupported-python-version/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/unsupported-python-version/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/user-args/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/user-args/pure.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/user-args/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/vendored-meson/meson.build +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/vendored-meson/meson_options.txt +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/vendored-meson/pyproject.toml +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/packages/vendored-meson/third-party/meson.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/test_consistency.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/test_examples.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/test_metadata.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/test_options.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/test_pep517.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/test_sdist.py +0 -0
- {meson_python-0.15.0 → meson_python-0.16.0}/tests/test_wheelfile.py +0 -0
|
@@ -80,3 +80,9 @@ freebsd_task:
|
|
|
80
80
|
image_family: freebsd-13-2
|
|
81
81
|
install_script: pkg install -y git ninja
|
|
82
82
|
<< : *test
|
|
83
|
+
|
|
84
|
+
macos-arm64_task:
|
|
85
|
+
macos_instance:
|
|
86
|
+
image: ghcr.io/cirruslabs/macos-ventura-xcode
|
|
87
|
+
install_script: brew install git ninja python@3.11
|
|
88
|
+
<< : *test
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2022 The meson-python developers
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: MIT
|
|
4
|
+
|
|
5
|
+
name: docs
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
push:
|
|
9
|
+
tags:
|
|
10
|
+
- '[0-9]+.[0-9]+.[0-9]+'
|
|
11
|
+
pull_request:
|
|
12
|
+
branches:
|
|
13
|
+
- main
|
|
14
|
+
- release-*
|
|
15
|
+
paths:
|
|
16
|
+
- docs/**
|
|
17
|
+
- CHANGELOG.rst
|
|
18
|
+
- README.md
|
|
19
|
+
workflow_dispatch:
|
|
20
|
+
inputs:
|
|
21
|
+
tag:
|
|
22
|
+
required: true
|
|
23
|
+
|
|
24
|
+
jobs:
|
|
25
|
+
|
|
26
|
+
build:
|
|
27
|
+
runs-on: ubuntu-latest
|
|
28
|
+
steps:
|
|
29
|
+
- uses: actions/setup-python@v5
|
|
30
|
+
with:
|
|
31
|
+
python-version: '3.11'
|
|
32
|
+
- uses: actions/checkout@v4
|
|
33
|
+
with:
|
|
34
|
+
ref: ${{ github.event.push.tag || github.event.inputs.tag }}
|
|
35
|
+
- run: python -m pip install .[docs]
|
|
36
|
+
- run: python -m sphinx -W docs/ build/docs/
|
|
37
|
+
- uses: actions/upload-pages-artifact@v2
|
|
38
|
+
with:
|
|
39
|
+
path: build/docs/
|
|
40
|
+
|
|
41
|
+
deploy:
|
|
42
|
+
needs: build
|
|
43
|
+
permissions:
|
|
44
|
+
pages: write
|
|
45
|
+
id-token: write
|
|
46
|
+
environment:
|
|
47
|
+
name: github-pages
|
|
48
|
+
runs-on: ubuntu-latest
|
|
49
|
+
if: ${{ github.event.push.tag || github.event.inputs.tag }}
|
|
50
|
+
steps:
|
|
51
|
+
- uses: actions/deploy-pages@v2
|
|
@@ -6,6 +6,9 @@ name: tests
|
|
|
6
6
|
|
|
7
7
|
on:
|
|
8
8
|
push:
|
|
9
|
+
branches:
|
|
10
|
+
- main
|
|
11
|
+
- release-*
|
|
9
12
|
pull_request:
|
|
10
13
|
branches:
|
|
11
14
|
- main
|
|
@@ -19,6 +22,7 @@ on:
|
|
|
19
22
|
- '!LICENSE'
|
|
20
23
|
- '!LICENSES/**'
|
|
21
24
|
- '!README.rst'
|
|
25
|
+
- '!.github/workflows/docs.yml'
|
|
22
26
|
workflow_dispatch:
|
|
23
27
|
# Allow to run manually
|
|
24
28
|
|
|
@@ -71,6 +75,12 @@ jobs:
|
|
|
71
75
|
- os: ubuntu
|
|
72
76
|
python: '3.11'
|
|
73
77
|
meson: '~=1.1.0'
|
|
78
|
+
- os: ubuntu
|
|
79
|
+
python: '3.12'
|
|
80
|
+
meson: '~=1.2.3'
|
|
81
|
+
- os: ubuntu
|
|
82
|
+
python: '3.12'
|
|
83
|
+
meson: '~=1.3'
|
|
74
84
|
# Test with Meson master branch.
|
|
75
85
|
- os: ubuntu
|
|
76
86
|
python: '3.12'
|
|
@@ -81,10 +91,10 @@ jobs:
|
|
|
81
91
|
|
|
82
92
|
steps:
|
|
83
93
|
- name: Checkout
|
|
84
|
-
uses: actions/checkout@
|
|
94
|
+
uses: actions/checkout@v4
|
|
85
95
|
|
|
86
96
|
- name: Set up target Python
|
|
87
|
-
uses: actions/setup-python@
|
|
97
|
+
uses: actions/setup-python@v5
|
|
88
98
|
with:
|
|
89
99
|
python-version: ${{ matrix.python }}
|
|
90
100
|
|
|
@@ -112,7 +122,7 @@ jobs:
|
|
|
112
122
|
python -m pytest --showlocals -vv --cov --cov-report=xml
|
|
113
123
|
|
|
114
124
|
- name: Upload coverage report
|
|
115
|
-
uses: codecov/codecov-action@
|
|
125
|
+
uses: codecov/codecov-action@v4
|
|
116
126
|
if: ${{ always() }}
|
|
117
127
|
|
|
118
128
|
msvc:
|
|
@@ -127,10 +137,10 @@ jobs:
|
|
|
127
137
|
|
|
128
138
|
steps:
|
|
129
139
|
- name: Checkout
|
|
130
|
-
uses: actions/checkout@
|
|
140
|
+
uses: actions/checkout@v4
|
|
131
141
|
|
|
132
142
|
- name: Set up target Python
|
|
133
|
-
uses: actions/setup-python@
|
|
143
|
+
uses: actions/setup-python@v5
|
|
134
144
|
with:
|
|
135
145
|
python-version: ${{ matrix.python }}
|
|
136
146
|
|
|
@@ -165,7 +175,7 @@ jobs:
|
|
|
165
175
|
|
|
166
176
|
steps:
|
|
167
177
|
- name: Checkout
|
|
168
|
-
uses: actions/checkout@
|
|
178
|
+
uses: actions/checkout@v4
|
|
169
179
|
|
|
170
180
|
- name: Setup Cygwin
|
|
171
181
|
uses: cygwin/cygwin-install-action@v2
|
|
@@ -200,7 +210,7 @@ jobs:
|
|
|
200
210
|
# Cygwin Python cannot use binary wheels from PyPI. Building
|
|
201
211
|
# some dependencies takes considerable time. Caching the built
|
|
202
212
|
# wheels speeds up the CI job quite a bit.
|
|
203
|
-
uses: actions/cache@
|
|
213
|
+
uses: actions/cache@v4
|
|
204
214
|
with:
|
|
205
215
|
path: ${{ steps.pip-cache-path.outputs.path }}
|
|
206
216
|
key: cygwin-pip-${{ github.sha }}
|
|
@@ -241,7 +251,7 @@ jobs:
|
|
|
241
251
|
|
|
242
252
|
steps:
|
|
243
253
|
- name: Checkout
|
|
244
|
-
uses: actions/checkout@
|
|
254
|
+
uses: actions/checkout@v4
|
|
245
255
|
|
|
246
256
|
- name: Install pyston
|
|
247
257
|
run: |
|
|
@@ -275,7 +285,7 @@ jobs:
|
|
|
275
285
|
|
|
276
286
|
steps:
|
|
277
287
|
- name: Checkout
|
|
278
|
-
uses: actions/checkout@
|
|
288
|
+
uses: actions/checkout@v4
|
|
279
289
|
|
|
280
290
|
- name: Install Homebrew Python
|
|
281
291
|
run: |
|
|
@@ -304,10 +314,10 @@ jobs:
|
|
|
304
314
|
runs-on: ubuntu-latest
|
|
305
315
|
steps:
|
|
306
316
|
- name: Checkout
|
|
307
|
-
uses: actions/checkout@
|
|
317
|
+
uses: actions/checkout@v4
|
|
308
318
|
|
|
309
319
|
- name: Setup Python
|
|
310
|
-
uses: actions/setup-python@
|
|
320
|
+
uses: actions/setup-python@v5
|
|
311
321
|
with:
|
|
312
322
|
python-version: 3.9
|
|
313
323
|
|
|
@@ -8,7 +8,7 @@ ci:
|
|
|
8
8
|
|
|
9
9
|
repos:
|
|
10
10
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
11
|
-
rev: v4.
|
|
11
|
+
rev: v4.5.0
|
|
12
12
|
hooks:
|
|
13
13
|
- id: check-ast
|
|
14
14
|
- id: check-builtin-literals
|
|
@@ -20,17 +20,13 @@ repos:
|
|
|
20
20
|
- id: double-quote-string-fixer
|
|
21
21
|
- id: end-of-file-fixer
|
|
22
22
|
- id: trailing-whitespace
|
|
23
|
-
- repo: https://github.com/PyCQA/isort
|
|
24
|
-
rev: 5.12.0
|
|
25
|
-
hooks:
|
|
26
|
-
- id: isort
|
|
27
23
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
28
|
-
rev: v0.
|
|
24
|
+
rev: v0.1.5
|
|
29
25
|
hooks:
|
|
30
26
|
- id: ruff
|
|
31
|
-
args: [--fix, --show-fixes, --format, grouped]
|
|
27
|
+
args: [--fix, --show-fixes, --output-format, grouped]
|
|
32
28
|
- repo: https://github.com/fsfe/reuse-tool
|
|
33
|
-
rev:
|
|
29
|
+
rev: v2.1.0
|
|
34
30
|
hooks:
|
|
35
31
|
- id: reuse
|
|
36
32
|
name: add SPDX headers
|
|
@@ -11,6 +11,36 @@
|
|
|
11
11
|
Changelog
|
|
12
12
|
+++++++++
|
|
13
13
|
|
|
14
|
+
0.16.0
|
|
15
|
+
======
|
|
16
|
+
|
|
17
|
+
- Correctly detect a wheel shipping shared libraries as being platform
|
|
18
|
+
dependent also when it does not ship compiled executables or Python
|
|
19
|
+
extension modules.
|
|
20
|
+
- Use 11.0 as minimum macOS platform ABI tag on arm64: lower versions
|
|
21
|
+
do not exist on arm64.
|
|
22
|
+
- Improve parsing of the ``$ARCHFLAGS`` environment
|
|
23
|
+
variable. Correctly handle repeated ``-arch`` flags.
|
|
24
|
+
- Do not break when trying to log filename containing Unicode
|
|
25
|
+
characters that cannot be encoded in the encoding used by the
|
|
26
|
+
standard output stream.
|
|
27
|
+
- Drop dependency on ``colorama`` on Windows.
|
|
28
|
+
- Suppress all uses of ANSI terminal escapes when logging to a stream
|
|
29
|
+
that does not support them.
|
|
30
|
+
- Fix ANSI escape coloring of error messages.
|
|
31
|
+
- Respect the ``exclude_dirs`` and ``exclude_files`` arguments passed
|
|
32
|
+
to the ``install_subdir()`` Meson function in editable installs too.
|
|
33
|
+
- Make ``pkgutil.iter_packages()`` work properly for modules loaded
|
|
34
|
+
from editable installs.
|
|
35
|
+
- Add support for the ``custom_target()`` Meson function installing a
|
|
36
|
+
directory.
|
|
37
|
+
- In editable installs, when a rebuild is triggered on module import,
|
|
38
|
+
emit a message indicating that the package is being rebuilt but
|
|
39
|
+
suppress any output when there is no work to do.
|
|
40
|
+
|
|
41
|
+
Daniele Nicolodi, Loïc Estève, Ralf Gommers --- 16-04-2024
|
|
42
|
+
|
|
43
|
+
|
|
14
44
|
0.15.0
|
|
15
45
|
======
|
|
16
46
|
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: meson-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.16.0
|
|
4
4
|
Summary: Meson Python build backend (PEP 517)
|
|
5
5
|
Keywords: meson build backend pep517 package
|
|
6
6
|
Home-page: https://github.com/mesonbuild/meson-python
|
|
7
|
-
Maintainer: Thomas Li
|
|
8
|
-
Maintainer-Email: Ralf Gommers <ralf.gommers@gmail.com>, Daniele Nicolodi <daniele@grinta.net>, Henry Schreiner <HenrySchreinerIII@gmail.com>
|
|
7
|
+
Maintainer-Email: Ralf Gommers <ralf.gommers@gmail.com>, Daniele Nicolodi <daniele@grinta.net>, Henry Schreiner <HenrySchreinerIII@gmail.com>, Thomas Li <47963215+lithomas1@users.noreply.github.com>
|
|
9
8
|
License: Copyright © 2022 the meson-python contributors
|
|
10
9
|
Copyright © 2021 Quansight Labs and Filipe Laíns
|
|
11
10
|
|
|
@@ -32,12 +31,12 @@ Classifier: Programming Language :: Python
|
|
|
32
31
|
Classifier: Topic :: Software Development :: Build Tools
|
|
33
32
|
Project-URL: Homepage, https://github.com/mesonbuild/meson-python
|
|
34
33
|
Project-URL: Repository, https://github.com/mesonbuild/meson-python
|
|
35
|
-
Project-URL: Documentation, https://meson-python
|
|
36
|
-
Project-URL: Changelog, https://meson-python
|
|
34
|
+
Project-URL: Documentation, https://mesonbuild.com/meson-python/
|
|
35
|
+
Project-URL: Changelog, https://mesonbuild.com/meson-python/changelog.html
|
|
37
36
|
Requires-Python: >=3.7
|
|
38
|
-
Requires-Dist: colorama; os_name == "nt"
|
|
39
37
|
Requires-Dist: meson>=0.63.3; python_version < "3.12"
|
|
40
38
|
Requires-Dist: meson>=1.2.3; python_version >= "3.12"
|
|
39
|
+
Requires-Dist: packaging>=19.0
|
|
41
40
|
Requires-Dist: pyproject-metadata>=0.7.1
|
|
42
41
|
Requires-Dist: tomli>=1.0.0; python_version < "3.11"
|
|
43
42
|
Requires-Dist: build; extra == "test"
|
|
@@ -47,8 +46,8 @@ Requires-Dist: pytest-mock; extra == "test"
|
|
|
47
46
|
Requires-Dist: cython>=3.0.3; extra == "test"
|
|
48
47
|
Requires-Dist: wheel; extra == "test"
|
|
49
48
|
Requires-Dist: typing-extensions>=3.7.4; python_version < "3.11" and extra == "test"
|
|
50
|
-
Requires-Dist: furo>=
|
|
51
|
-
Requires-Dist: sphinx~=
|
|
49
|
+
Requires-Dist: furo>=2023.5.20; extra == "docs"
|
|
50
|
+
Requires-Dist: sphinx~=6.2; extra == "docs"
|
|
52
51
|
Requires-Dist: sphinx-copybutton>=0.5.0; extra == "docs"
|
|
53
52
|
Requires-Dist: sphinx-design>=0.1.0; extra == "docs"
|
|
54
53
|
Requires-Dist: sphinxext-opengraph>=0.7.0; extra == "docs"
|
|
@@ -63,8 +62,8 @@ Description-Content-Type: text/x-rst
|
|
|
63
62
|
meson-python
|
|
64
63
|
============
|
|
65
64
|
|
|
66
|
-
``meson-python`` is a Python build
|
|
67
|
-
build system. It enables
|
|
65
|
+
``meson-python`` is a Python build back-end built on top of the Meson__
|
|
66
|
+
build system. It enables using Meson for the configuration and build
|
|
68
67
|
steps of Python packages. Meson is an open source build system meant
|
|
69
68
|
to be both extremely fast, and, even more importantly, as user
|
|
70
69
|
friendly as possible. ``meson-python`` is best suited for building
|
|
@@ -77,6 +76,6 @@ discussions__ space on GitHub. Bug reports and feature requests can be
|
|
|
77
76
|
filed as GitHub issues__.
|
|
78
77
|
|
|
79
78
|
__ https://mesonbuild.com/
|
|
80
|
-
__ https://meson-python
|
|
79
|
+
__ https://mesonbuild.com/meson-python/
|
|
81
80
|
__ https://github.com/mesonbuild/meson-python/discussions/
|
|
82
81
|
__ https://github.com/mesonbuild/meson-python/issues/
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
meson-python
|
|
6
6
|
============
|
|
7
7
|
|
|
8
|
-
``meson-python`` is a Python build
|
|
9
|
-
build system. It enables
|
|
8
|
+
``meson-python`` is a Python build back-end built on top of the Meson__
|
|
9
|
+
build system. It enables using Meson for the configuration and build
|
|
10
10
|
steps of Python packages. Meson is an open source build system meant
|
|
11
11
|
to be both extremely fast, and, even more importantly, as user
|
|
12
12
|
friendly as possible. ``meson-python`` is best suited for building
|
|
@@ -19,6 +19,6 @@ discussions__ space on GitHub. Bug reports and feature requests can be
|
|
|
19
19
|
filed as GitHub issues__.
|
|
20
20
|
|
|
21
21
|
__ https://mesonbuild.com/
|
|
22
|
-
__ https://meson-python
|
|
22
|
+
__ https://mesonbuild.com/meson-python/
|
|
23
23
|
__ https://github.com/mesonbuild/meson-python/discussions/
|
|
24
24
|
__ https://github.com/mesonbuild/meson-python/issues/
|
|
@@ -11,6 +11,36 @@
|
|
|
11
11
|
Changelog
|
|
12
12
|
+++++++++
|
|
13
13
|
|
|
14
|
+
0.16.0
|
|
15
|
+
======
|
|
16
|
+
|
|
17
|
+
- Correctly detect a wheel shipping shared libraries as being platform
|
|
18
|
+
dependent also when it does not ship compiled executables or Python
|
|
19
|
+
extension modules.
|
|
20
|
+
- Use 11.0 as minimum macOS platform ABI tag on arm64: lower versions
|
|
21
|
+
do not exist on arm64.
|
|
22
|
+
- Improve parsing of the ``$ARCHFLAGS`` environment
|
|
23
|
+
variable. Correctly handle repeated ``-arch`` flags.
|
|
24
|
+
- Do not break when trying to log filename containing Unicode
|
|
25
|
+
characters that cannot be encoded in the encoding used by the
|
|
26
|
+
standard output stream.
|
|
27
|
+
- Drop dependency on ``colorama`` on Windows.
|
|
28
|
+
- Suppress all uses of ANSI terminal escapes when logging to a stream
|
|
29
|
+
that does not support them.
|
|
30
|
+
- Fix ANSI escape coloring of error messages.
|
|
31
|
+
- Respect the ``exclude_dirs`` and ``exclude_files`` arguments passed
|
|
32
|
+
to the ``install_subdir()`` Meson function in editable installs too.
|
|
33
|
+
- Make ``pkgutil.iter_packages()`` work properly for modules loaded
|
|
34
|
+
from editable installs.
|
|
35
|
+
- Add support for the ``custom_target()`` Meson function installing a
|
|
36
|
+
directory.
|
|
37
|
+
- In editable installs, when a rebuild is triggered on module import,
|
|
38
|
+
emit a message indicating that the package is being rebuilt but
|
|
39
|
+
suppress any output when there is no work to do.
|
|
40
|
+
|
|
41
|
+
Daniele Nicolodi, Loïc Estève, Ralf Gommers --- 16-04-2024
|
|
42
|
+
|
|
43
|
+
|
|
14
44
|
0.15.0
|
|
15
45
|
======
|
|
16
46
|
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
# add these directories to sys.path here. If the directory is relative to the
|
|
15
15
|
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
|
16
16
|
|
|
17
|
+
import datetime
|
|
17
18
|
import os
|
|
18
19
|
import sys
|
|
19
20
|
sys.path.insert(0, os.path.abspath('..'))
|
|
@@ -23,7 +24,7 @@ import mesonpy
|
|
|
23
24
|
# -- Project information -----------------------------------------------------
|
|
24
25
|
|
|
25
26
|
project = 'meson-python'
|
|
26
|
-
copyright = '2021
|
|
27
|
+
copyright = f'2021\N{EN DASH}{datetime.date.today().year} The meson-python developers'
|
|
27
28
|
|
|
28
29
|
# The short X.Y version
|
|
29
30
|
version = mesonpy.__version__
|
|
@@ -92,7 +93,7 @@ html_theme_options = {
|
|
|
92
93
|
|
|
93
94
|
# Open Graph
|
|
94
95
|
|
|
95
|
-
ogp_site_url = 'https://meson-python
|
|
96
|
+
ogp_site_url = 'https://mesonbuild.com/meson-python/'
|
|
96
97
|
ogp_site_name = 'meson-python documentation'
|
|
97
98
|
|
|
98
99
|
|
|
@@ -14,7 +14,7 @@ All releases are PGP signed with one of the keys listed in the
|
|
|
14
14
|
there, and preferably signed by one of the other key holders.
|
|
15
15
|
|
|
16
16
|
If your key is not signed by one of the other key holders, please make sure the
|
|
17
|
-
PR that added your key to the :
|
|
17
|
+
PR that added your key to the :doc:`../about` page was approved by at least one
|
|
18
18
|
other maintainer.
|
|
19
19
|
|
|
20
20
|
After that is done, you may release the project by following these steps:
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
.. SPDX-FileCopyrightText: 2023 The meson-python developers
|
|
2
|
+
..
|
|
3
|
+
.. SPDX-License-Identifier: MIT
|
|
4
|
+
|
|
5
|
+
.. _how-to-guides-config-settings:
|
|
6
|
+
|
|
7
|
+
***************************
|
|
8
|
+
Using build config settings
|
|
9
|
+
***************************
|
|
10
|
+
|
|
11
|
+
Build config settings can be used to customize some aspects of the
|
|
12
|
+
build. See the :doc:`../reference/config-settings` reference for a list
|
|
13
|
+
of the settings implemented by ``meson-python``.
|
|
14
|
+
|
|
15
|
+
How build config settings are specified depends on the Python package
|
|
16
|
+
build front-end used. The most popular build front-end are `build`_ and
|
|
17
|
+
`pip`_. These use the ``--config-settings`` long command line option or
|
|
18
|
+
the ``-C`` short command line option:
|
|
19
|
+
|
|
20
|
+
.. tab-set::
|
|
21
|
+
|
|
22
|
+
.. tab-item:: pypa/buid
|
|
23
|
+
:sync: key_pypa_build
|
|
24
|
+
|
|
25
|
+
.. code-block:: console
|
|
26
|
+
|
|
27
|
+
$ python -m build \
|
|
28
|
+
-Csetup-args="-Doption=true" \
|
|
29
|
+
-Csetup-args="-Dvalue=1" \
|
|
30
|
+
-Ccompile-args="-j6"
|
|
31
|
+
|
|
32
|
+
.. tab-item:: pip
|
|
33
|
+
:sync: key_pip
|
|
34
|
+
|
|
35
|
+
.. code-block:: console
|
|
36
|
+
|
|
37
|
+
$ python -m pip wheel . \
|
|
38
|
+
--config-settings=setup-args="-Doption=disable" \
|
|
39
|
+
--config-settings=compile-args="-j6"
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
Refer to the `build`_ and `pip`_ documentation for details. This
|
|
43
|
+
example uses the ``python -m pip wheel`` command to build a Python wheel
|
|
44
|
+
that can be later installed or distributed. To build a package and
|
|
45
|
+
immediately install it, replace ``wheel`` with ``install``. See the
|
|
46
|
+
:ref:`how-to-guides-meson-args` guide for more examples.
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
.. admonition:: Passing multiple settings
|
|
50
|
+
:class: caution
|
|
51
|
+
|
|
52
|
+
Please note that ``pip`` prior to 23.1 did not offer a way to set a
|
|
53
|
+
build config setting to a list of strings: later values for the
|
|
54
|
+
same key passed to ``--config-settings`` override earlier ones,
|
|
55
|
+
effectively limiting the number of options that can be passed to
|
|
56
|
+
each command invoked in the build process to one. This limitation
|
|
57
|
+
has been lifted in ``pip`` release 23.1.
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
.. _build: https://pypa-build.readthedocs.io/en/stable/
|
|
61
|
+
.. _pip: https://pip.pypa.io/
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
.. SPDX-FileCopyrightText: 2022 The meson-python developers
|
|
2
|
+
..
|
|
3
|
+
.. SPDX-License-Identifier: MIT
|
|
4
|
+
|
|
5
|
+
:hide-toc:
|
|
6
|
+
|
|
7
|
+
************
|
|
8
|
+
meson-python
|
|
9
|
+
************
|
|
10
|
+
|
|
11
|
+
.. highlights::
|
|
12
|
+
|
|
13
|
+
A Python package build backend leveraging the Meson build system.
|
|
14
|
+
|
|
15
|
+
``meson-python`` implement the Python build system hooks, enabling Python build
|
|
16
|
+
front-ends such as ``pip`` and ``build`` to build and install Python packages
|
|
17
|
+
based on a Meson_ build definition.
|
|
18
|
+
|
|
19
|
+
Meson is characterized by build definitions written in a very readable
|
|
20
|
+
domain-specific language and extremely fast builds. Meson support for Windows,
|
|
21
|
+
macOS, Linux, and other UNIX-like operative systems, and for all the major
|
|
22
|
+
compiler tool-chains. It allows to compile and link together code written in
|
|
23
|
+
many programming languages, including C, C++, Cython, D, Fortran, Objective C,
|
|
24
|
+
and Rust. It has built-in multi-platform dependency provider that works well
|
|
25
|
+
with distribution packages, and the capability to build dependencies as
|
|
26
|
+
sub-projects. If you are not familiar with Meson, we recommend checking the
|
|
27
|
+
`Meson tutorial`_.
|
|
28
|
+
|
|
29
|
+
``meson-python`` inherits the strengths of Meson and is thus best suited for
|
|
30
|
+
Python packages building extension modules in compiled languages.
|
|
31
|
+
``meson-python`` is suitable for small packages as well as very complex ones,
|
|
32
|
+
see our :ref:`projects-using-meson-python` directory.
|
|
33
|
+
|
|
34
|
+
To enable ``pip`` or ``build`` to build a Python source distribution (*sdist*)
|
|
35
|
+
or a binary Python package (*wheel*) for a Meson project, it is sufficient to
|
|
36
|
+
add to the root of the source tree next to the top-level ``meson.build`` a
|
|
37
|
+
``pyproject.toml`` file specifying ``meson-python`` as the Python build
|
|
38
|
+
backend:
|
|
39
|
+
|
|
40
|
+
.. code-block:: toml
|
|
41
|
+
|
|
42
|
+
[build-system]
|
|
43
|
+
build-backend = 'mesonpy'
|
|
44
|
+
requires = ['meson-python']
|
|
45
|
+
|
|
46
|
+
The package name and version are extracted from the metadata provided to Meson
|
|
47
|
+
via the ``project()`` function in the ``meson.build`` file. Package metadata
|
|
48
|
+
can be overridden and extended using the standard package metadata format in the
|
|
49
|
+
``project`` section of ``pyproject.toml``:
|
|
50
|
+
|
|
51
|
+
.. code-block:: toml
|
|
52
|
+
|
|
53
|
+
[project]
|
|
54
|
+
name = 'example'
|
|
55
|
+
version = '1.0.0'
|
|
56
|
+
description = 'Example package using the meson-python build backend'
|
|
57
|
+
readme = 'README.rst'
|
|
58
|
+
license = {file = 'LICENSE.txt'}
|
|
59
|
+
authors = [
|
|
60
|
+
{name = 'Au Thor', email = 'author@example.com'},
|
|
61
|
+
]
|
|
62
|
+
|
|
63
|
+
[project.scripts]
|
|
64
|
+
example = 'example.cli:main'
|
|
65
|
+
|
|
66
|
+
Please refer to the `PyPA documentation`_ for detailed documentation about the
|
|
67
|
+
``pyproject.toml`` file. Please refer to our :ref:`tutorial` for guidance about
|
|
68
|
+
the use of ``meson-python`` and Meson for Python packaging.
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
.. _Meson: https://mesonbuild.com/
|
|
72
|
+
.. _PyPA documentation: https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
|
|
73
|
+
.. _Meson tutorial: https://mesonbuild.com/Tutorial.html
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
.. toctree::
|
|
77
|
+
:hidden:
|
|
78
|
+
|
|
79
|
+
tutorials/introduction
|
|
80
|
+
how-to-guides/editable-installs
|
|
81
|
+
how-to-guides/config-settings
|
|
82
|
+
how-to-guides/meson-args
|
|
83
|
+
how-to-guides/debug-builds
|
|
84
|
+
reference/limitations
|
|
85
|
+
projects-using-meson-python
|
|
86
|
+
|
|
87
|
+
.. toctree::
|
|
88
|
+
:caption: Reference
|
|
89
|
+
:hidden:
|
|
90
|
+
|
|
91
|
+
reference/config-settings
|
|
92
|
+
reference/pyproject-settings
|
|
93
|
+
reference/environment-variables
|
|
94
|
+
explanations/default-options
|
|
95
|
+
reference/meson-compatibility
|
|
96
|
+
|
|
97
|
+
.. toctree::
|
|
98
|
+
:caption: Project
|
|
99
|
+
:hidden:
|
|
100
|
+
|
|
101
|
+
changelog
|
|
102
|
+
about
|
|
103
|
+
contributing/index
|
|
104
|
+
Discussions <https://github.com/mesonbuild/meson-python/discussions>
|
|
105
|
+
Source Code <https://github.com/mesonbuild/meson-python>
|
|
106
|
+
Issue Tracker <https://github.com/mesonbuild/meson-python/issues>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
.. SPDX-FileCopyrightText: 2023 The meson-python developers
|
|
2
|
+
..
|
|
3
|
+
.. SPDX-License-Identifier: MIT
|
|
4
|
+
|
|
5
|
+
.. _projects-using-meson-python:
|
|
6
|
+
|
|
7
|
+
********
|
|
8
|
+
Examples
|
|
9
|
+
********
|
|
10
|
+
|
|
11
|
+
The following project use ``meson-python`` for their build system known to be
|
|
12
|
+
adhering to best practices
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
:`SciPy <https://github.com/scipy/scipy>`_: Probably the most complex
|
|
16
|
+
project using Meson and ``meson-python``. It combines CPython
|
|
17
|
+
extensions and libraries written in C, C++, Fortran, Cython_, and
|
|
18
|
+
Pythran_.
|
|
19
|
+
|
|
20
|
+
:`scikit-image <https://github.com/scikit-image/scikit-image>`_:
|
|
21
|
+
Another complex project using ``meson-python``.
|
|
22
|
+
|
|
23
|
+
:`siphash24 <https://github.com/dnicolodi/python-siphash24>`_: A very
|
|
24
|
+
simple project. It demonstrates how Meson makes it trivial to
|
|
25
|
+
compile a CPython extension written in `Cython`_ via a simple
|
|
26
|
+
template engine and link it to a library compiled from a Meson
|
|
27
|
+
subproject. Also an example of how to use `cibuildwheel`_ to
|
|
28
|
+
produce Python wheels for several platforms.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
.. _Cython: https://github.com/cython/cython
|
|
32
|
+
.. _Pythran: https://github.com/serge-sans-paille/pythran
|
|
33
|
+
.. _cibuildwheel: https://github.com/pypa/cibuildwheel
|