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
- 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gopro_sdk_py-1.0.0.tar.gz.
File metadata
- Download URL: gopro_sdk_py-1.0.0.tar.gz
- Upload date:
- Size: 197.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fdf6d9f53d406a72702719e26f11daefa7a2c46dfd0f44ce868f8c309c300c16
|
|
| MD5 |
49164bd297601ec20e0310063927b7a5
|
|
| BLAKE2b-256 |
5d5bbce6e7d3d8bd8d7af02fd616d98d8be9687d76d38e4ac5b9f32cc2822f18
|
Provenance
The following attestation bundles were made for gopro_sdk_py-1.0.0.tar.gz:
Publisher:
release.yml on sean2077/gopro-sdk-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gopro_sdk_py-1.0.0.tar.gz -
Subject digest:
fdf6d9f53d406a72702719e26f11daefa7a2c46dfd0f44ce868f8c309c300c16 - Sigstore transparency entry: 730937020
- Sigstore integration time:
-
Permalink:
sean2077/gopro-sdk-py@9f35130402c32aff83bc9077b56485f1d169eda2 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/sean2077
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9f35130402c32aff83bc9077b56485f1d169eda2 -
Trigger Event:
workflow_run
-
Statement type:
File details
Details for the file gopro_sdk_py-1.0.0-py3-none-any.whl.
File metadata
- Download URL: gopro_sdk_py-1.0.0-py3-none-any.whl
- Upload date:
- Size: 61.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1649ad487e9d20f2e4f41b75c4c028d969863d993cc05e094a151e4a796a90b2
|
|
| MD5 |
8cc7ef4208ab8d84bf579d0e6e8f74fa
|
|
| BLAKE2b-256 |
05990b4bafc3bff8571c5fc0abb51bb0337212896212fbe8a97923da42174a04
|
Provenance
The following attestation bundles were made for gopro_sdk_py-1.0.0-py3-none-any.whl:
Publisher:
release.yml on sean2077/gopro-sdk-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gopro_sdk_py-1.0.0-py3-none-any.whl -
Subject digest:
1649ad487e9d20f2e4f41b75c4c028d969863d993cc05e094a151e4a796a90b2 - Sigstore transparency entry: 730937021
- Sigstore integration time:
-
Permalink:
sean2077/gopro-sdk-py@9f35130402c32aff83bc9077b56485f1d169eda2 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/sean2077
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9f35130402c32aff83bc9077b56485f1d169eda2 -
Trigger Event:
workflow_run
-
Statement type: