Install or Update Neat Library
Use this page to install or update the Neat Library.
When you pair a DevKit during sima-cli sdk setup, the SDK installs its included
Neat Library and bundled PyNeat environment at ~/pyneat on the DevKit automatically.
If the target cannot download packages from SiMa.ai services, use offline installation. Download the package on a computer with internet access.
Choose Where to Install
Run the installer from the environment where you build or run Neat applications:
| Environment | Use this when |
|---|---|
| Palette SDK | You want to upgrade the Neat Library in the Palette SDK without installing a new SDK version. |
| ROS2 SDK | You want to compile ROS 2 applications natively on ARM64 with Neat headers and libraries installed in the container's system paths. |
| DevKit | You want to install or update the runtime directly on the device. |
C++ development packages
The minimal installation includes the runtime and sima-neat-dev. The default
installation offers tutorials and tests as optional extras; all includes them.
Shared-library applications need Core's public headers, the matching Scheduler
frontend, and GStreamer, OpenCV, and JSON development files. They do not need the
retired Internals umbrella or Runner, Kernels, Codecs, memory-library, heap, or
LLiMa development APIs. The selected packages supply the required runtime dependencies.
Use the installed shared target:
find_package(SimaNeat CONFIG REQUIRED)
target_link_libraries(my_app PRIVATE SimaNeat::sima_neat)
The static archive remains in sima-neat-dev. Use COMPONENTS Static and keep the
matching simaai-scheduler package installed. Provision zlib1g-dev,
libcpp-httplib-dev, and, for LLiMa-enabled builds, sima-lmm-dev, with their
dependencies. Core uses Scheduler's installed frontend; do not add Internals or
lower-library development targets to your application:
find_package(SimaNeat CONFIG REQUIRED COMPONENTS Static)
target_link_libraries(my_app PRIVATE SimaNeat::sima_neat_static)
Static Core still uses shared implementation libraries. Building Core from source uses the same Scheduler frontend boundary and requires development files for its other dependencies, including LLiMa when enabled.
Online installation prerequisites
Install sima-cli in the environment where you plan to install the Neat Library.
Use the sima-cli installation guide.
Create an account at community.sima.ai to access SiMa.ai assets such as precompiled models for testing.
Authenticate the environment so the installer can download SiMa.ai artifacts. See sima-cli login for details.
sdk or devkit$sima-cli loginConfirm the environment can reach the SiMa.ai artifacts host:
sdk or devkit$curl -fsS https://artifacts.neat.sima.ai/sima-cli/linux-mac.sh -o /dev/null && echo "artifacts reachable"Printing artifacts reachable means the host is reachable. A curl error such as
a timeout, connection refused, or "could not resolve host" means outbound access
is blocked — check your host network, proxy, or firewall (see
Palette SDK Networking and the
host setup notes), or use
Offline Installation if
the machine cannot reach SiMa.ai services directly.
Install the Neat Library
The installer uses every Debian package listed by the selected Core artifact and does not select different Scheduler or LLiMa versions. The installed platform must satisfy dependencies that are not delivered by that artifact. If APT would remove platform packages to complete the installation, the installer stops; update the platform instead of substituting packages in Core or LLiMa.
Choose a working directory before running the installer. On the DevKit, install
under /media/nvme to avoid filling the root file system. In the SDK container,
use a container-local path such as $HOME/neat.
Select your environment, then run the steps in order. Install in the Palette SDK
container to cross-compile C++ applications. Install in the ROS2 SDK to
compile natively on ARM64; its Debian packages are installed into /usr rather
than the Neat cross-compilation sysroot. Install on the DevKit to set up the
runtime there, which also provisions PyNeat at ~/pyneat. The installer command
is the same in every environment.
Prepare a container-local install directory such as $HOME/neat:
sdk$cd $HOME && mkdir -p neat && cd neatInstall the default Neat Library package selected by sima-cli. You can
optionally install extras, including prebuilt tutorials, source-code tutorials,
and tests:
sdk$sima-cli neat install core@v0.6.1Default PyNeat environment for online installation
Installing the Neat Library on the DevKit also provisions a default PyNeat
virtual environment at ~/pyneat on the DevKit. This is the supported PyNeat
environment — activate it directly:
devkit$source ~/pyneat/bin/activateIf you run the installer from inside an SDK container paired with DevKit Sync,
the installer provisions PyNeat on the paired DevKit, not only inside the SDK
container. PyNeat is installed into a virtual environment under ~/pyneat on
the DevKit.
For custom Python virtual environments, see Install PyNeat.
Source Builds
Build from source when you need an unreleased change, a custom build configuration, or you are contributing to the Neat Library. Most users should use the packaged install above instead.
If you prefer building from source, follow the Build guide.
For SDK setup and DevKit Sync onboarding, see Palette SDK.
Offline installation
Offline installation preserves existing Python environments and their extra packages and files. Before installing packages, it runs pip check. If the environment is already broken, installation stops and reports the environment path and dependency errors. Repair the reported dependencies, using additional wheels when offline, then retry. A dependency check after installation reports any remaining or newly introduced conflicts; package changes are not automatically rolled back.
To discard an environment and install from scratch, explicitly run ./install.sh --recreate-venv (standalone Core) or sudo python3 -B install.py --recreate-venv (PCIe). This removes packages and files in the selected environment without backup. In the SDK, the option applies to the paired DevKit, not SDK host Python. Save required files first. Preflight and verification-only commands never recreate environments.
Neat Library offline packages are available in version 0.6.0 or later. Use this package for a Modalix DevKit with Platform 3.0 or later.
1. Download the package
Install sima-cli on the computer with internet access. See the sima-cli installation guide.
Run this command on the computer with internet access:
host$sima-cli neat install core/offline@v0.6.1 --download-onlyThe default package includes the runtime, tutorials, and tests. To download only the runtime, use:
host$sima-cli neat install core/offline@v0.6.1 -t minimal --download-only2. Install the package
- Copy the downloaded files to the Modalix DevKit or the Palette SDK workspace.
- Open a terminal in that directory. For SDK installation, use the SDK shell.
- Extract the installer archive:
The downloaded archive may have a 8-character SHA-256 suffix before .tar.gz. Keep only the selected installer archive in this directory before extracting it.
sdk or devkit$tar -xzf neat-core-offline-installer*.tar.gz- Go to the extracted directory:
sdk or devkit$cd neat-core-offline- Start the installer as your regular user. It requests
sudopermissions when necessary.
sdk or devkit$./install.shIf you need tutorials or tests, extract the separate extras archive into a directory of your choice.
For offline installation, activate the Python environment with:
devkit$source ~/pyneat/bin/activateOffline installation reuses an existing ~/pyneatpcie on the host or ~/pyneat on a card or DevKit, including its symlink target. If no home environment exists, a card or DevKit uses /media/nvme/pyneat when NVMe is writable by the installing user; otherwise, it uses ~/pyneat. A new NVMe installation creates a ~/pyneat link without replacing an existing home environment.
Package options and installer behavior
- The installer checks system compatibility and available disk space before installation.
- The installer uses bundled dependencies. It stops if a required dependency is missing.
- In the SDK, the installer copies Neat Library into
/opt/toolchain/aarch64/modalix. - If
DEVKIT_SYNC_DEVKIT_IPis set, the installer also installs on the paired DevKit through SSH. Both environments must pass checks.
If installation fails, read the log at the printed path: /tmp/neat-core-offline-*.log.
For detailed output, use ./install.sh --verbose.
If SSH disconnects during installation, the remote installer can continue to run. Check that it has stopped before you retry or remove the temporary directory shown in the report.
Next Step
Continue to Install PyNeat for custom Python environments, or Neat CLI to inspect the installed environment.