NuttX Build System Assistant
Project description
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.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c0e7e5ff2d5ce24ecf87d5454b694e15daa6afa43c5a8a49b261a260526d652
|
|
| MD5 |
430898aec6dc017ef205134ee999a3de
|
|
| BLAKE2b-256 |
4bbd65226db7c259c78d04c9d3d10b7d1643d36b1a64bddfbf37525db7e7c027
|
Provenance
The following attestation bundles were made for ntxbuild-1.0.0.tar.gz:
Publisher:
publish-pypi.yml on fdcavalcanti/ntxbuild
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ntxbuild-1.0.0.tar.gz -
Subject digest:
6c0e7e5ff2d5ce24ecf87d5454b694e15daa6afa43c5a8a49b261a260526d652 - Sigstore transparency entry: 1573505409
- Sigstore integration time:
-
Permalink:
fdcavalcanti/ntxbuild@18f7283a90bd1df5962133e21e0fcec063ef5543 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/fdcavalcanti
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@18f7283a90bd1df5962133e21e0fcec063ef5543 -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e107e8813d0b01a36ea19908add0cd9006b1dcca8817107d484c298d9ead15f5
|
|
| MD5 |
05f1f8a960f2b189e4c1cc9f80c65d02
|
|
| BLAKE2b-256 |
75368052a85e0d04ce0b929e854460d755b1e34105f56ab5390a92df179c49d2
|
Provenance
The following attestation bundles were made for ntxbuild-1.0.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on fdcavalcanti/ntxbuild
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ntxbuild-1.0.0-py3-none-any.whl -
Subject digest:
e107e8813d0b01a36ea19908add0cd9006b1dcca8817107d484c298d9ead15f5 - Sigstore transparency entry: 1573505433
- Sigstore integration time:
-
Permalink:
fdcavalcanti/ntxbuild@18f7283a90bd1df5962133e21e0fcec063ef5543 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/fdcavalcanti
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@18f7283a90bd1df5962133e21e0fcec063ef5543 -
Trigger Event:
release
-
Statement type: