Shared Pydantic models for RElab Raspberry Pi Camera plugin models
Project description
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:
CameraModeCameraStatusViewStreamModeStreamViewStreamMetadataImageCaptureResponse- 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, orRelayService
Treat anything outside the documented DTOs as private and subject to change.
License
AGPL-3.0-or-later
Project details
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 relab_rpi_cam_models-0.4.0.tar.gz.
File metadata
- Download URL: relab_rpi_cam_models-0.4.0.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8227e8cf0fa2e7d24f289e1c98465dd3d308c5ffde464cc6f3220c43bc53f8f3
|
|
| MD5 |
50e18f1ec2c3b38109665c9f124ab2e3
|
|
| BLAKE2b-256 |
cf7ed9b341cbe0e4ea8b0709c6ddfa96963eeebbfa076f00c33dc78f6155519a
|
Provenance
The following attestation bundles were made for relab_rpi_cam_models-0.4.0.tar.gz:
Publisher:
models-publish.yml on CMLPlatform/relab-rpi-cam-plugin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
relab_rpi_cam_models-0.4.0.tar.gz -
Subject digest:
8227e8cf0fa2e7d24f289e1c98465dd3d308c5ffde464cc6f3220c43bc53f8f3 - Sigstore transparency entry: 2047486527
- Sigstore integration time:
-
Permalink:
CMLPlatform/relab-rpi-cam-plugin@04e77eef1a3e0b10795a7708a53feb3efe2276ab -
Branch / Tag:
refs/tags/relab-rpi-cam-models-v0.4.0 - Owner: https://github.com/CMLPlatform
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
models-publish.yml@04e77eef1a3e0b10795a7708a53feb3efe2276ab -
Trigger Event:
push
-
Statement type:
File details
Details for the file relab_rpi_cam_models-0.4.0-py3-none-any.whl.
File metadata
- Download URL: relab_rpi_cam_models-0.4.0-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
beb755316ed929402708b28312255f058a1bbf981a5951c8817d83ed2c5b1b55
|
|
| MD5 |
1a80a5d671bc1640192605e7cfd9c9f0
|
|
| BLAKE2b-256 |
b4a0e70ed8a6a99f3ba3875bc1197d73c8dea6667b3e402b1cc885b9d31f08f0
|
Provenance
The following attestation bundles were made for relab_rpi_cam_models-0.4.0-py3-none-any.whl:
Publisher:
models-publish.yml on CMLPlatform/relab-rpi-cam-plugin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
relab_rpi_cam_models-0.4.0-py3-none-any.whl -
Subject digest:
beb755316ed929402708b28312255f058a1bbf981a5951c8817d83ed2c5b1b55 - Sigstore transparency entry: 2047486533
- Sigstore integration time:
-
Permalink:
CMLPlatform/relab-rpi-cam-plugin@04e77eef1a3e0b10795a7708a53feb3efe2276ab -
Branch / Tag:
refs/tags/relab-rpi-cam-models-v0.4.0 - Owner: https://github.com/CMLPlatform
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
models-publish.yml@04e77eef1a3e0b10795a7708a53feb3efe2276ab -
Trigger Event:
push
-
Statement type: