Metadata-Version: 2.1
Name: livekit-server-sdk-python
Version: 0.2.2
Summary: LiveKit Server SDK
Author-email: Tradable Bits <dev@tradablebits.com>
Requires-Python: >=3.7,<4
Description-Content-Type: text/markdown
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: pyjwt >= 2.0.0, < 3.0
Requires-Dist: twirp >= 0.0.5, < 1.0
Requires-Dist: black ; extra == "dev"
Requires-Dist: coverage ; extra == "dev"
Requires-Dist: isort ; extra == "dev"
Requires-Dist: pytest ; extra == "dev"
Requires-Dist: pytest-coverage ; extra == "dev"
Project-URL: Home, https://github.com/tradablebits/livekit-server-sdk-python
Provides-Extra: dev

# LiveKit Server SDK

API Reference: https://docs.livekit.io/guides/server-api

## Examples

### Generate Access Token for a Client

```py
from livekit import AccessToken, VideoGrant

grant = VideoGrant(room_join=True, room="My Cool Room")
access_token = AccessToken("<api key>", "<api secret>", grant=grant, identity="Bob")
token = access_token.to_jwt()
```

### Using `RoomServiceClient`

```py
from livekit import RoomServiceClient

client = RoomServiceClient("<host>", "<api key>", "<api secret>")
client.mute_published_track(room="<room name>", track="<track sid>")
```

## Local Development

### Dependencies

- golang >= 1.17
    - https://go.dev/doc/install
- protoc
    - Ubuntu: `sudo apt install protobuf-compiler`
- protoc-gen-twirpy
    - `go install github.com/verloop/twirpy/protoc-gen-twirpy@latest`
    - make sure `~/go/bin` is in your `$PATH`

### Environment Setup:

```sh
$ python3 -m venv env
$ source env/bin/activate
$ pip install flit
$ flit install --symlink
```

### Run tests:

The `RoomServiceClient` tests require a running LiveKit server.
See the [LiveKit Getting Started](https://docs.livekit.io/guides/getting-started/) page.

The tests use the following environment variables to locate the LiveKit server.

```sh
export LIVEKIT_HOST='http://localhost:7880'
export LIVEKIT_API_KEY='<api key>'
export LIVEKIT_API_SECRET='<api secret>'
```

Run the tests:

```sh
$ pytest
```

### Updating `protocol`

The `build.sh` script pulls the latest tag and builds

```sh
$ ./bin/build.sh
```

