# Edge Impulse Documentation - Tools > CLIs, inference and Studio SDKs, API bindings, data formats, and device protocols. This is the "Tools" section index of the Edge Impulse documentation, following https://llmstxt.org/. It lists the pages in this section only. For other sections see the root index at https://docs.edgeimpulse.com/llms.txt; for the complete expanded index see https://docs.edgeimpulse.com/llms-full.txt. Links point to the markdown-rendered version of each page (`.md`), so agents retrieve clean content without navigation, ads, or scripts. Every link includes a short note describing the page. ## Intents Intent-bearing retrieval prompts. Match a user request to the closest intent below, then retrieve the linked pages before answering. ### Get started as an ML practitioner > I come from machine learning and want to start from datasets, model workflows, experiments, SDKs, and evaluation rather than from hardware. - [Start from datasets, model workflows, experiments, SDKs, and evaluation.](https://docs.edgeimpulse.com/knowledge/guides/getting-started-for-ml-practitioners.md) - [Compare alternative impulse and model configurations side by side.](https://docs.edgeimpulse.com/studio/projects/experiments.md) - [Evaluate trained models on held-out data before deploying.](https://docs.edgeimpulse.com/studio/projects/model-testing.md) - [Drive Studio workflows programmatically from the Python SDK.](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python.md) ### Upload or collect data programmatically via the API and SDK > I want to push samples into a project or pull data out programmatically using the Ingestion API or the Python SDK, including structured labels. - [Reference the Ingestion API for uploading samples and device data.](https://docs.edgeimpulse.com/apis/ingestion.md) - [Upload samples with structured multi-label metadata.](https://docs.edgeimpulse.com/tutorials/tools/apis/ingestion/ingest-structured-label-data.md) - [Use the Python SDK to move data in and out of projects.](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python.md) - [Upload and download project data from Python step by step.](https://docs.edgeimpulse.com/tutorials/tools/sdks/studio/python/upload-download-data.md) ### Choose the right API or interface > I need to decide which programmatic interface to use - Studio API, Ingestion API, Remote Management API, the Python SDK, or the CLI. - [Automate projects, training, jobs, deployments, and organizations.](https://docs.edgeimpulse.com/apis/studio.md) - [Upload samples and device data into a project.](https://docs.edgeimpulse.com/apis/ingestion.md) - [Connect and manage device communication workflows.](https://docs.edgeimpulse.com/apis/remote-management.md) - [Use the supported Python interface for Studio workflows.](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python.md) - [Connect devices, upload data, run impulses, and build custom blocks from the CLI.](https://docs.edgeimpulse.com/tools/clis/edge-impulse-cli.md) ## Tools - [Tools](https://docs.edgeimpulse.com/tools.md) - [Edge Impulse CLI](https://docs.edgeimpulse.com/tools/clis/edge-impulse-cli.md) - [Installation](https://docs.edgeimpulse.com/tools/clis/edge-impulse-cli/installation.md) - [Serial daemon](https://docs.edgeimpulse.com/tools/clis/edge-impulse-cli/serial-daemon.md) - [Uploader](https://docs.edgeimpulse.com/tools/clis/edge-impulse-cli/uploader.md) - [Data forwarder](https://docs.edgeimpulse.com/tools/clis/edge-impulse-cli/data-forwarder.md) - [Impulse runner](https://docs.edgeimpulse.com/tools/clis/edge-impulse-cli/impulse-runner.md) - [Blocks](https://docs.edgeimpulse.com/tools/clis/edge-impulse-cli/blocks.md) - [Himax flash tool](https://docs.edgeimpulse.com/tools/clis/edge-impulse-cli/himax-flash-tool.md) - [Edge Impulse Linux CLI](https://docs.edgeimpulse.com/tools/clis/edge-impulse-linux-cli.md) - [C++ SDK](https://docs.edgeimpulse.com/tools/libraries/sdks/inference/cpp.md) - [Functions](https://docs.edgeimpulse.com/tools/libraries/sdks/inference/cpp/functions.md) - [User-defined](https://docs.edgeimpulse.com/tools/libraries/sdks/inference/cpp/user-defined-functions.md) - [Structs](https://docs.edgeimpulse.com/tools/libraries/sdks/inference/cpp/structs.md) - [Return types](https://docs.edgeimpulse.com/tools/libraries/sdks/inference/cpp/return-types.md) - [Macros](https://docs.edgeimpulse.com/tools/libraries/sdks/inference/cpp/macros.md) - [Global variables](https://docs.edgeimpulse.com/tools/libraries/sdks/inference/cpp/global-variables.md) - [Linux SDKs](https://docs.edgeimpulse.com/tools/libraries/sdks/inference/linux.md) - [Flex delegates](https://docs.edgeimpulse.com/tools/libraries/sdks/inference/linux/flex-delegates.md) - [Linux C++ SDK](https://docs.edgeimpulse.com/tools/libraries/sdks/inference/linux/cpp.md) - [Linux Go SDK](https://docs.edgeimpulse.com/tools/libraries/sdks/inference/linux/go.md) - [Linux Node.js SDK](https://docs.edgeimpulse.com/tools/libraries/sdks/inference/linux/node-js.md) - [Linux Python SDK](https://docs.edgeimpulse.com/tools/libraries/sdks/inference/linux/python.md) - [Linux Rust SDK](https://docs.edgeimpulse.com/tools/libraries/sdks/inference/linux/rust.md) - [C SDK](https://docs.edgeimpulse.com/tools/libraries/sdks/ingestion/c.md) - [Python SDK](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python.md) - [edgeimpulse](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/index.md) - [edgeimpulse.data](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/data/index.md) - [edgeimpulse.data.sample_type](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/data/sample_type.md) - [edgeimpulse.datasets](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/datasets/index.md) - [edgeimpulse.exceptions](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/exceptions.md) - [edgeimpulse.experimental](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/experimental/index.md) - [edgeimpulse.experimental.api](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/experimental/api.md) - [edgeimpulse.experimental.data](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/experimental/data/index.md) - [edgeimpulse.experimental.impulse](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/experimental/impulse/index.md) - [edgeimpulse.experimental.tuner](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/experimental/tuner/index.md) - [edgeimpulse.experimental.util](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/experimental/util/index.md) - [edgeimpulse.impulse](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/impulse/index.md) - [edgeimpulse.model](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/model/index.md) - [edgeimpulse.model.input_type](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/model/input_type.md) - [edgeimpulse.model.model_info](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/model/model_info.md) - [edgeimpulse.model.output_type](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/model/output_type.md) - [edgeimpulse.tuner](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/tuner/index.md) - [edgeimpulse.util](https://docs.edgeimpulse.com/tools/libraries/sdks/studio/python/edgeimpulse/util.md) - [edgeimpulse_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/index.md) - [edgeimpulse_api.api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/index.md) - [edgeimpulse_api.api.classify_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/classify_api.md) - [edgeimpulse_api.api.deployment_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/deployment_api.md) - [edgeimpulse_api.api.devices_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/devices_api.md) - [edgeimpulse_api.api.dsp_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/dsp_api.md) - [edgeimpulse_api.api.email_verification_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/email_verification_api.md) - [edgeimpulse_api.api.export_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/export_api.md) - [edgeimpulse_api.api.impulse_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/impulse_api.md) - [edgeimpulse_api.api.integrations_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/integrations_api.md) - [edgeimpulse_api.api.jobs_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/jobs_api.md) - [edgeimpulse_api.api.learn_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/learn_api.md) - [edgeimpulse_api.api.login_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/login_api.md) - [edgeimpulse_api.api.optimization_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/optimization_api.md) - [edgeimpulse_api.api.organization_blocks_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/organization_blocks_api.md) - [edgeimpulse_api.api.organization_create_project_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/organization_create_project_api.md) - [edgeimpulse_api.api.organization_data_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/organization_data_api.md) - [edgeimpulse_api.api.organization_data_campaigns_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/organization_data_campaigns_api.md) - [edgeimpulse_api.api.organization_jobs_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/organization_jobs_api.md) - [edgeimpulse_api.api.organization_pipelines_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/organization_pipelines_api.md) - [edgeimpulse_api.api.organization_portals_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/organization_portals_api.md) - [edgeimpulse_api.api.organizations_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/organizations_api.md) - [edgeimpulse_api.api.performance_calibration_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/performance_calibration_api.md) - [edgeimpulse_api.api.post_processing_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/post_processing_api.md) - [edgeimpulse_api.api.projects_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/projects_api.md) - [edgeimpulse_api.api.raw_data_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/raw_data_api.md) - [edgeimpulse_api.api.upload_portal_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/upload_portal_api.md) - [edgeimpulse_api.api.user_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/user_api.md) - [edgeimpulse_api.api.whitelabels_api](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api/whitelabels_api.md) - [edgeimpulse_api.api_client](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/api_client.md) - [edgeimpulse_api.configuration](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/configuration.md) - [edgeimpulse_api.exceptions](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/exceptions.md) - [Python API model classes](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/models.md): Auto-generated reference stubs for the Studio Python API bindings model classes. - [edgeimpulse_api.rest](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/python/edgeimpulse_api/rest.md) - [JavaScript API Bindings](https://docs.edgeimpulse.com/tools/libraries/api-bindings/studio/javascript.md) - [CSV](https://docs.edgeimpulse.com/tools/specifications/data-acquisition/csv.md) - [JSON | CBOR](https://docs.edgeimpulse.com/tools/specifications/data-acquisition/json-cbor.md) - [Edge Impulse labels](https://docs.edgeimpulse.com/tools/specifications/data-annotation/ei-labels.md) - [Edge Impulse structured labels](https://docs.edgeimpulse.com/tools/specifications/data-annotation/ei-structured-labels.md) - [Object detection](https://docs.edgeimpulse.com/tools/specifications/data-annotation/object-detection.md) - [deployment-metadata.json](https://docs.edgeimpulse.com/tools/specifications/files/deployment-metadata-json.md) - [ei-metadata.json](https://docs.edgeimpulse.com/tools/specifications/files/ei-metadata-json.md) - [ids.json](https://docs.edgeimpulse.com/tools/specifications/files/ids-json.md) - [parameters.json](https://docs.edgeimpulse.com/tools/specifications/files/parameters-json.md) - [sample_id_details.json](https://docs.edgeimpulse.com/tools/specifications/files/sample-id-details-json.md) - [train_input.json](https://docs.edgeimpulse.com/tools/specifications/files/train-input-json.md) - [WebSocket](https://docs.edgeimpulse.com/tools/protocols/remote-management/websocket.md) - [Serial](https://docs.edgeimpulse.com/tools/protocols/remote-management/serial.md) ## Optional - [Documentation index (all sections)](https://docs.edgeimpulse.com/llms.txt): Root llms.txt router linking every documentation section.