Skip to main content

NuttX Build System Assistant

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ntxbuild-1.0.0.tar.gz (57.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ntxbuild-1.0.0-py3-none-any.whl (36.1 kB view details)

Uploaded Python 3

File details

Details for the file ntxbuild-1.0.0.tar.gz.

File metadata

  • Download URL: ntxbuild-1.0.0.tar.gz
  • Upload date:
  • Size: 57.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ntxbuild-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6c0e7e5ff2d5ce24ecf87d5454b694e15daa6afa43c5a8a49b261a260526d652
MD5 430898aec6dc017ef205134ee999a3de
BLAKE2b-256 4bbd65226db7c259c78d04c9d3d10b7d1643d36b1a64bddfbf37525db7e7c027

See more details on using hashes here.

Provenance

The following attestation bundles were made for ntxbuild-1.0.0.tar.gz:

Publisher: publish-pypi.yml on fdcavalcanti/ntxbuild

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ntxbuild-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ntxbuild-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 36.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ntxbuild-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e107e8813d0b01a36ea19908add0cd9006b1dcca8817107d484c298d9ead15f5
MD5 05f1f8a960f2b189e4c1cc9f80c65d02
BLAKE2b-256 75368052a85e0d04ce0b929e854460d755b1e34105f56ab5390a92df179c49d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ntxbuild-1.0.0-py3-none-any.whl:

Publisher: publish-pypi.yml on fdcavalcanti/ntxbuild

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page