The Vehicle App SDK
reduces the effort required to implement Vehicle Apps by using the Velocitas development model for the Python programming language. To create a Vehicle App, please use our Vehicle App Template which uses this sdk.
This includes the following packages:
- sdv.vehicle_app - Vehicle App abstraction
- sdv.model - Vehicle Model ontology
- sdv.config - Vehicle App configuration
- sdv.base - Base classes for middleware abstraction
- sdv.dapr - Dapr middleware integration
- sdv.native - Native middleware definition
- sdv.vdb - Vehicle Data Broker integration
- sdv.test - Integration test support
- sdv.util - Logging and other utilities
Note: The Vehicle App Python SDK is currently under active development in alpha phase.
- Python 3.10 or later is required to use this package.
Install the Vehicle App Python SDK with pip:
pip install git+https://github.com/eclipse-velocitas/vehicle-app-python-sdk.git@<version>
- Velocitas Development Model: Learn more about the Velocitas programming model and the SDK
- Velocitas Tutorials: Learn how to get started, including setting up the development environment, creating a Vehicle Model as well as developing and deploying a Vehicle App.
These examples demonstrate how to use the Python Vehicle App SDK:
Example | Description |
---|---|
Array Datatype | Shows a Vehicle Data Broker query that returns an array data point. |
Atomic Set | Shows how to set the values of multiple datapoint actuators in one "atomic" step. |
DataPoint Set | Shows how to set the value of the datapoint actuator value API. |
Dog Mode | Dog-Mode App that demonstrates MQTT communication and invocation of a Vehicle Service over gRPC, the app also subscribes for vehicle data points and sets the cabin temperature. |
Dynamic Rule | Create a Vehicle Data Broker rule with the fluent query methods. |
Static Rule | Create a Vehicle Data Broker rule with the subscribe_to_data_point annotation. |
VDB Queries | Demonstrates various aspects of creating Vehicle Data Broker queries. |
Seat Adjuster | Seat-Adjuster App that demonstrates MQTT communication and seat control via actuator data points. 👉 This example can only be run from the Vehicle App Template. 👈 |
All examples (except the Seat Adjuster) can be run via
cd examples
./run-app.sh -a <example-folder-name>
By default the examples are started using the Dapr middleware. If specifying the -n
flag they are started with native middleware, instead.