diff --git a/peps/pep-0739.rst b/peps/pep-0739.rst index 9656f38ba15..c0f6a70ea5e 100644 --- a/peps/pep-0739.rst +++ b/peps/pep-0739.rst @@ -115,6 +115,25 @@ below, which is rendered in an human-readable format here. * - Required - **True** +``base_interpreter`` +-------------------- + +.. list-table:: + :widths: 25 75 + + * - Type + - ``string`` + * - Description + - The path to the Python interprer of the base installation. + Either an absolute path, or a relative path to the path defined + in the ``base_prefix`` key. + * - Examples + - - ``/usr/bin/python`` + - ``bin/python`` + - etc. + * - Required + - **False** + ``base_prefix`` --------------- @@ -376,42 +395,6 @@ below, which is rendered in an human-readable format here. * - Required - **True** -``interpreter`` ---------------- - -.. list-table:: - :widths: 25 75 - - * - Type - - ``object`` - * - Description - - Object containing details Python interpreter. - - This section MUST be present if the Python installation provides - an interpreter binary, otherwise this section will be missing. - * - Required - - **False** - * - Additional properties - - **Not allowed** - -``interpreter.path`` -~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :widths: 25 75 - - * - Type - - ``string`` - * - Description - - The path to the Python interprer. Either an absolute path, or a - relative path to the path defined in the ``base_prefix`` key. - * - Examples - - - ``/usr/bin/python`` - - ``bin/python`` - - etc. - * - Required - - **True** - ``abi`` ------- @@ -568,8 +551,10 @@ below, which is rendered in an human-readable format here. defined in the ``base_prefix`` key. This field MUST be present if the Python installation provides a - dynamic ``libpython`` library, otherwise this entry will be - missing. + dynamic ``libpython`` library targetting the Stable ABI, + otherwise this entry will be missing. + + If this key is present ``dynamic`` MUST also be set. * - Examples - - ``/usr/lib/libpython3.so`` - ``lib/libpython3.so`` @@ -600,8 +585,8 @@ below, which is rendered in an human-readable format here. * - Required - **False** -``libpython.link_to_libpython`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +``libpython.link_extensions`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 25 75 diff --git a/peps/pep-0739/example.json b/peps/pep-0739/example.json index f2147bc95f6..f89e247f816 100644 --- a/peps/pep-0739/example.json +++ b/peps/pep-0739/example.json @@ -1,5 +1,6 @@ { "schema_version": "1.0", + "base_interpreter": "/usr/bin/python", "base_prefix": "/usr", "platform": "linux-x86_64", "language": { @@ -25,9 +26,6 @@ "cache_tag": "cpython-314", "_multiarch": "x86_64-linux-gnu" }, - "interpreter": { - "path": "/usr/bin/python" - }, "abi": { "flags": ["t", "d"], "extension_suffix": ".cpython-314-x86_64-linux-gnu.so", @@ -44,7 +42,7 @@ "dynamic": "/usr/lib/libpython3.14.so.1.0", "dynamic_stableabi": "/usr/lib/libpython3.so", "static": "/usr/lib/python3.14/config-3.14-x86_64-linux-gnu/libpython3.14.a", - "link_to_libpython": true + "link_extensions": true }, "c_api": { "headers": "/usr/include/python3.14", diff --git a/peps/pep-0739/python-build-info-v1.0.schema.json b/peps/pep-0739/python-build-info-v1.0.schema.json index 3e0cfd26373..8f8648b52c9 100644 --- a/peps/pep-0739/python-build-info-v1.0.schema.json +++ b/peps/pep-0739/python-build-info-v1.0.schema.json @@ -16,6 +16,14 @@ "description": "Schema version.\n\nThis is a string following the format ``.``, where ```` and ```` are unpaded numbers and represent the **major** and **minor** components of the version. Versions may be arithmetic compared by intrepreting the version string as a decimal number.\n\nFor this specification version, this value is constant and MUST be ``1.0``.\n\nFuture versions of this schema MUST use a higher version number. Future versions of this schema MUST NOT use the same **major** version component as other schema version unless its specification is deemed backwards-compatible with them — it can't change, or extend, any parts of the current specification in such a way as the semantics of the interpreted data differ, or that data valid under the new specification is invalid under the older specification, with the exception of additional properties (errors caused by ``additionalProperties``).", "const": "1.0" }, + "base_interpreter": { + "type": "string", + "description": "The path to the Python interprer of the base installation. Either an absolute path, or a relative path to the path defined in the ``base_prefix`` key.", + "examples": [ + "/usr/bin/python", + "bin/python" + ] + }, "base_prefix": { "type": "string", "description": "Base prefix of the Python installation.\n\nEither an absolute path, or a relative path to directory where this file is contained.", @@ -137,24 +145,6 @@ } } }, - "interpreter": { - "type": "object", - "description": "Object containing details Python interpreter.\n\nThis section MUST be present if the Python installation provides an interpreter binary, otherwise this section will be missing.", - "required": [ - "path" - ], - "additionalProperties": false, - "properties": { - "path": { - "type": "string", - "description": "The path to the Python interprer. Either an absolute path, or a relative path to the path defined in the ``base_prefix`` key.", - "examples": [ - "/usr/bin/python", - "bin/python" - ] - } - } - }, "abi": { "type": "object", "description": "Object containing details related to ABI.", @@ -216,7 +206,7 @@ }, "dynamic_stableabi": { "type": "string", - "description": "The path to the dynamic ``libpython`` library for the stable ABI. Either an absolute path, or a relative path to the path defined in the ``base_prefix`` key.\n\nThis field MUST be present if the Python installation provides a dynamic ``libpython`` library, otherwise this entry will be missing.", + "description": "The path to the dynamic ``libpython`` library for the stable ABI. Either an absolute path, or a relative path to the path defined in the ``base_prefix`` key.\n\nThis field MUST be present if the Python installation provides a dynamic ``libpython`` library targetting the Stable ABI, otherwise this entry will be missing.\n\nIf this key is present ``dynamic`` MUST also be set.", "examples": [ "/usr/lib/libpython3.so", "lib/libpython3.so" @@ -230,7 +220,7 @@ "lib/python3.14/config-3.14-x86_64-linux-gnu/libpython3.14.a" ] }, - "link_to_libpython": { + "link_extensions": { "type": "boolean", "description": "Should extensions built against a dynamic ``libpython`` link to it?\n\nThis field MUST be present if the Python installation provides a dynamic ``libpython`` library, otherwise this entry will be missing." }