Skip to main content

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

Project description

GoPro SDK for Python

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-0.1.0.tar.gz (191.9 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-0.1.0-py3-none-any.whl (59.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gopro_sdk_py-0.1.0.tar.gz
  • Upload date:
  • Size: 191.9 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-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8fe2b8078c8b091c3236a03ae53d500b8b60bb12422d01813052725930fca4ab
MD5 c5421e25e92a91875ab7e69f8a1c02ee
BLAKE2b-256 b06f096fe3f854ee295338e68d744999ff118717ff0662c68709ef27c3007714

See more details on using hashes here.

Provenance

The following attestation bundles were made for gopro_sdk_py-0.1.0.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-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: gopro_sdk_py-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 59.0 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-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0ed9d1936a4cc8da9a1bec02d60fea4dcb3650945fe369f6a8600c0a632c4ca6
MD5 bec8a90fa1cc106b293dcdf7b6330bf7
BLAKE2b-256 a7389ed54a221cb7b9e613411fb3988e2c58c90a9b74c52b69e3cdabaf1f4751

See more details on using hashes here.

Provenance

The following attestation bundles were made for gopro_sdk_py-0.1.0-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