Metadata-Version: 2.4
Name: neuralspotx
Version: 0.6.5
Summary: Python tooling and app bootstrap for neuralspotx
Author-email: Ambiq <support@ambiq.com>
License: BSD-3-Clause
Project-URL: Homepage, https://github.com/AmbiqAI/neuralspotx
Project-URL: Repository, https://github.com/AmbiqAI/neuralspotx
Project-URL: Issues, https://github.com/AmbiqAI/neuralspotx/issues
Project-URL: Changelog, https://github.com/AmbiqAI/neuralspotx/blob/main/CHANGELOG.md
Keywords: embedded,firmware,ambiq,neuralspot,build-system
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Embedded Systems
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: Jinja2>=3.1
Requires-Dist: PyYAML>=6.0
Dynamic: license-file

# neuralspotx

[![CI](https://github.com/AmbiqAI/neuralspotx/actions/workflows/ci.yml/badge.svg)](https://github.com/AmbiqAI/neuralspotx/actions/workflows/ci.yml)
[![Pages](https://github.com/AmbiqAI/neuralspotx/actions/workflows/deploy-pages.yml/badge.svg)](https://github.com/AmbiqAI/neuralspotx/actions/workflows/deploy-pages.yml)
[![Release](https://github.com/AmbiqAI/neuralspotx/actions/workflows/release.yml/badge.svg)](https://github.com/AmbiqAI/neuralspotx/actions/workflows/release.yml)

`neuralspotx` is the NSX tooling repo.

NSX is a lightweight bare-metal workflow for Ambiq targets. It provides:

- the `nsx` CLI
- packaged app templates
- packaged CMake helpers
- built-in board definitions
- curated metadata for module and SDK selection

The primary audience is app developers creating small, focused NSX applications
for bring-up, profiling, validation, and simple demos.

For contributor workflows such as releases, CI, and the Python API surface, use
the docs site under `docs/`.

## Documentation

The main documentation lives in the docs site built from `docs/`.

Install the docs toolchain:

```bash
cd <nsx-repo>
uv sync --group docs
```

Run the docs site locally:

```bash
cd <nsx-repo>
uv run --group docs zensical serve
```

Build the static site:

```bash
cd <nsx-repo>
uv run --group docs zensical build
```

## Quick Start

NSX uses an app-first flow. Each app is a self-contained project directory with
vendored modules, board definitions, and build helpers.

For app users, the cleanest install path is `pipx`:

```bash
pipx install neuralspotx
nsx doctor
nsx create-app hello_ap510 --board apollo510_evb
```

For contributors working from a source checkout:

```bash
cd <nsx-repo>
uv sync
source .venv/bin/activate
nsx doctor
nsx create-app hello_ap510 --board apollo510_evb
```

Build the app:

```bash
nsx configure --app-dir hello_ap510
nsx build --app-dir hello_ap510
```

## Repo Scope

This repo owns:

- `src/neuralspotx`
- packaged documentation and templates
- packaged board definitions
- CMake helper assets used by generated apps

Built-in firmware modules are described by the packaged registry and fetched
from their default upstream repos as needed. Normal app users create standalone
app directories and let NSX manage module resolution, vendoring, configuration,
build, flash, and view flows.
