diff --git a/README.md b/README.md
index 428c9206..8ed67b87 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,9 @@
# ๐น๐๏ธ๐ Python SDK for LiveKit
+
Use this SDK to add realtime video, audio and data features to your Python app. By connecting to LiveKit Cloud or a self-hosted server, you can quickly build applications such as multi-modal AI, live streaming, or video calls with just a few lines of code.
+
This repo contains two packages
@@ -52,9 +54,7 @@ from livekit import api
import asyncio
async def main():
- lkapi = api.LiveKitAPI(
- 'http://localhost:7880',
- )
+ lkapi = api.LiveKitAPI("https://my-project.livekit.cloud")
room_info = await lkapi.room.create_room(
api.CreateRoomRequest(name="my-room"),
)
@@ -66,6 +66,29 @@ async def main():
asyncio.run(main())
```
+### Using other APIs
+
+Services can be accessed via the LiveKitAPI object.
+
+```python
+lkapi = api.LiveKitAPI("https://my-project.livekit.cloud")
+
+# Room Service
+room_svc = lkapi.room
+
+# Egress Service
+egress_svc = lkapi.egress
+
+# Ingress Service
+ingress_svc = lkapi.ingress
+
+# Sip Service
+sip_svc = lkapi.sip
+
+# Agent Dispatch
+dispatch_svc = lkapi.agent_dispatch
+```
+
## Using Real-time SDK
```shell
@@ -132,10 +155,9 @@ def on_message_received(msg: rtc.ChatMessage):
await chat.send_message("hello world")
```
-
### RPC
-Perform your own predefined method calls from one participant to another.
+Perform your own predefined method calls from one participant to another.
This feature is especially powerful when used with [Agents](https://docs.livekit.io/agents), for instance to forward LLM function calls to your client application.
@@ -172,11 +194,10 @@ You may find it useful to adjust the `response_timeout` parameter, which indicat
#### Errors
-LiveKit is a dynamic realtime environment and calls can fail for various reasons.
+LiveKit is a dynamic realtime environment and calls can fail for various reasons.
You may throw errors of the type `RpcError` with a string `message` in an RPC method handler and they will be received on the caller's side with the message intact. Other errors will not be transmitted and will instead arrive to the caller as `1500` ("Application Error"). Other built-in errors are detailed in `RpcError`.
-
## Examples
- [Facelandmark](https://github.com/livekit/python-sdks/tree/main/examples/face_landmark): Use mediapipe to detect face landmarks (eyes, nose ...)
@@ -189,7 +210,9 @@ You may throw errors of the type `RpcError` with a string `message` in an RPC me
Please join us on [Slack](https://livekit.io/join-slack) to get help from our devs / community members. We welcome your contributions(PRs) and details can be discussed there.
+
LiveKit Ecosystem | |
---|---|
Realtime SDKs | React Components ยท Browser ยท Swift Components ยท iOS/macOS/visionOS ยท Android ยท Flutter ยท React Native ยท Rust ยท Node.js ยท Python ยท Unity (web) ยท Unity (beta) |