Open GoPro Python SDK

GoPro Logo
MIT License Build and Test PyPI Black Coverage

Summary

Welcome to the Open GoPro Python package documentation. This is a Python package that provides an interface for the user to exercise the Open GoPro Bluetooth Low Energy (BLE) and Wi-Fi / USB HTTP API’s as well as install command line interfaces to take photos, videos, and view video streams.

This package implements the API as defined in the Open GoPro Specification . For more information on the API, see the relevant documentation:

Warning

This package requires Python >= version 3.9 and < 3.12

Features

  • Top-level GoPro class interface to use BLE, WiFi, and / or USB

  • Cross-platform (tested on Windows 10, and Ubuntu 20.04, and >= MacOS Big Sur)

    • BLE controller implemented using bleak

    • Wi-Fi controller provided in the Open GoPro package (loosely based on the Wireless Library )

  • Supports all wireless commands, settings, and statuses from the Open GoPro API

  • Automatically handles connection maintenance:

    • manage camera ready / encoding

    • periodically sends keep alive signals

  • Includes detailed logging for each module

  • Includes demo scripts installed as command-line applications to show BLE, WiFi, and USB functionality such as:

    • Take a photo

    • GUI to send all commands and view the live / preview stream

    • Configure and view a GoPro webcam stream

    • Take a video

    • Start a livestream

    • View the GoPro as a webcam

    • Log the battery

Getting Started

Here is a suggested procedure for getting acquainted with this package (it is the same as reading through this document in order):

  1. Install the package

  2. Try some of the demos

  3. Implement your own example, perhaps starting with a demo, with usage information

  4. If you need more detailed implementation reference, see the Interface documentation

Development

  1. Set up the development environment

  2. Open a Pull Request

Contents: