Edge Impulse API and SDKs references
Last updated
Was this helpful?
Last updated
Was this helpful?
Welcome to the Edge Impulse API, SDKs and Libraries documentation. Here, you will find developer resources to integrate Edge Impulse with your projects, whether you're working on a machine learning prototype or deploying a solution at scale. Our resources are designed to be straightforward and accessible, helping you get your projects up and running with minimal setup. Most of the sections in this documentation are automatically generated. If anything is unclear, please reach out on or contact your customer success/solution engineer.
The Edge Impulse Python SDK is designed to help machine learning practitioners build and deploy models for edge AI hardware targets. Directly from Python scripts, it allows you to collect data, profile and export your models to a C++ Library and much more. See the "deployment options" listed in the return of this function ei.model.list_deployment_targets()
.
It's perfect for integrating into existing Python-based workflows or Jupyter Notebooks.
Quick Start: Install via pip install edgeimpulse
Source Code:
Python package documentation:
Documentation:
Tutorials:
Deploy your trained models using our inferencing SDKs available in multiple programming languages:
: Deploy on any device with our optimized C++ library for microcontrollers and embedded systems.
: Ideal for prototyping on desktops or devices like the Raspberry Pi.
: Embed machine learning models into your Node.js applications.
: This library lets you run machine learning models and collect sensor data on Linux machines using C++. You can also use it to generate your .eim
model files.
The Serial Protocol enables devices to communicate directly with the Edge Impulse CLI or Studio over a serial connection using AT commands. This makes it easy to send data to your Edge Impulse project for training or inference without needing an internet connection.
The ingestion API is used to send data to Edge Impulse. It's available on both HTTP and HTTPS endpoints and requires an API key to authenticate. It can be used with the remote management protocols or in your data pipelines. The ingestion API works with the available data acquisition formats
For developers looking to integrate Edge Impulse into their systems at a deep level, our OpenAPI specifications provide a comprehensive and detailed view of all the API endpoints. These are ideal for building custom integrations or for developers who need to automate their workflows.
We also provide a Python API-bindings package.
The remote management server implements a two-way protocol between devices and Edge Impulse, which allows users to control devices (for example to acquire new data) straight from the Studio. Devices can either connect directly to the or can connect through a proxy like the using the . The remote management protocol is not used for data ingestion, as a result, you will need to use the ingestion service for this.