Skip to content

Commit c9881ea

Browse files
committed
feat: add OAuth scopes enumeration and enhance access token model
- Introduced `Scope` enum for OAuth scopes in `enums.py`. - Updated `HTTPException` to handle optional response in `errors.py`. - Enhanced `AccessToken` model to include `refresh_token`, `scope`, and `token_kind`. - Added `tags` field to `Category` model. - Created `ChatResponse` model for chat message responses. - Introduced `KicksLeaderboardEntry` and `KicksLeaderboard` models for leaderboard data. - Added `LivestreamStats` model for livestream statistics. - Updated `LiveStream` model to include optional `profile_picture`. - Created channel rewards models including `ChannelReward`, `RedemptionUser`, and redemption-related classes. - Added webhook models for channel reward redemption and updated user model to handle compact user objects. - Enhanced `ChatMessage` model to support replies and created_at timestamp. - Updated `Gift` model in kicks gifted webhook to include `pinned_time_seconds`. - Implemented OAuth callback server for handling authorization flow. - Updated webhook event enum to reflect new events and renamed existing ones for clarity. - Adjusted webhook server to map new event types to their respective models.
1 parent 69665eb commit c9881ea

21 files changed

Lines changed: 1055 additions & 78 deletions

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,5 +173,5 @@ cython_debug/
173173
# PyPI configuration file
174174
.pypirc
175175

176-
*.token.json
176+
.kick.*token.json
177177
test_*.py

pyproject.toml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ speed = [
3636
"Brotli",
3737
"cchardet==2.1.7; python_version < '3.10'"
3838
]
39+
docs = [
40+
"mkdocs-material>=9.6",
41+
"mkdocstrings[python]>=0.29",
42+
]
3943

4044
[project.urls]
4145
"Home"= "https://github.com/PredaaA/kickcom.py"
@@ -58,8 +62,8 @@ filter_files = true
5862
[tool.ruff]
5963
target-version = "py313"
6064
line-length = 99
61-
select = ["C90", "E", "F", "I001", "PGH004", "RUF100"]
65+
lint.select = ["C90", "E", "F", "I001", "PGH004", "RUF100"]
6266
fix = true
63-
fixable = ["I001"]
64-
isort.combine-as-imports = true
67+
lint.fixable = ["I001"]
68+
lint.isort.combine-as-imports = true
6569
force-exclude = true

src/kickpy/__init__.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
11
"""Async library for Kick.com API and webhooks"""
22

3-
__version__ = "0.1.5"
3+
__version__ = "1.0.0"
4+
5+
from kickpy.client import KickClient
6+
from kickpy.enums import Scope
7+
from kickpy.webhooks.enums import WebhookEvent
8+
from kickpy.webhooks.server import WebhookServer
9+
10+
__all__ = [
11+
"KickClient",
12+
"Scope",
13+
"WebhookEvent",
14+
"WebhookServer",
15+
]

0 commit comments

Comments
 (0)