python-sdks  by livekit

Python SDKs for real-time audio, video, and data

Created 2 years ago
290 stars

Top 90.8% on SourcePulse

GitHubView on GitHub
Project Summary

This repository provides Python SDKs for LiveKit, a platform for building real-time audio, video, and data applications. It targets Python developers looking to integrate features like multi-modal AI, live streaming, or video calls into their applications, offering a streamlined way to connect to LiveKit Cloud or self-hosted servers.

How It Works

The SDK is split into two packages: livekit-api for server-side operations like access token generation and room management, and livekit for real-time client-side connections. livekit-api leverages asyncio and aiohttp for asynchronous HTTP requests to the LiveKit server APIs. The livekit package uses the WebRTC protocol for real-time communication, providing event handlers for participant and track lifecycle events, and supports Remote Procedure Calls (RPC) for inter-participant communication.

Quick Start & Requirements

  • Install livekit-api or livekit via pip: $ pip install livekit-api or $ pip install livekit.
  • Environment variables LIVEKIT_API_KEY and LIVEKIT_API_SECRET are used for authentication with livekit-api.
  • Requires Python 3.7+ for livekit-api and Python 3.8+ for livekit.
  • Examples are available for connecting to rooms, publishing tracks, and performing RPCs.

Highlighted Details

  • Supports server-side room creation, listing, and management via livekit-api.
  • Enables real-time participant connections, track subscription, and data streaming via livekit.
  • Features an RPC mechanism for direct communication between participants, useful for agent-based applications.
  • Integrates with LiveKit's Egress, Ingress, and SIP services.

Maintenance & Community

  • Active development is indicated by the presence of examples and comprehensive API access.
  • Community support is available via Slack. Contributions are welcomed.
  • LiveKit offers SDKs across numerous platforms (Browser, iOS, Android, Flutter, Unity, etc.) and server languages (Node.js, Go, Ruby, Java, Rust).

Licensing & Compatibility

  • The repository does not explicitly state a license in the provided README.

Limitations & Caveats

  • The README does not specify licensing details, which could impact commercial use or integration into closed-source projects.
  • While examples are provided, advanced configurations or error handling scenarios may require deeper investigation into the documentation.
Health Check
Last Commit

13 hours ago

Responsiveness

Inactive

Pull Requests (30d)
12
Issues (30d)
12
Star History
15 stars in the last 30 days

Explore Similar Projects

Starred by Patrick von Platen Patrick von Platen(Author of Hugging Face Diffusers; Research Engineer at Mistral) and Jeff Hammerbacher Jeff Hammerbacher(Cofounder of Cloudera).

client-python by mistralai

0.3%
662
Python SDK for Mistral AI platform
Created 1 year ago
Updated 5 days ago
Feedback? Help us improve.