mesonpy 
Python build backend (PEP 517) for Meson projects.
Usage
Enabling the build backend
To use this build backend, you must specify it in your pyproject.toml file.
[build-system]
build-backend = 'mesonpy'
requires = [
'meson-python',
]
If you have any other build dependencies, you must also add them to the
requires list.
Specifying the project metadata
mesonpy supports specifying Python package metadata in the project table in
pyproject.toml (PEP 621).
To do so, you just need to add a project section with the details you want to
specify (see PEP 621 for the
specification of the format).
...
[project]
name = 'orion'
version = '1.2.3'
description = 'The Orion constellation!'
readme = 'README.md'
license = { file = 'LICENSE' }
keyword = ['constellation', 'stars', 'sky']
authors = [
{ name = 'Filipe Laíns', email = 'lains@riseup.net' },
]
classifiers = [
'Development Status :: 4 - Beta',
'Programming Language :: Python',
]
requires-python = '>=3.7'
dependencies = [
'stars >= 1.0.0',
'location < 3',
]
[project.optional-dependencies]
test = [
'pytest >= 3',
'telescope',
]
[project.urls]
homepage = 'https://constellations.example.com/orion'
repository = 'https://constellations.example.com/orion/repo'
documentation = 'https://constellations.example.com/orion/docs'
changelog = 'https://constellations.example.com/orion/docs/changelog.html'
In case you want mesonpy to detect the version automatically from Meson, you
can omit the version field and add it to project.dynamic.
[project]
name = 'orion'
dynamic = [
'version',
]
...
Automatic metadata
If no other metadata is specified, mesonpy will fetch the project name and
version from Meson. In which case, you don't need to add anything else to your
pyproject.toml file.
This is not recommended. Please consider specifying the Python package metadata.
Status
- Pure Python modules 👍
- Native modules
- Don't link against anything 👍
- Link aginst external libraries 👍
- Link aginst libraries from the Meson project 👍
- Detect the ABI 👍
- Scripts (executables in Meson)
- Don't link aginst anything 👍
- Link against external libraries 👍
- Link against libraries from the Meson project 🔨
Platform Support
- Linux 👍
- Windows 🔜
- MacOS 🔜
- Other UNIX-like ⚠️
- Most platforms should work, but currently that is not tested or guaranteed
Limitations
No data
Data (install_data)
is not supported by the wheel standard. Project should install data as Python
source instead (Python source does not have to be only Python files!) and use
importlib.resources
(or the importlib_resources
backport) to access the data. If you really need the data to be installed where
it was previously (eg. /usr/data), you can do so at runtime.
Release files for meson-python 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| meson_python-0.2.1.tar.gz | 26.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| meson_python-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.1 kB
Release files / meson_python-0.2.1.tar.gz
| Download URL | meson_python-0.2.1.tar.gz |
|---|---|
| Size | 26.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3094f3b90ef3ca54c08c1068977d9aa4cb2dff7a546e85f52178833a135020fb
|
|
BLAKE2b-256 checksum How to use checksums |
9c65b85b46e7fd68079c7716403070eb55957ff1d471fad77024b6c492bc24e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.2
|
Release files / meson_python-0.2.1-py3-none-any.whl
| Download URL | meson_python-0.2.1-py3-none-any.whl |
|---|---|
| Size | 15.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9b5ff5d7c577e4bae36c401b27f8c77fbc2f3f529901cfae9729b5cd6faa10ab
|
|
BLAKE2b-256 checksum How to use checksums |
cd74abbee31dbfe4b21963e9465e2cd4c7437bd151ac766340a485b066b84652
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.2
|