diff options
author | Damien George <damien@micropython.org> | 2025-03-02 23:52:13 +1100 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2025-03-05 12:23:40 +1100 |
commit | f5b4545761dbbce0c00dec6d90d180663a61eaa4 (patch) | |
tree | 9c1dcdb1c74fb05eaef5683ae1d72e9a05b3384d /docs | |
parent | b4cf82b2d62c60c5e6e10d8d23c6b099b96c6f75 (diff) | |
download | micropython-f5b4545761dbbce0c00dec6d90d180663a61eaa4.tar.gz micropython-f5b4545761dbbce0c00dec6d90d180663a61eaa4.zip |
py/modsys: Add sys.implementation._build entry.
For a given MicroPython firmware/executable it can be sometimes important
to know how it was built, which variant/board configuration it came from.
This commit adds a new field `sys.implementation._build` that can help
identify the configuration that MicroPython was built with.
For now it's either:
* <VARIANT> for unix, webassembly and windows ports
* <BOARD>-<VARIANT> for microcontroller ports (the variant is optional)
In the future additional elements may be added to this string, separated by
a hyphen.
Resolves issue #16498.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/library/sys.rst | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/library/sys.rst b/docs/library/sys.rst index c72214c131..baefd92705 100644 --- a/docs/library/sys.rst +++ b/docs/library/sys.rst @@ -75,6 +75,8 @@ Constants * *version* - tuple (major, minor, micro, releaselevel), e.g. (1, 22, 0, '') * *_machine* - string describing the underlying machine * *_mpy* - supported mpy file-format version (optional attribute) + * *_build* - string that can help identify the configuration that + MicroPython was built with This object is the recommended way to distinguish MicroPython from other Python implementations (note that it still may not exist in the very @@ -83,6 +85,16 @@ Constants Starting with version 1.22.0-preview, the fourth node *releaselevel* in *implementation.version* is either an empty string or ``"preview"``. + The *_build* entry was added in version 1.25.0 and is a hyphen-separated + set of elements. New elements may be appended in the future so it's best to + access this field using ``sys.implementation._build.split("-")``. The + elements that are currently used are: + + * On the unix, webassembly and windows ports the first element is the variant + name, for example ``'standard'``. + * On microcontroller targets, the first element is the board name and the second + element (if present) is the board variant, for example ``'RPI_PICO2-RISCV'`` + .. admonition:: Difference to CPython :class: attention |