| Name | stegawave JSON |
| Version |
0.1.10
JSON |
| download |
| home_page | None |
| Summary | Python client for the Stegawave media pipeline API |
| upload_time | 2025-10-22 20:41:46 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.9 |
| license | None |
| keywords |
aws
media
stegawave
streaming
video
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# Stegawave Python Client
`stegawave` is an unofficial Python SDK for the Stegawave forensic watermarking platform. It wraps the public REST API and helps you validate `/create` payloads, manage pipeline lifecycle, and trigger watermark decode jobs without hand-writing HTTP calls.
## Installation
```bash
pip install stegawave
```
## Quick start
```python
from stegawave import StegawaveClient, models
client = StegawaveClient(api_key="your-api-key")
create_request = models.CreatePipelineRequest(
name="launch-stream",
description="Product launch livestream",
segmentDuration=4,
input=models.InputConfig( # RTMP push by default
Type="RTMP_PUSH",
whitelist=["0.0.0.0/0"],
),
encoder=models.EncoderConfig(
vodArchive=False,
output_group=models.OutputGroup(
Name="cmaf-main",
Outputs=[
models.OutputConfig(
OutputName="cmaf-1080p",
resolution="1920x1080",
FramerateNumerator=30,
FramerateDenominator=1,
VideoBitrate=7_500_000,
AudioBitrate=128_000,
)
],
),
),
packager=models.PackagerConfig(
originEndpoints=[
models.OriginEndpoint(
name="cmaf-hybrid",
ContainerType="CMAF",
HlsManifests=[models.HlsManifest(ManifestName="index")],
)
]
),
)
session = client.create_pipeline_session(create_request, wait=True)
print(session.event_id)
print("Input:", session.input_uri)
print("Manifests:")
for url in session.signed_manifest_uris("john_doe"):
print(" ", url)
```
The SDK automatically injects your API key, validates payload structure using Pydantic models, and surfaces HTTP issues as rich exceptions.
## Configuration
Set your base URL or API key explicitly, or rely on environment variables.
```python
client = StegawaveClient()
```
| Environment variable | Description |
|---------------------------|----------------------------------------|
| `STEGAWAVE_API_KEY` | API key provided by Stegawave |
| `STEGAWAVE_API_BASE_URL` | Override the default `https://api.stegawave.com` |
## Features
- Strongly-typed request and response models for `/create`, `/get`, `/state`, `/delete`, `/token`, `/decode`, `/iptv`, `/passphrase`
- High-level `PipelineSession` workflow helper to provision, poll, and sign manifests in a few lines
- Convenience helpers for SRT listener inputs, ABR ladders, and asynchronous provisioning workflows
- Configurable retries, timeouts, and polling intervals
- First-class error types for authentication, validation, rate limiting, and server-side failures
## Status
This client is pre-release software targeting the October 2025 API schema. Expect breaking changes as the platform evolves. Contributions and issue reports are welcome.
## Development
```bash
pip install -e .[dev]
pytest
```
Refer to `CHANGELOG.md` for planned enhancements and release history.
Raw data
{
"_id": null,
"home_page": null,
"name": "stegawave",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "aws, media, stegawave, streaming, video",
"author": null,
"author_email": "Stegawave <support@stegawave.com>",
"download_url": "https://files.pythonhosted.org/packages/65/90/1ba2e0b6adbb821a1535ef82f43f6dbd401d6b35f9c81725dce96a31d577/stegawave-0.1.10.tar.gz",
"platform": null,
"description": "# Stegawave Python Client\n\n`stegawave` is an unofficial Python SDK for the Stegawave forensic watermarking platform. It wraps the public REST API and helps you validate `/create` payloads, manage pipeline lifecycle, and trigger watermark decode jobs without hand-writing HTTP calls.\n\n## Installation\n\n```bash\npip install stegawave\n```\n\n## Quick start\n\n```python\nfrom stegawave import StegawaveClient, models\n\nclient = StegawaveClient(api_key=\"your-api-key\")\n\ncreate_request = models.CreatePipelineRequest(\n name=\"launch-stream\",\n description=\"Product launch livestream\",\n segmentDuration=4,\n input=models.InputConfig( # RTMP push by default\n Type=\"RTMP_PUSH\",\n whitelist=[\"0.0.0.0/0\"],\n ),\n encoder=models.EncoderConfig(\n vodArchive=False,\n output_group=models.OutputGroup(\n Name=\"cmaf-main\",\n Outputs=[\n models.OutputConfig(\n OutputName=\"cmaf-1080p\",\n resolution=\"1920x1080\",\n FramerateNumerator=30,\n FramerateDenominator=1,\n VideoBitrate=7_500_000,\n AudioBitrate=128_000,\n )\n ],\n ),\n ),\n packager=models.PackagerConfig(\n originEndpoints=[\n models.OriginEndpoint(\n name=\"cmaf-hybrid\",\n ContainerType=\"CMAF\",\n HlsManifests=[models.HlsManifest(ManifestName=\"index\")],\n )\n ]\n ),\n)\n\nsession = client.create_pipeline_session(create_request, wait=True)\nprint(session.event_id)\n\nprint(\"Input:\", session.input_uri)\nprint(\"Manifests:\")\nfor url in session.signed_manifest_uris(\"john_doe\"):\n print(\" \", url)\n```\n\nThe SDK automatically injects your API key, validates payload structure using Pydantic models, and surfaces HTTP issues as rich exceptions.\n\n## Configuration\n\nSet your base URL or API key explicitly, or rely on environment variables.\n\n```python\nclient = StegawaveClient()\n```\n\n| Environment variable | Description |\n|---------------------------|----------------------------------------|\n| `STEGAWAVE_API_KEY` | API key provided by Stegawave |\n| `STEGAWAVE_API_BASE_URL` | Override the default `https://api.stegawave.com` |\n\n## Features\n\n- Strongly-typed request and response models for `/create`, `/get`, `/state`, `/delete`, `/token`, `/decode`, `/iptv`, `/passphrase`\n- High-level `PipelineSession` workflow helper to provision, poll, and sign manifests in a few lines\n- Convenience helpers for SRT listener inputs, ABR ladders, and asynchronous provisioning workflows\n- Configurable retries, timeouts, and polling intervals\n- First-class error types for authentication, validation, rate limiting, and server-side failures\n\n## Status\n\nThis client is pre-release software targeting the October 2025 API schema. Expect breaking changes as the platform evolves. Contributions and issue reports are welcome.\n\n## Development\n\n```bash\npip install -e .[dev]\npytest\n```\n\nRefer to `CHANGELOG.md` for planned enhancements and release history.\n",
"bugtrack_url": null,
"license": null,
"summary": "Python client for the Stegawave media pipeline API",
"version": "0.1.10",
"project_urls": {
"Documentation": "https://stegawave.com/docs",
"Homepage": "https://stegawave.com",
"Source": "https://github.com/stegawave/saas-media-backend"
},
"split_keywords": [
"aws",
" media",
" stegawave",
" streaming",
" video"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "234e82d22303d8051c1bc0746275ad909555ba727445c56e49559a3cf4a027ec",
"md5": "9fee24aa226569c76028cb47b339d63f",
"sha256": "7a67b7c3d3b744e02e38f4f45d60f6345edbe3666e6a186029349ddd8ae36106"
},
"downloads": -1,
"filename": "stegawave-0.1.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9fee24aa226569c76028cb47b339d63f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 13844,
"upload_time": "2025-10-22T20:41:45",
"upload_time_iso_8601": "2025-10-22T20:41:45.829842Z",
"url": "https://files.pythonhosted.org/packages/23/4e/82d22303d8051c1bc0746275ad909555ba727445c56e49559a3cf4a027ec/stegawave-0.1.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "65901ba2e0b6adbb821a1535ef82f43f6dbd401d6b35f9c81725dce96a31d577",
"md5": "a61e9c7f28904bc22be3e78180812525",
"sha256": "9e26ef01e235ce55cd9bfab9452e109e5bbdbfbd398b4d431b97c5b5bb367917"
},
"downloads": -1,
"filename": "stegawave-0.1.10.tar.gz",
"has_sig": false,
"md5_digest": "a61e9c7f28904bc22be3e78180812525",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 11510,
"upload_time": "2025-10-22T20:41:46",
"upload_time_iso_8601": "2025-10-22T20:41:46.898156Z",
"url": "https://files.pythonhosted.org/packages/65/90/1ba2e0b6adbb821a1535ef82f43f6dbd401d6b35f9c81725dce96a31d577/stegawave-0.1.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-22 20:41:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "stegawave",
"github_project": "saas-media-backend",
"github_not_found": true,
"lcname": "stegawave"
}