mirror of
https://github.com/micropython/micropython.git
synced 2025-12-15 17:30:14 +01:00
MicroPython has quite a few ports now (20 of them), but not all are in the same stage of development. This commit attempts to define port Tier levels and assign a Tier to each of the existing ports. The main aim here is to set expectations for the level of support and development each port gets. And also lower the bar of entry for new ports so they can enter at a low Tier and gradually rise up to Tier 1. See prior art here: - https://peps.python.org/pep-0011/ - https://doc.rust-lang.org/rustc/target-tier-policy.html - https://docs.zephyrproject.org/latest/project/release_process.html#hardware-support-tiers Signed-off-by: Damien George <damien@micropython.org> Signed-off-by: Angus Gratton <angus@redyak.com.au>
69 lines
2.6 KiB
ReStructuredText
69 lines
2.6 KiB
ReStructuredText
MicroPython Support Tiers
|
|
=========================
|
|
|
|
MicroPython operates with a set of Support Tier levels for the various ports.
|
|
Tiers 1, 2 and 3 are the main Tier levels with Tier 1 being the most mature and
|
|
actively maintained. There is also Tier M for additional ports used primarily
|
|
for maintenance, development and testing. These Tier levels are defined in the
|
|
table below.
|
|
|
|
.. table::
|
|
:widths: 40 9 9 9 9
|
|
|
|
+-----------------------------------------------+--------+--------+--------+--------+
|
|
| | Tier 1 | Tier 2 | Tier 3 | Tier M |
|
|
+-----------------------------------------------+--------+--------+--------+--------+
|
|
| builds pass under CI | ✔ | ✔ | ✔ | ✔ |
|
|
+-----------------------------------------------+--------+--------+--------+--------+
|
|
| tests run under CI (where possible) | ✔ | ✔ | ✔ | ✔ |
|
|
+-----------------------------------------------+--------+--------+--------+--------+
|
|
| actively maintained | ✔ | ✔ | | ✔ |
|
|
+-----------------------------------------------+--------+--------+--------+--------+
|
|
| stable Python API | ✔ | ✔ | | |
|
|
+-----------------------------------------------+--------+--------+--------+--------+
|
|
| new features actively developed | ✔ | ✔ | | |
|
|
+-----------------------------------------------+--------+--------+--------+--------+
|
|
| tested on hardware for releases | ✔ | ✔ | | |
|
|
+-----------------------------------------------+--------+--------+--------+--------+
|
|
| prioritized bug reports | ✔ | | | ✔ |
|
|
+-----------------------------------------------+--------+--------+--------+--------+
|
|
| regressions warrant a patch release | ✔ | | | ✔ |
|
|
+-----------------------------------------------+--------+--------+--------+--------+
|
|
| has port-specific documentation | ✔ | | | |
|
|
+-----------------------------------------------+--------+--------+--------+--------+
|
|
|
|
Lower Tiers may tick more boxes, but the above table defines the minimum requirements
|
|
for a port to belong to a Tier.
|
|
|
|
Tier 1 ports:
|
|
|
|
- esp32
|
|
- mimxrt
|
|
- rp2
|
|
- samd
|
|
- stm32
|
|
- unix
|
|
- windows
|
|
|
|
Tier 2 ports:
|
|
|
|
- alif
|
|
- embed
|
|
- nrf
|
|
- renesas-ra
|
|
- webassembly
|
|
- zephyr
|
|
|
|
Tier 3 ports:
|
|
|
|
- cc3200
|
|
- esp8266
|
|
- pic16bit
|
|
- powerpc
|
|
|
|
Tier M ports:
|
|
|
|
- bare-arm
|
|
- minimal
|
|
- qemu
|