Skip to main content

A Python SDK for controlling GoPro cameras, optimized for multi-camera COHN scenarios

Project description

GoPro SDK for Python

CI Documentation PyPI version Python versions License: MIT

A production-ready Python SDK for controlling GoPro cameras, specifically designed and optimized for multi-camera COHN (Camera on Home Network) scenarios.

Features

  • Multi-Camera Support: Efficient concurrent control of multiple GoPro cameras
  • Persistent COHN Configuration: Save and restore COHN settings without reconfiguration
  • Optimized Connection Management: Eliminate unnecessary connection cycles and resource waste
  • Robust State Tracking: Accurate connection state management for COHN mode
  • Production-Ready Error Handling: Comprehensive exception handling and recovery mechanisms

See Why This SDK? for detailed rationale and comparison with OpenGoPro.

Quick Start

uv add gopro-sdk-py
# Or use pip
pip install gopro-sdk-py
import asyncio
from gopro_sdk import GoProClient

async def main():
    client = GoProClient(identifier="GoPro 1234")
    await client.open_ble()
    await client.configure_cohn(ssid="your-wifi", password="password")
    await client.set_shutter(on=True)
    await client.close()

asyncio.run(main())

Documentation

📖 Full Documentation

Contributing

Contributions are welcome! Please check out our documentation for development setup and guidelines.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

Related Projects

Note: This SDK builds upon OpenGoPro's protocol specifications and reuses its protobuf definitions, BLE UUIDs, and command constants. We acknowledge and appreciate GoPro's excellent work in documenting and open-sourcing the camera control protocol.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gopro_sdk_py-1.0.2.tar.gz (202.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gopro_sdk_py-1.0.2-py3-none-any.whl (60.6 kB view details)

Uploaded Python 3

File details

Details for the file gopro_sdk_py-1.0.2.tar.gz.

File metadata

  • Download URL: gopro_sdk_py-1.0.2.tar.gz
  • Upload date:
  • Size: 202.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gopro_sdk_py-1.0.2.tar.gz
Algorithm Hash digest
SHA256 137b9de80945d75fb4f7d65c06a1aecc9febdeb9e599487dede90aefbcff2bf2
MD5 1972e40f48ef5bc7e06423a04331dd05
BLAKE2b-256 709a054767c39fb7659f7c664051728b7d3d65261e39e573348fc646bcddfcaf

See more details on using hashes here.

Provenance

The following attestation bundles were made for gopro_sdk_py-1.0.2.tar.gz:

Publisher: release.yml on sean2077/gopro-sdk-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gopro_sdk_py-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: gopro_sdk_py-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 60.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gopro_sdk_py-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f96c35181e4e7b79accf4ec63b45f52f1fcbb09385ebe474574c56b57c7abb6a
MD5 f04391a86613a996ab790748556504ba
BLAKE2b-256 3ad72244a970b6ff4ff5b4f39139602f33a420e37b70f9300671a9e157fa06ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for gopro_sdk_py-1.0.2-py3-none-any.whl:

Publisher: release.yml on sean2077/gopro-sdk-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page