livekit-server-sdk-python
livekit-server-sdk-python copied to clipboard
LiveKit Server SDK for Python
This repo has been deprecated, it's been superceded by https://github.com/livekit/python-sdks/
LiveKit Server SDK
API Reference: https://docs.livekit.io/guides/server-api
Examples
Generate Access Token for a Client
import livekit
grant = livekit.VideoGrant(room_join=True, room="My Cool Room")
access_token = livekit.AccessToken("<api key>", "<api secret>", grant=grant, identity="bob", name="Bob")
token = access_token.to_jwt()
Using RoomServiceClient
import livekit
client = livekit.RoomServiceClient("<host>", "<api key>", "<api secret>")
client.mute_published_track(
room="<room name>",
identity="Bob",
track_sid="<track sid>",
muted=True,
)
Local Development
Make sure you clone with submodules:
$ git clone --recurse-submodules https://github.com/tradablebits/livekit-server-sdk-python.git
Or if you have already cloned:
$ git submodule update --init
Dependencies
- golang >= 1.17
- https://go.dev/doc/install
- protoc
- Ubuntu:
sudo apt install protobuf-compiler
- Ubuntu:
- protoc-gen-twirpy
go install github.com/verloop/twirpy/protoc-gen-twirpy@latest- make sure
~/go/binis in your$PATH
- pre-commit
Environment Setup
Set up the python virtual environment:
$ python3 -m venv env
$ source env/bin/activate
$ pip install --editable '.[dev]'
$ pre-commit install
Run tests
The RoomServiceClient tests require a running LiveKit server.
See the LiveKit Getting Started page.
The tests use the following environment variables to locate the LiveKit server.
export LIVEKIT_HOST='http://localhost:7880'
export LIVEKIT_API_KEY='<api key>'
export LIVEKIT_API_SECRET='<api secret>'
Run the tests:
$ pytest
Updating protocol
The build.sh script pulls the latest tag and builds
$ ./bin/build.sh