You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+37-12Lines changed: 37 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# ESP idf-python-wheels
1
+
# ESPRESSIF'S IDF PYTHON WHEELS
2
2
3
3
This project automates the build and upload process of required Python Wheels by [ESP-IDF]. The wheels for multiple OSes and architectures are being built.
4
4
@@ -20,21 +20,46 @@ Supported Python versions:
20
20
* 3.12
21
21
* 3.13
22
22
23
-
For each `release` branch of [ESP-IDF] starting from the version defined in GitHub variables and [ESP-IDF]`master` branch all the requirements and constraints files are automatically downloaded and wheels are built and uploaded.
24
-
25
-
26
-
## Configuration
27
-
`MIN_IDF_MAJOR_VERSION` and `MIN_IDF_MINOR_VERSION` GitHub variables can be set in project settings
28
-
to change the [ESP-IDF]`release` branches to build wheels for. If these variables are not set (not in the environment for [build-wheels-platforms.yml](./.github/workflows/build-wheels-platforms.yml)), the default values specified in [build_wheels.py](./build_wheels.py) are used.
29
-
30
-
31
-
## Usage of manual wheels build - defined wheels workflow
23
+
> [!NOTE]
24
+
> This list of supported Python versions is automatically updated by [update_readme_versions.py](./update_readme_versions.py) script and [update-readme.yml](./.github/workflows/update-readme.yml) workflow.
25
+
26
+
For each `release` branch of [ESP-IDF] which is not EOL and [ESP-IDF]`master` branch, all the requirements and constraints files are automatically downloaded and wheels are built and uploaded.
27
+
28
+
29
+
## COMPLETELY AUTOMATED
30
+
This repository has been completely automated. All the supported versions of [ESP-IDF] and Python versions are fetch and resolved automatically. The implementation of this logic is in the [supported_versions.py](./supported_versions.py) script and [get-supported-versions.yml](./.github/workflows/get-supported-versions.yml) workflow.
31
+
32
+
### Supported versions action
33
+
This workflow is reusable action and it is possible to be called in other projects - it will generate `supported_versions.json` file with the following structure, which can be parsed and used in caller workflow to avoid developer interaction of changing the supported versions.
34
+
35
+
{
36
+
"supported_idf": [
37
+
"v5.5",
38
+
"v5.4",
39
+
"v5.3",
40
+
"v5.2",
41
+
"v5.1"
42
+
],
43
+
"oldest_supported_idf": "v5.1",
44
+
"supported_python": [
45
+
"3.13",
46
+
"3.12",
47
+
"3.11",
48
+
"3.10",
49
+
"3.9",
50
+
"3.8"
51
+
],
52
+
"oldest_supported_python": "3.8"
53
+
}
54
+
55
+
56
+
## USAGE OF MANUAL WHEELS BUILD - [DEFINED WHEELS WORKFLOW](./.github/workflows/build-wheels-defined.yml)
32
57
If there is a need to manually build and upload wheels the `defined-wheels` workflow can be used for this. The pip package needs to be specified with marker support (e.g. coredump~=1.2;sys_platform!='win32') and check the architectures which should be wheels built and uploaded for. Multiple wheels can be separated by space.
33
58
34
59
Then the wheels are built and uploaded for all supported Python versions.
35
60
36
61
37
-
## Requirements lists
62
+
## REQUIREMENTS LISTS
38
63
These lists are files for requirements that should be added or excluded from the main requirements list which is automatically assembled.
39
64
40
65
### exclude_list.yaml
@@ -84,7 +109,7 @@ File for the requirements needed for the build process and the build script.
84
109
### os_dependencies
85
110
When there is a need for additional OS dependencies to successfully build the wheels on a specific platform and architecture, the `.sh` script in the `os_dependencies` directory can be adjusted.
86
111
87
-
## Activity diagram
112
+
## ACTIVITY DIAGRAM
88
113
The main file is `build-wheels-platforms.yml` which is scheduled to run periodically to build Python wheels for any requirement of all [ESP-IDF]-supported versions.
0 commit comments