index.rst 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. :github_url: https://github.com/gopro/OpenGoPro/tree/main/demos/python/sdk_wireless_camera_control
  2. Open GoPro Python SDK
  3. =====================
  4. .. figure:: https://raw.githubusercontent.com/gopro/OpenGoPro/gh-pages/assets/images/logos/logo.png
  5. :alt: GoPro Logo
  6. :width: 50%
  7. .. image:: https://img.shields.io/badge/License-MIT-blue.svg
  8. :target: https://lbesson.mit-license.org/
  9. :alt: MIT License
  10. .. image:: https://img.shields.io/github/actions/workflow/status/gopro/OpenGoPro/python_sdk_test.yml
  11. :target: https://github.com/gopro/OpenGoPro/actions/workflows/python_sdk_test.yml
  12. :alt: Build and Test
  13. .. image:: https://img.shields.io/pypi/v/open-gopro
  14. :target: https://pypi.org/project/open-gopro/
  15. :alt: PyPI
  16. .. image:: https://img.shields.io/badge/code%20style-black-000000.svg
  17. :target: https://github.com/psf/black
  18. :alt: Black
  19. .. image:: _static/coverage.svg
  20. :alt: Coverage
  21. Summary
  22. -------
  23. Welcome to the Open GoPro Python package documentation. This is a Python package that provides an
  24. interface for the user to exercise the Open GoPro Bluetooth Low Energy (BLE) and Wi-Fi / USB HTTP API's as
  25. well as install command line interfaces to take photos, videos, and view video streams.
  26. This package implements the API as defined in the `Open GoPro Specification <https://gopro.github.io/OpenGoPro/>`_ .
  27. For more information on the API, see the relevant documentation:
  28. - `BLE API <https://gopro.github.io/OpenGoPro/ble>`_
  29. - `HTTP API <https://gopro.github.io/OpenGoPro/http>`_
  30. .. warning::
  31. This package requires Python >= version 3.11 and < 3.14 and only supports GoPros
  32. that `implement the OGP API <https://gopro.github.io/OpenGoPro/ble/#supported-cameras>`_
  33. Features
  34. --------
  35. - Top-level GoPro class interface to use BLE, WiFi, and / or USB
  36. - Cross-platform (tested on Windows 10, and Ubuntu 20.04, and >= MacOS Big Sur)
  37. - BLE controller implemented using `bleak <https://pypi.org/project/bleak/>`_
  38. - Wi-Fi controller provided in the Open GoPro package (loosely based on the `Wireless Library <https://pypi.org/project/wireless/>`_ )
  39. - Supports all wireless commands, settings, and statuses from the `Open GoPro API <https://gopro.github.io/OpenGoPro/>`_
  40. - Automatically handles connection maintenance:
  41. - manage camera ready / encoding
  42. - periodically sends keep alive signals
  43. - Includes detailed logging for each module
  44. - Includes demo scripts installed as command-line applications to show BLE, WiFi, and USB functionality such as:
  45. - Take a photo
  46. - GUI to send all commands and view the live / preview stream
  47. - Configure and view a GoPro webcam stream
  48. - Take a video
  49. - Start a livestream
  50. - View the GoPro as a webcam
  51. - Log the battery
  52. Getting Started
  53. ---------------
  54. Here is a suggested procedure for getting acquainted with this package (it is the same as reading through
  55. this document in order):
  56. #. :ref:`Install<Installation>` the package
  57. #. Try some of the :ref:`demos<QuickStart Guide>`
  58. #. Implement your own example, perhaps starting with a demo, with :ref:`usage<Usage>` information
  59. #. If you need more detailed implementation reference, see the Interface :ref:`documentation<API Reference>`
  60. Development
  61. -----------
  62. #. Set up the :ref:`development environment<Get Started!>`
  63. #. Open a :ref:`Pull Request<Pull Request Guidelines>`
  64. .. toctree::
  65. :maxdepth: 4
  66. :caption: Contents:
  67. installation
  68. quickstart
  69. usage
  70. api
  71. troubleshooting
  72. contributing
  73. authors
  74. changelog
  75. future_work