Metadata-Version: 2.4
Name: TikTokLiveProto
Version: 0.2.1
Summary: Clean-room betterproto2/Pydantic Python bindings for the TikTok Webcast Protobuf schema.
Author: Isaac Kogan
License-Expression: MIT
Project-URL: Repository, https://github.com/isaackogan/TikTok-Webcast-Protobuf
Keywords: protobuf,tiktok,webcast,livestream
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: betterproto2[pydantic]<0.10,>=0.9

# TikTokLiveProto

Python `betterproto2` bindings for the TikTok Webcast Protobuf schema.

## Install

```sh
pip install TikTokLiveProto
```

## Usage

Import the version you need from the version package:

```py
from TikTokLiveProto.v1 import WebcastResponse, WebcastChatMessage
from TikTokLiveProto.v2 import WebcastPushFrame
```

These are generated `betterproto2.Message` classes, using `pydantic`
dataclasses for field validation.

## Layout

- `src/slim/v1/**/*.proto`, `src/slim/v2/**/*.proto` (in the repo root) — canonical schemas
- `targets/python/TikTokLiveProto/src/TikTokLiveProto/{v1,v2}` —
  generated by `protoc` + `python-betterproto2`, committed to the repo,
  regenerated by CI when any `.proto` under `src/slim/` changes
- `targets/python/TikTokLiveProto/src/TikTokLiveProto/__init__.py` —
  keeps the root package minimal while the actual generated code lives directly
  in `TikTokLiveProto.v1` and `TikTokLiveProto.v2`

That means the committed package tree stays small:

```text
src/TikTokLiveProto/
  __init__.py
  v1/
    __init__.py
    message_pool.py
  v2/
    __init__.py
    message_pool.py
```
