Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 25 additions & 40 deletions peps/pep-0739.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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``
---------------

Expand Down Expand Up @@ -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``
-------

Expand Down Expand Up @@ -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``
Expand Down Expand Up @@ -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
Expand Down
6 changes: 2 additions & 4 deletions peps/pep-0739/example.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"schema_version": "1.0",
"base_interpreter": "/usr/bin/python",
"base_prefix": "/usr",
"platform": "linux-x86_64",
"language": {
Expand All @@ -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",
Expand All @@ -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",
Expand Down
30 changes: 10 additions & 20 deletions peps/pep-0739/python-build-info-v1.0.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,14 @@
"description": "Schema version.\n\nThis is a string following the format ``<MAJOR>.<MINOR>``, where ``<MAJOR>`` and ``<MINOR>`` 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.",
Expand Down Expand Up @@ -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.",
Expand Down Expand Up @@ -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"
Expand All @@ -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."
}
Expand Down
Loading