How gopro/opengopro works
Open GoPro is a developer repository for camera API specifications, runnable demos, and supporting utilities—not a single end-user application. The main internal workflow shown in the sampled implementation is a command-line tool that reads TOML scope rules, parses generated Kotlin declarations, and rewrites their visibility. The repository also includes protobuf specifications for camera features and demos across several languages and frameworks. Those are documented as independent content areas; their runtime interactions are not established by the sampled files. The graph reflects that evidence limit rather than connecting them speculatively.
Main entry points: kotlin_transformer.py Kotlin transformer · set_kotlin_proto_scopes.py Scope CLI · parsers/config.py TOML parser · entities/config.py Scope config
Components 8
Camera specifications
- Protobuf schemas
protobuf
Kotlin manipulator
- Scope CLI
tools/proto_build/kmp_proto_manipulator/kmp_proto_manipulator/scripts/set_kotlin_proto_scopes.py - TOML parser
tools/proto_build/kmp_proto_manipulator/kmp_proto_manipulator/parsers/config.py - Scope config
tools/proto_build/kmp_proto_manipulator/kmp_proto_manipulator/entities/config.py - Kotlin transformer
tools/proto_build/kmp_proto_manipulator/kmp_proto_manipulator/parsers/kotlin_transformer.py - Kotlin grammar
tools/proto_build/kmp_proto_manipulator/kmp_proto_manipulator/grammar/kotlin_proto.py
Runnable demos
- Language demos
demos
Other components
- Developer
Connections 5
- Scope CLI → TOML parser: parses rules
tools/proto_build/kmp_proto_manipulator/kmp_proto_manipulator/scripts/set_kotlin_proto_scopes.py - Scope CLI → Kotlin transformer: transforms files
tools/proto_build/kmp_proto_manipulator/kmp_proto_manipulator/scripts/set_kotlin_proto_scopes.py - TOML parser → Scope config: creates config
tools/proto_build/kmp_proto_manipulator/kmp_proto_manipulator/parsers/config.py - Kotlin transformer → Scope config: uses rules
tools/proto_build/kmp_proto_manipulator/kmp_proto_manipulator/parsers/kotlin_transformer.py - Kotlin transformer → Kotlin grammar: parses declarations
tools/proto_build/kmp_proto_manipulator/kmp_proto_manipulator/parsers/kotlin_transformer.py