Skip to main content

relab-rpi-cam-models

Shared transport contracts for the Relab Raspberry Pi Camera plugin and the Relab platform, part of the CML Relab project.

Overview

This package provides stable, hardware-independent DTOs for camera, image, stream, and private device-seam payloads exchanged between the plugin and backend.

Within this repository the package is consumed through the uv workspace, so plugin changes and contract changes can be developed together without a manual publish step. Outside this repository, install it from PyPI (or your internal package index) like any normal Python package.

The published package version is the contract baseline for downstream repos. The workspace link in this repo is intentionally just a local development override, not a second source of truth.

Usage

Install from PyPI (or your internal index):

pip install relab-rpi-cam-models

Import models in your code:

from relab_rpi_cam_models.camera import CameraMode, CameraStatusView
from relab_rpi_cam_models.device_seam import PairingPollResponse, RelayCommandEnvelope
from relab_rpi_cam_models.images import ImageMetadata
from relab_rpi_cam_models.stream import StreamView, StreamMode

From the repo root, update the workspace lock file after contract changes with:

uv lock --upgrade relab-rpi-cam-models

Public API

The supported public API is intentionally small:

  • CameraMode
  • CameraStatusView
  • StreamMode
  • StreamView
  • StreamMetadata
  • ImageCaptureResponse
  • private backend<->plugin device seam models and relay allowlist policy for pairing, relay, local access, and upload acknowledgements
  • image metadata DTOs used inside those responses

This package does not own:

  • frontend/public API schemas generated from backend OpenAPI
  • runtime stream state
  • provider-specific request models such as YouTube stream config
  • Pillow or EXIF helper behavior
  • implementation-specific exceptions
  • plugin runtime wiring such as AppRuntime, RuntimeState, PairingService, or RelayService

Treat anything outside the documented DTOs as private and subject to change.

License

Apache-2.0, so a backend or device that imports these models does not take on the plugin's AGPL-3.0-or-later copyleft.

Metadata

Release files for relab-rpi-cam-models 0.5.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for relab-rpi-cam-models 0.5.2
File Size Uploaded
relab_rpi_cam_models-0.5.2.tar.gz 13.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for relab-rpi-cam-models 0.5.2
File Interpreter ABI Platform
relab_rpi_cam_models-0.5.2-py3-none-any.whl Python 3 none any Details

Total release size: 29.8 kB

Release files / relab_rpi_cam_models-0.5.2.tar.gz

Download URL relab_rpi_cam_models-0.5.2.tar.gz
Size 13.7 kB
Tags Source
SHA-256 checksum
How to use checksums
484effc85488d9acea09be0b98676369ee6d16dad8d77512cc449d3909af07e4
BLAKE2b-256 checksum
How to use checksums
eda35d08ffbb3718adbf2cbbf2d2ddb7b8de4aef2673b406c23cd4ac4cce6868
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 13, 2026.

Transparency log

Release files / relab_rpi_cam_models-0.5.2-py3-none-any.whl

Download URL relab_rpi_cam_models-0.5.2-py3-none-any.whl
Size 16.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fdfec2b0dbbd2df155a60331558d17997efc971caacfaaf9440a3451e727890d
BLAKE2b-256 checksum
How to use checksums
23b26589aaafc1fc71e988b763ca0eab51d9fe75ace0b28e22cb3320ac1fb1fc
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 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.2 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page