Development

Architecture

Primary modules:

  • camerakit/cli.py: unified CLI dispatch.

  • camerakit/calibration.py: calibration command orchestration.

  • camerakit/capture.py: synchronized capture command.

  • camerakit/devices.py: device listing command.

  • camerakit/report.py: calibration summary command.

  • camerakit/utils/calibration.py: calibration pipeline internals.

  • camerakit/utils/enumerator.py: camera enumeration classes.

  • camerakit/utils/sync.py: threaded synchronized frame reader.

  • camerakit/core/calibration_file.py: calibration TOML reader.

Logging

Use the package logger via camerakit.utils.common.get_logger(). Session-level logging should be initialized with setup_logging().

Documentation workflow

Build docs locally:

pip install -r docs/requirements.txt
make -C docs html

Generated output:

  • docs/_build/html/index.html

Contribution expectations

  • Base all contribution work on dev:

    git checkout dev
    git pull origin dev
    
  • Open pull requests targeting dev.

  • Keep TOML config/output compatibility when possible.

  • Update docs and release notes when CLI behavior changes.

  • Mark experimental features clearly (see roadmap).