Configuration
OZI.build only supports reading configuration from pyproject.toml.
This file lives at the root of the module/package, at the same place
as the toplevel meson.build file.
Build system table
This tells tools like pip to build your project with flit. It’s a standard defined by PEP 517. For any project using OZI.build, it will look something like this:
[build-system]
requires = ["OZI.build[core]~=1.9"]
build-backend = "ozi_build.buildapi"
Project table
This holds the essential project metadata that is outside of the meson.build file.
Some keys remain in the project table for improved cross-compatibility.
It should look similar to this in an OZI.build project:
[project]
name = "project_name"
dynamic = ["version"]
dependencies = [
'TAP-Producer~=1.0.4',
]
[project.license]
file = "LICENSE.txt"
[project.optional-dependencies]
...
NOTE: The project version and name are extracted from the
meson.buildproject()table.
classifiers
A list of classifiers.
dependencies
A list of requirements.
description
A short project summary.
dynamic
A list of other headers to be treated as dynamic fields.
entry-points
A collection of tables. Each sub-table name is an entry point group. For example:
[project.entry-points."otio"]
view = "opentimelineview.console:main"
cat = "opentimelineio.console.otiocat:main"
convert = "opentimelineio.console.otioconvert:main"
stat = "opentimelineio.console.otiostat:main"
autogen_serialized_schema_docs = "opentimelineio.console.autogen_serialized_datamodel:main"
gui-scripts
A table of entry point names mapped to modules. For example:
[project.gui-scripts]
otioview = "opentimelineview.console:main"
otiocat = "opentimelineio.console.otiocat:main"
otioconvert = "opentimelineio.console.otioconvert:main"
otiostat = "opentimelineio.console.otiostat:main"
otioautogen_serialized_schema_docs = "opentimelineio.console.autogen_serialized_datamodel:main"
keywords
Comma-separated keywords as a string.
license
Text indicating the license covering the distribution. This text can be either a valid license expression as defined in pep639 or any free text.
license-files
An array of license filenames.
maintainers
A collection of tables with keys ‘name’ and ‘email’.
name
The non-normalized package name.
optional-dependencies
A mapping of optional dependency group names to lists of requirements.
readme
A string of the readme filename or a table with keys file and content-type.
requires-python
A version specifier for the versions of Python this requires, e.g. ~=3.3 or
>=3.3,<4 which are equivalents.
scripts
A table of entry point names mapped to modules.
For example:
[project.scripts]
otioview = "opentimelineview.console:main"
otiocat = "opentimelineio.console.otiocat:main"
otioconvert = "opentimelineio.console.otioconvert:main"
otiostat = "opentimelineio.console.otiostat:main"
otioautogen_serialized_schema_docs = "opentimelineio.console.autogen_serialized_datamodel:main"
urls
A table of labels mapped to urls. For example:
[project.urls]
Source = "https://github.com/OZI-Project/OZI.build"
version
The current package version.
OZI.build configuration
This table is called [tool.ozi-build] in the file.
meson-options
A list of default meson options to set, can be overridden and expanded through the MESON_ARGS
environment variable at build time.
meson-dist-options
A list of default meson dist options to set at build time.
meson-python-option-name
The name of the meson options that is used in the meson build definition
to set the python installation when using
python.find_installation().
sign-wheel-files
Added in version 2.2: Sign wheel RECORD files with JWS (JSON Web Signature).
! NOTE: Requires WHEEL_SIGN_TOKEN environment variable to be set.
metadata
Table of additional, rarely used packaging metadata.
platforms
Supported Python platforms, can be ‘any’, py3, etc…
pure-python-abi
An override of the pure python abi build target e.g. py3-none.
pyc_wheel
Table of options for pyc_wheel.
Metadata table
This table is called [tool.ozi-build.metadata] in the file.
obsoletes
A list of PyPI packages that this project should not be installed concurrently with.
obsoletes = [
"OtherProject",
"AnotherProject==3.4",
'virtual_package; python_version >= "3.4"',
]
provides
A list of PyPI packages that this project provides its own version of.
provides = [
"OtherProject",
"AnotherProject==3.4",
'virtual_package; python_version >= "3.4"',
]
requires-external
A list of non-PyPI dependency packages. For example:
requires-external = [
"git",
"node",
]
pyc_wheel configuration
This table is called [tool.ozi-build.pyc_wheel] in the file.
exclude
A regular expression of files for pyc_wheel to ignore.
quiet
Quiet non-error output of pyc_wheel.