Repository navigation
[FEATURE] Python on NuttX: known issues, "TO-DO" list, and general enhancements #2884
Copy link
Copy link
Open
Open
Copy link
Labels
Description
Activity
- changed the title
[-][FEATURE] Python on NuttX: "To-Do" list and general enhancements[/-][+][FEATURE] Python on NuttX: Known Issues, "To-Do" list, and general enhancements[/+]on Dec 9, 2024 - changed the title
[-][FEATURE] Python on NuttX: Known Issues, "To-Do" list, and general enhancements[/-][+][FEATURE] Python on NuttX: known issues, "TO-DO" list, and general enhancements[/+]on Dec 9, 2024 Update: Python's socket module is now supported and Python on NuttX can run applications with POSIX-compatible sockets. Please check apache/nuttx#15457 and #2928 for examples.
Reacted by CeDeROM and Xiang XiaoHi, I prepared an article with the technical details of the implementation in my blog. You can check it at:
https://tmedicci.github.io/articles/2025/01/08/python_on_nuttx.html
Reacted by Victor Suarez Rovere- pinned this issue
on Jan 31, 2025 Just submitted a new PR (#2982) that solves two issues on
TO-DO list:- Generate interpreters/python/Setup.local and interpreters/python/config.site dynamically according to the enabled configs. For instance: export ac_cv_func_pipe="yes" depends on CONFIG_PIPES being enabled.
- Create a wrapper application to automate the 1) mounting the ROMFS image with the Python's modules, 2) setting the environment variables and 3) running the Program/python.c app.
Reacted by CeDeROM and Lars Kruse- added and removedType: EnhancementNew feature or requestNew feature or request
on Jan 31, 2025 - added a parent issue
on Feb 1, 2025 Just submitted the support for running Python on ESP32-S3: apache/nuttx#15955
Please check the following article for more detailed explanation and example: Running Python on ESP32-S3 with NuttX
Reacted by CeDeROMUpdate:
pipsupport was enabled for RISC-V QEMU at #3487(Still need help to make it run faster and lower its final size on flash)
Reacted by CeDeROM and Arnav SharmaReacted by CeDeROM
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsIn Progress
Is your feature request related to a problem? Please describe.
After #2879 was merged, it's time to make Python on NuttX fully usable!
This issue intends to discuss the next steps required to make it fully functional, including a "To-Do" list and any discussions on how it would evolve to support other architectures and platforms.
Initial Considerations
rv-virt(RISC-V QEMU). That being said, itsinterpreters/python/config.siteandinterpreters/python/Setup.localare somehow tied with the features enabled by theboards/risc-v/qemu-rv/rv-virt/configs/cpython/defconfig. Python for NuttX depends onCONFIG_EXPERIMENTAL!pyc(byte-code format) and are loaded from a ROMFS image at startup.PYTHONHOMEandPYTHON_BASIC_REPLneeds to be set accordingly.Describe the solution you'd like
TO-DO list:
This is the list of the next steps to make Python's port fully functional (sorted by highest priority):
Make.interpreters/python/Setup.localandinterpreters/python/config.sitedynamically according to the enabled configs. For instance:export ac_cv_func_pipe="yes"depends onCONFIG_PIPESbeing enabled.Program/python.capp.Known Issues
Python/Modules/getpath.c. Reported at https://github.com/apache/incubator-nuttx-apps/blob/efc1bf710c8be1e0f0ae5e1bf2b292f8b57076a6/interpreters/python/Makefile#L86 (valid forriscv-none-elf-gcc (xPack GNU RISC-V Embedded GCC x86_64) 13.2.0)Describe alternatives you've considered
No response
Verification