pyTermite
pyTermite is a small toolkit that simplifies discovering, connecting to and
controlling a swarm of GoPro cameras over USB and mDNS. It wraps parts of the
open_gopro library and provides a convenient CLI and small Python API for
automation and testing.
Key features
- Discover GoPro devices via mDNS/USB
- Connect to multiple cameras concurrently
- Query camera info and runtime state
- Start/stop recording on multiple cameras simultaneously
- Interactive REPL and programmatic API
Quick start
If you want to try out pyTermite quickly, you can install it from PyPI and run the demo script from the GitHub repository:
pip install pyTermite
python -m demo.py
Make sure to put the serial numbers of one or multiple connected cameras in a subdirectory ./config/gopro_serials.json next to demo.py before running the script.
Structure of this file is as follows:
{
"camera_name": "camera_serial_number"
}
If you want to contribute or run the latest development version, you can clone the repository and install it locally. Create a virtual environment, install dependencies and run the demo script:
git clone https://github.com/cimt-unia/pyTermite.git
cd pyTermite
python -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -e .
Running the CLI
After installation, you can use the bundled CLI. Examples:
# discover devices (waits for mDNS / USB discovery)
pytermite scan --timeout 5
# connect to discovered devices automatically
pytermite connect --auto
# connect using explicit serials
pytermite connect --serials S123,S456
# start recording on connected devices
pytermite record start
# disconnect
pytermite disconnect
Testing
To use an individual config for testing .env files are recommended.
Create a file env/.env.test with the following content and change YOUR_WORKDIR to the root path of this repository:
PYTERMITE_LOG_LEVEL=DEBUG
This should be sufficient since the tox.ini is already configured to load the env/.env.test file automatically when running tests.
Run the test suite with coverage reporting:
pip install tox --group test
tox r -m test coverage
Documentation
Build the Sphinx documentation locally and open the generated HTML:
python -m pip install -e . tox --group docs
tox r -m docs
or alternatively use sphinx-autobuild:
python -m pip install -e . tox --group docs
sphinx-autobuild docs/source docs/build/html
Contributing
See CONTRIBUTING.md and the Developer Guide for contribution guidelines and the typical workflow
(pull requests, tests, code style).
License
This project is licensed under the BSD-3-Clause license (see
LICENSE.txt).
Contact
Lukas Behammer — lukas.behammer@uni-a.de
Metadata
Release files for pyTermite 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pytermite-1.0.0.tar.gz | 2.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pytermite-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.1 MB
Release files / pytermite-1.0.0.tar.gz
| Download URL | pytermite-1.0.0.tar.gz |
|---|---|
| Size | 2.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7aad5a17ef91065a97b1498e47a29468b214c7c57412ef2467d5d99705160ab5
|
|
BLAKE2b-256 checksum How to use checksums |
c38c788f49d27a76bacdca2f7a86460ed9733b6df2f9a67295ba92971bfa7599
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 14, 2026.
Transparency logRelease files / pytermite-1.0.0-py3-none-any.whl
| Download URL | pytermite-1.0.0-py3-none-any.whl |
|---|---|
| Size | 1.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4ac601c7df8fd7517f724b0c094a29d97f0956442b60110aca2a70a840032773
|
|
BLAKE2b-256 checksum How to use checksums |
1d4ee8facc25f224679b1240913af4dd34bccc5667f1d7b8f858f55bd1de8bd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 14, 2026.
Transparency log