Skip to content

[FEATURE] Python on NuttX: known issues, "TO-DO" list, and general enhancements #2884

@tmedicci

Description

@tmedicci

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

  1. Python for NuttX target initially the rv-virt (RISC-V QEMU). That being said, its interpreters/python/config.site and interpreters/python/Setup.local are somehow tied with the features enabled by the boards/risc-v/qemu-rv/rv-virt/configs/cpython/defconfig. Python for NuttX depends on CONFIG_EXPERIMENTAL!
  2. Python modules are stored in pyc (byte-code format) and are loaded from a ROMFS image at startup.
  3. Environment variables like PYTHONHOME and PYTHON_BASIC_REPL needs 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):

  • Provide a CMake-based build: currently we can only build it using Make.
  • 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.
  • Support Python's socket module. This is one of the most important modules to enable Python applications with POSIX-compatible sockets .

Known Issues

Describe alternatives you've considered

No response

Verification

  • I have verified before submitting the report.

Metadata

Metadata

Assignees

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions