NuttX Build System Assistant
Project description
ntxbuild
NuttX Build System Assistant - A Python tool for managing and building NuttX RTOS projects with ease.
ntxbuild is simply a wrapper around the many tools available in the NuttX repository. It wraps around tools such as make, kconfig-tweak, menuconfig and most used bash scripts (such as configure.sh).
This tool provides a command line interface that supports NuttX configuration and building, while also providing a Python API that allows you to script your builds.
Features
- Environment Management: Automatic NuttX workspace detection and configuration
- Python API: API
ntxbuildavailable for building NuttX using Python scripts - Parallel Builds: Support for multi-threaded builds with isolated workspaces
- Real-time Output: Live build progress with proper ANSI escape sequence handling
- Configuration Management: Kconfig integration for easy system configuration
- Build Cleanup: Automated artifact management and cleanup
- Persistent Settings: Environment configuration saved in
.ntxenvfiles - Interactive Tools: Support for curses-based tools like menuconfig
Requirements
- Python 3.10+
- NuttX source code and applications
- Make and standard build tools required by NuttX RTOS
- CMake supported but optional
Installation
Using pip
As an user, you can install this tool using pip:
pip install ntxbuild
From Source
If you are a developer or simply wants to install from source, you can clone
this repository and install using pip install -e <repo>
git clone <repository-url>
cd ntxbuild
pip install -e .
Use the dev configuration to install development tools and docs to install
documentation tools.
pip install -e ".[dev]"
pip install -e ".[docs]"
Quick Start
1. Initialize Your NuttX Environment
# Navigate to your NuttX workspace
cd /path/to/your/nuttx-workspace
# Initialize with board and defconfig
ntxbuild start sim nsh
2. Build Your Project
# Build with default settings
ntxbuild build
# Or, build with parallel jobs
ntxbuild build --parallel 8
3. Configure Your System
# Run menuconfig
ntxbuild menuconfig
# Set Kconfig values
ntxbuild kconfig --set-value CONFIG_DEBUG=y
ntxbuild kconfig --set-str CONFIG_APP_NAME="MyApp"
Contributing
Contributions are always welcome but will be subject to review and approval. Basic rules:
- Testing and documentation are mandatory for new features
- Depedencies should be kept to a minimal
- Code linting using pre-commit is mandatory
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-0.3.0.tar.gz.
File metadata
- Download URL: ntxbuild-0.3.0.tar.gz
- Upload date:
- Size: 36.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c01ce9ad5d86310b1fc7740c0b53b7c64214c48f0cb2bf8dec9344e08df3ebd5
|
|
| MD5 |
6adc137a84695fd2b60169735fe18f6b
|
|
| BLAKE2b-256 |
bc50b9df4e8b8642c57d3611b063bf0f10d0ff44162ae55c148e64c0a3636900
|
Provenance
The following attestation bundles were made for ntxbuild-0.3.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-0.3.0.tar.gz -
Subject digest:
c01ce9ad5d86310b1fc7740c0b53b7c64214c48f0cb2bf8dec9344e08df3ebd5 - Sigstore transparency entry: 790956645
- Sigstore integration time:
-
Permalink:
fdcavalcanti/ntxbuild@0ace78125194e676532a7ef3cced840169931841 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/fdcavalcanti
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@0ace78125194e676532a7ef3cced840169931841 -
Trigger Event:
release
-
Statement type:
File details
Details for the file ntxbuild-0.3.0-py3-none-any.whl.
File metadata
- Download URL: ntxbuild-0.3.0-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92b6cf02acd562e1e8a665b61bb0b7206f34a49004f62362534424350601d9d3
|
|
| MD5 |
38b38796dd36b3797139f46e50866946
|
|
| BLAKE2b-256 |
f2ad6520b3291bb01c6c98f4709e0199c632b50705fc29a6a33a7d22fe450ab3
|
Provenance
The following attestation bundles were made for ntxbuild-0.3.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-0.3.0-py3-none-any.whl -
Subject digest:
92b6cf02acd562e1e8a665b61bb0b7206f34a49004f62362534424350601d9d3 - Sigstore transparency entry: 790956660
- Sigstore integration time:
-
Permalink:
fdcavalcanti/ntxbuild@0ace78125194e676532a7ef3cced840169931841 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/fdcavalcanti
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@0ace78125194e676532a7ef3cced840169931841 -
Trigger Event:
release
-
Statement type: