:github_url: https://github.com/gopro/OpenGoPro/tree/main/demos/python/sdk_wireless_camera_control Open GoPro Python SDK ===================== .. figure:: https://raw.githubusercontent.com/gopro/OpenGoPro/gh-pages/assets/images/logos/logo.png :alt: GoPro Logo :width: 50% .. image:: https://img.shields.io/badge/License-MIT-blue.svg :target: https://lbesson.mit-license.org/ :alt: MIT License .. image:: https://img.shields.io/github/actions/workflow/status/gopro/OpenGoPro/python_sdk_test.yml :target: https://github.com/gopro/OpenGoPro/actions/workflows/python_sdk_test.yml :alt: Build and Test .. image:: https://img.shields.io/pypi/v/open-gopro :target: https://pypi.org/project/open-gopro/ :alt: PyPI .. image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/psf/black :alt: Black .. image:: _static/coverage.svg :alt: 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: - `BLE API `_ - `HTTP API `_ .. warning:: This package requires Python >= version 3.11 and < 3.14 and only supports GoPros that `implement the OGP API `_ 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): #. :ref:`Install` the package #. Try some of the :ref:`demos` #. Implement your own example, perhaps starting with a demo, with :ref:`usage` information #. If you need more detailed implementation reference, see the Interface :ref:`documentation` Development ----------- #. Set up the :ref:`development environment` #. Open a :ref:`Pull Request` .. toctree:: :maxdepth: 4 :caption: Contents: installation quickstart usage api troubleshooting contributing authors changelog future_work