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.
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
Install grpcio and grpcio-tools:
$ python -m pip install grpcio grpcio-tools
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
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
Once the package has been installed, the examples can be run.