Skip to main content

Typed Janus Streaming plugin and async toolkit for janus-api-core

Project description

janus-api-streaming

A standalone, typed named-plugin distribution for janus.plugin.streaming. It depends on janus-api-core>=3,<4, but not on the source orchestrator, Django, Qt, FFmpeg, GStreamer, or SRS.

The package owns:

  • the concrete StreamingPlugin subclass, published as the streaming janus_api.plugins entry point;
  • strict request models for every Streaming command in janus_streaming.requests and forward-compatible response models in janus_streaming.responses;
  • typed convenience methods for every Streaming command on StreamingPlugin;
  • a reusable administrative handle;
  • stable mountpoint specifications and response models;
  • one-handle-per-viewer negotiation state machines;
  • operation deadlines and normalized errors;
  • optional runtime helpers for applications that want the package to own a janus-api-core session manager.

Core remains named-plugin-free: this package is the sole owner of the Streaming implementation and never imports janus_api.models.streaming or janus_api.lib.plugins.streaming, and never asks core to provide a registered Streaming implementation. All direct core imports are confined to janus_streaming._compat.

from janus_streaming import StreamingPlugin
from janus_streaming.requests import ListRequest

plugin = await StreamingPlugin(session=session).attach()
response = await plugin.send(ListRequest())

Source lifecycle orchestration lives elsewhere. Install janus-stream-orchestrator only when you want to expose this package as a mountpoint backend to stream-orchestrator.

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

janus_api_streaming-0.2.0.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

janus_api_streaming-0.2.0-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

Details for the file janus_api_streaming-0.2.0.tar.gz.

File metadata

  • Download URL: janus_api_streaming-0.2.0.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for janus_api_streaming-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d4dc772d5f016c33383b67d000311a4eada33d214ecd9a29ac4cc8c79914e99b
MD5 bc57929d268806c576c25e52e59d17c3
BLAKE2b-256 75a1408eb263bcd575ad2f98d1e6cccf57d427ef72068904810ae6eaa6890633

See more details on using hashes here.

File details

Details for the file janus_api_streaming-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for janus_api_streaming-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5762f41ad34701e456037c617bb087d7cf8fb280f37c10725cee17d1760a1a2f
MD5 caecee93a3bfcc817721c132a2ea9285
BLAKE2b-256 14f7f7f703cbb89a420414e120a2f17b8d374699c1f45b6b8cb30dfe044c44d7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page