Skip to content

xvzf/DroneCore-Python

 
 

Repository files navigation

DronecodeSDK-Python

DroneCore is made of plugins bringing different features (e.g. action, telemetry, mission). Each plugin is defined by a corresponding *.proto file. The Python implementation creates a package containing the core plugins provided by DroneCore and a plugin manager to allow 3rd party plugins.

Cloning the repository

Clone the repo (or your fork) and recursively update submodules:

git clone https://github.com/Dronecode/DronecodeSDK-Python --recursive

This can be done as 2 steps, as shown below.

git clone https://github.com/Dronecode/DronecodeSDK-Python
git submodule update --init --recursive

Prerequisites

Install grpcio and grpcio-tools:

$ python -m pip install grpcio grpcio-tools

Generate Protobuf / gRPC files

Run the following helper script. It will generate the *_pb2.py and *_pb2_grpc.py files for each plugin. If the submodules are not initialized already, the script will take care of it.

$ ./other/tools/run_protoc.sh

Install the package locally

First of all, Python bindings for the gRPC interface have to be generated using

./other/tools/run_protoc.sh

After this step you can install a development (editable) version of the package using:

$ pip install -e .

NOTE: You should use a virtual environment

Running the examples

Once the package has been installed, the examples can be run.

About

DroneCore client for Python with additional asyncio support

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 53.5%
  • Shell 37.3%
  • Dockerfile 9.2%