Wandelbots Docs

Type to search the documentation

Press ESC to close⌘K to open

Build a custom app with Python

Last updated: July 21, 2026

Relevant for: Developer

Build NOVA Python apps locally with NOVAx and FastAPI, and deploy them to your instance.

This guide is for experienced developers who prefer working locally. The instructions assume you’re comfortable setting up your environment, installing tools, and deploying software.

NOVA provides a platform to develop, deploy, and manage custom applications for controlling robots. You’ll build locally using the Wandelbots NOVA Python SDK and turn your project into a full app.

What this guide covers

  • Understanding NOVAx, the app framework that serves your robot programs
  • Implementing your app logic and HTTP endpoints
  • Deploying the app to a cell and verifying it at /cell/<your-app-name>

Prerequisites

NOVAx programs

NOVAx is an app framework provided by the Python SDK for building server applications on top of Wandelbots NOVA. It provides common core concepts like the handling of robot programs and their execution.

The app template ships one example program by default:

  • start_here.py - This is a Python program that demonstrates the basic structure and patterns for robotics programming using the Python SDK. It lives inside your app package and registers automatically when the app starts.

NOVAx also scans a programs directory by default. Drop a .py file with a @nova.program into it and the program is picked up without a manual import.

If you’re coming from Wandelscript (deprecated), see the migration guide for running both approaches side by side.

Add custom endpoints to FastAPI

The app template provides default functionality with NOVAx app template however, the FastAPI object lives on user code. This means, you have the full power to customize app layer.

The provided register_programs.py file contains two examples:

App icon

This API returns the image that is used in the home screen for your app:

@app.get("/app_icon.png", summary="Services the app icon for the homescreen")

Stoplight API Interface

This API returns an open source project, Stoplight, which provides convenient user interface for working with your APIs:

@app.get("/", summary="Opens the interactive API", response_class=HTMLResponse)

Deploy your app

Once your app works locally, deploy it to your NOVA instance to make it permanently available. The deployment guide walks you through setting up Docker, connecting a container registry, and pushing the app with the NOVA CLI.

Further steps

To use the full Python SDK capabilities, refer to the Wandelbots Python SDK documentation or by exploring the Python SDK GitHub repository.

To create FastAPI servers that expose robot programs as REST APIs for other frontend frameworks to consume, refer to the NOVAx framework.