Metadata-Version: 2.5
Name: render-lab-media-contract
Version: 0.1.0
Summary: Registration-free bounded media handoff contracts
License-Expression: MIT
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: render-lab-tasks-core<0.2,>=0.1.1
Description-Content-Type: text/markdown

# render-lab-media-contract

JSON media sources, destinations, results, and validators shared by the media packs.
Registration-free: importing this package registers no tasks and reads no credentials.

```python
from render_lab_media_contract import assert_media_source

assert_media_source({"kind": "url", "url": "https://example.com/audio.mp3"})
```

Use HTTPS URLs or signed PUT destinations for large media. Inline data URIs and
base64 results have a decoded 1 MiB limit; data URIs declare their content type
and byte count. The default bounded transfer limit is 100 MiB. Source headers
and signed destination URLs are credentials; do not log them.

Python rejects malformed base64 rather than silently discarding invalid bytes.
Validators have hermetic tests; this supporting package makes no network calls.

## Installation

```sh
pip install render-lab-media-contract==0.1.0
```
