NuttX Build System Assistant for configuring and building NuttX RTOS projects through a CLI and a Python API.
ntxbuild wraps common NuttX tools and workflows, including make, kconfig-tweak, menuconfig, and configure.sh.
It also provides helpers for downloading toolchains, listing boards and defconfigs, and managing build environment paths.
Install from PyPI:
python -m pip install ntxbuild- Environment management: automatic NuttX workspace detection and configuration.
- Python API: script builds directly from Python.
- Real-time output: live build progress with proper ANSI escape sequence handling.
- Configuration management: Kconfig integration for easy configuration.
- Interactive tools: support for curses-based tools such as
menuconfig. - Toolchain support: install and use common toolchains directly from the CLI.
- Python 3.10+
- NuttX source code and applications
- Make and standard build tools required by NuttX
- CMake (optional)
Create a workspace and download NuttX and NuttX Apps:
mkdir -p ~/nuttxspace
cd ~/nuttxspace
ntxbuild downloadBuild the simulator using the nsh defconfig:
ntxbuild start sim nsh
ntxbuild build --parallel 8from pathlib import Path
from ntxbuild.build import MakeBuilder
current_dir = Path.cwd()
# First parameter is the NuttX workspace path, second is the apps directory name.
builder = MakeBuilder(current_dir, "nuttx-apps")
builder.initialize("sim", "nsh")
builder.build(parallel=10)
builder.distclean()ntxbuild toolchain install gcc-arm-none-eabiFull documentation (usage and API reference): https://ntxbuild.readthedocs.io
- Report bugs or request features in GitHub Issues.
- For usage details, see the documentation.
Contributions are welcome and reviewed before merge.
- Tests and documentation are required for new features.
- Dependencies should be kept to a minimum.
- Code linting via
pre-commitis required.
Installing from source:
git clone https://github.com/fdcavalcanti/ntxbuild.git
cd ntxbuild
pip install -e .Optional extras automatically install required development tools or documentation build tools:
pip install -e ".[dev]"
pip install -e ".[docs]"This project is licensed under the terms in LICENSE.