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
- Quick Start Guide - Installation and basic usage
- API Reference - Complete API documentation
- Development Guide - Setup, testing, and contribution guidelines
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
- GitHub Issues - Bug reports and feature requests
- GitHub Discussions - Questions and community discussion
Related Projects
- OpenGoPro - Official GoPro Open SDK and protocol specifications
- OpenGoPro Python SDK - Official Python implementation
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.
Metadata
Release files for gopro-sdk-py 1.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gopro_sdk_py-1.0.4.tar.gz | 203.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gopro_sdk_py-1.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 268.1 kB
Release files / gopro_sdk_py-1.0.4.tar.gz
| Download URL | gopro_sdk_py-1.0.4.tar.gz |
|---|---|
| Size | 203.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
665dd03919aa560a66f6af20d16d7c9495ea779f539117b15e10ea1cad1abe74
|
|
BLAKE2b-256 checksum How to use checksums |
6287dc8f3c372ab78533e11670ab6b4ed8635992b3cb8b73b1d92337485654e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 3, 2025.
Transparency logRelease files / gopro_sdk_py-1.0.4-py3-none-any.whl
| Download URL | gopro_sdk_py-1.0.4-py3-none-any.whl |
|---|---|
| Size | 64.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6900b254112d2b77b3549278dafa94b0df716061b9093da25e31f52c0a10e23c
|
|
BLAKE2b-256 checksum How to use checksums |
8e104021c2f48c1fe66326a7549cb80c08cd2a7bfd9c67a28140c9f352845b58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 3, 2025.
Transparency log