Skip to main content

Python Package

SteelEagle provides a Python package, steeleagle_sdk, to make it easier to develop for and interact with SteelEagle modules through Python. The package contains the following modules:

  • api: a Pydantic type-checked API for working with SteelEagle gRPC vehicle services
  • dsl: a compiler for creating a finite state machine runnable mission from a SteelEagle DSL specification
  • protocol: low-level protocol bindings for gRPC and SteelEagle messages (only for advanced use-cases)
  • tools: extra tools for facilitating development like auto-completion

To install steeleagle_sdk, it is strongly recommended that you use uv. If you prefer another package manager, steeleagle_sdk can be installed like any PyPI package. SteelEagle requires Python >= 3.11.

uv add steeleagle_sdk

Building from Source

To build from source, clone the Github repo or pull the dist from PyPI:

git clone https://github.com/cmusatyalab/steeleagle

Then, build using the following:

cd steeleagle/sdk
uv build