ntxbuild
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
- Report bugs or request features in GitHub Issues.
- For usage details, see the documentation.
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-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]"
License
This project is licensed under the terms in LICENSE.
Metadata
Release files for ntxbuild 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ntxbuild-1.0.0.tar.gz | 57.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ntxbuild-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 93.5 kB
Release files / ntxbuild-1.0.0.tar.gz
| Download URL | ntxbuild-1.0.0.tar.gz |
|---|---|
| Size | 57.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6c0e7e5ff2d5ce24ecf87d5454b694e15daa6afa43c5a8a49b261a260526d652
|
|
BLAKE2b-256 checksum How to use checksums |
4bbd65226db7c259c78d04c9d3d10b7d1643d36b1a64bddfbf37525db7e7c027
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 19, 2026.
Transparency logRelease files / ntxbuild-1.0.0-py3-none-any.whl
| Download URL | ntxbuild-1.0.0-py3-none-any.whl |
|---|---|
| Size | 36.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e107e8813d0b01a36ea19908add0cd9006b1dcca8817107d484c298d9ead15f5
|
|
BLAKE2b-256 checksum How to use checksums |
75368052a85e0d04ce0b929e854460d755b1e34105f56ab5390a92df179c49d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 19, 2026.
Transparency log