Skip to content

Repository files navigation

ntxbuild

PyPI Python 3.10+ Linux CI Docs License

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.

Installation

Install from PyPI:

python -m pip install ntxbuild

Features

  • 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.

Requirements

  • Python 3.10+
  • NuttX source code and applications
  • Make and standard build tools required by NuttX
  • CMake (optional)

Quick Start

Build with the CLI

Create a workspace and download NuttX and NuttX Apps:

mkdir -p ~/nuttxspace
cd ~/nuttxspace
ntxbuild download

Build the simulator using the nsh defconfig:

ntxbuild start sim nsh
ntxbuild build --parallel 8

Build with Python

from 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()

Install toolchains

ntxbuild toolchain install gcc-arm-none-eabi

Documentation

Full documentation (usage and API reference): https://ntxbuild.readthedocs.io

Support

Contributing

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-commit is 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]"

License

This project is licensed under the terms in LICENSE.

About

A Python tool for managing and building NuttX RTOS projects with ease.

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages