Tutorials
Before You Start
Running sima-cli install neat installs the Neat library. When prompted, select
the optional SiMa.ai Neat extras package to receive the tutorials as well.
Press Space to toggle the extras checkbox in the installer.
The extras package gives you a self-contained tutorial folder with:
- prebuilt C++ tutorial binaries under
lib/sima-neat/tutorials/ - C++ and Python tutorial source under
share/sima-neat/tutorials/ - a
build.shhelper for downloading tutorial models or rebuilding C++ examples
The tutorials do not install into system paths. They are extracted into your
current working directory as sima-neat-<version>-Linux-extras/. The folder
name includes the Neat version, branch, and commit hash.
sima-neat-<version>-Linux-extras/
├── build.sh
├── lib/sima-neat/tutorials/ # prebuilt C++ binaries
└── share/sima-neat/tutorials/ # C++ and Python source folders
If the tutorial folder is missing, re-run the Neat installer and select SiMa.ai Neat extras when prompted.
Run a Tutorial
First enter the extracted extras folder:
cd sima-neat-*-Linux-extras
Your shell's current directory is now the root of the extras tree. Then run a tutorial in the language you want to use.
Python
Activate PyNeat on the DevKit, then run the tutorial script:
source ~/pyneat/bin/activate
python3 share/sima-neat/tutorials/<chapter>/<chapter_name>.py --args
Python tutorials are interpreted, so there is nothing to compile. You can copy
the .py file anywhere on disk if you want to modify it.
C++
Run the prebuilt tutorial binary:
./lib/sima-neat/tutorials/tutorial_<chapter_name> --args
To rebuild a C++ tutorial from source:
./build.sh --list-targets
./build.sh --target tutorial_<chapter_name>
./build/tutorials-standalone/tutorial_<chapter_name> --args
build.sh auto-detects SimaNeatConfig.cmake from the installed Neat package
and writes rebuilt binaries under build/tutorials-standalone/.
Some tutorials need Model Zoo artifacts. build.sh downloads required models
automatically before a C++ build. To download models without rebuilding:
./build.sh --download-models-only
By default, tutorial models are prepared under /tmp. To use another download
root, add --model-target-folder <path>.
Verify the Extras Folder
Both lists should print the same tutorial chapter names. If either list is
empty, re-run sima-cli install neat and make sure SiMa.ai Neat extras is
selected.
ls lib/sima-neat/tutorials/ | grep '^tutorial_'
ls share/sima-neat/tutorials/ | grep -E '^0[0-9]{2}_'
Use a Tutorial in Your Own C++ Project
If you copy a tutorial .cpp file into your own codebase, you do not need the
extras folder anymore. You only need the installed sima-neat package, which
provides SimaNeatConfig.cmake and the Neat libraries.
Create a minimal CMakeLists.txt next to your source file:
cmake_minimum_required(VERSION 3.16)
project(my_chapter LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(SimaNeat REQUIRED CONFIG)
add_executable(my_chapter <chapter_name>.cpp)
target_link_libraries(my_chapter PRIVATE SimaNeat::sima_neat)
find_package(SimaNeat REQUIRED CONFIG) locates the installed Neat package, and
target_link_libraries(... SimaNeat::sima_neat) brings in Neat's libraries,
headers, and transitive dependencies.
Build and run:
cmake -S . -B build && cmake --build build -j
./build/my_chapter --args
For a fuller template with Palette SDK cross-build handling, see Hello Neat.
Choose a Tutorial Path
Use the cards in each section in order. Each tutorial includes concept-first guidance with matching C++ and Python implementation.
- BeginnerFirst model run, async inference, model benchmarking, basic graphs, and model options. 7 guided chapters.
- IntermediateData exchange, preprocessing, outputs, streaming, diagnostics, and graph composition. 10 guided chapters.
- AdvancedMulti-stream graphs, throughput tuning, and production-style pipeline structure. 5 guided chapters.