Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.0.2"
".": "0.0.3"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 81
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/frostedinc%2Fwhopsdk-e8bcfd8a19f54624e644a1bc061df234a2e12af010a6c595d5a698cdd0e20682.yml
openapi_spec_hash: b47bb36fbc4c9ebdf3cf6b06f33356ef
config_hash: 131e5271eed10cf11ebc421d5a0c5f8a
configured_endpoints: 105
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/frostedinc%2Fwhopsdk-ef12082e1e61bb15be49ade1364442c5c96bf93c23614e7b39142a8521fd02b7.yml
openapi_spec_hash: c242c4c29807f5967f6ea1247e199dff
config_hash: ba820fe26ad022ecb70dcfe483706a7c
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
# Changelog

## 0.0.3 (2025-10-28)

Full Changelog: [v0.0.2...v0.0.3](https://github.com/whopio/whopsdk-python/compare/v0.0.2...v0.0.3)

### Features

* **api:** api update ([cb26567](https://github.com/whopio/whopsdk-python/commit/cb26567d0790a6b14a82a7b031e6319bc467af03))
* **api:** api update ([9d1c491](https://github.com/whopio/whopsdk-python/commit/9d1c491cc58672b4d7bb54d14717704b5dda8d73))
* **api:** api update ([fb03516](https://github.com/whopio/whopsdk-python/commit/fb03516f3ca1c79848e16fbf21f780fb76db226d))
* **api:** api update ([e4d5e22](https://github.com/whopio/whopsdk-python/commit/e4d5e222ffc757b3255624c5824abcdc8312ea37))
* **api:** api update ([88d7744](https://github.com/whopio/whopsdk-python/commit/88d7744347e459d509142bf983770cb5086b06c9))
* **api:** api update ([853834f](https://github.com/whopio/whopsdk-python/commit/853834f283692e15c9539869b157fb42244ed8b0))
* **api:** api update ([b8cb3de](https://github.com/whopio/whopsdk-python/commit/b8cb3de04d4122a4054a1f56cfee7637a0a1d0af))
* **api:** api update ([06fcd76](https://github.com/whopio/whopsdk-python/commit/06fcd76e5f7c84b1d6a2dda07464867261ea9b58))
* **api:** api update ([8708559](https://github.com/whopio/whopsdk-python/commit/87085590a3ce6debdf321045f88b99ee3625ca48))
* **api:** api update ([bf6a189](https://github.com/whopio/whopsdk-python/commit/bf6a18904aaf4291f76e665be08fc39aff2f3731))
* **api:** api update ([4d649cf](https://github.com/whopio/whopsdk-python/commit/4d649cf643820cbe60a4847c5eacba760d3b90ef))
* **api:** api update ([986b31c](https://github.com/whopio/whopsdk-python/commit/986b31c8e8ddc6f621c8e737eeb5ba24be4ea648))
* **api:** api update ([b7f500d](https://github.com/whopio/whopsdk-python/commit/b7f500dcaa5daa83d6d236e216f130fc6c4db29e))
* **api:** api update ([e27cde0](https://github.com/whopio/whopsdk-python/commit/e27cde011cdda82c57f242acdd20ac7955619373))
* **api:** manual updates ([981c0df](https://github.com/whopio/whopsdk-python/commit/981c0dfb7441c2322c75e2dd6620b5064dd294ec))
* **api:** manual updates ([c41adf9](https://github.com/whopio/whopsdk-python/commit/c41adf99358901411a5947d09a691ab0f1d83f99))

## 0.0.2 (2025-10-22)

Full Changelog: [v0.0.1...v0.0.2](https://github.com/whopio/whopsdk-python/compare/v0.0.1...v0.0.2)
Expand Down
94 changes: 93 additions & 1 deletion api.md
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,7 @@ Methods:

- <code title="post /forum_posts">client.forum_posts.<a href="./src/whop_sdk/resources/forum_posts.py">create</a>(\*\*<a href="src/whop_sdk/types/forum_post_create_params.py">params</a>) -> <a href="./src/whop_sdk/types/shared/forum_post.py">ForumPost</a></code>
- <code title="get /forum_posts/{id}">client.forum_posts.<a href="./src/whop_sdk/resources/forum_posts.py">retrieve</a>(id) -> <a href="./src/whop_sdk/types/shared/forum_post.py">ForumPost</a></code>
- <code title="patch /forum_posts/{id}">client.forum_posts.<a href="./src/whop_sdk/resources/forum_posts.py">update</a>(id, \*\*<a href="src/whop_sdk/types/forum_post_update_params.py">params</a>) -> <a href="./src/whop_sdk/types/shared/forum_post.py">ForumPost</a></code>
- <code title="get /forum_posts">client.forum_posts.<a href="./src/whop_sdk/resources/forum_posts.py">list</a>(\*\*<a href="src/whop_sdk/types/forum_post_list_params.py">params</a>) -> <a href="./src/whop_sdk/types/forum_post_list_response.py">SyncCursorPage[ForumPostListResponse]</a></code>

# Transfers
Expand Down Expand Up @@ -304,6 +305,7 @@ Methods:

- <code title="post /messages">client.messages.<a href="./src/whop_sdk/resources/messages.py">create</a>(\*\*<a href="src/whop_sdk/types/message_create_params.py">params</a>) -> <a href="./src/whop_sdk/types/shared/message.py">Message</a></code>
- <code title="get /messages/{id}">client.messages.<a href="./src/whop_sdk/resources/messages.py">retrieve</a>(id) -> <a href="./src/whop_sdk/types/shared/message.py">Message</a></code>
- <code title="patch /messages/{id}">client.messages.<a href="./src/whop_sdk/resources/messages.py">update</a>(id, \*\*<a href="src/whop_sdk/types/message_update_params.py">params</a>) -> <a href="./src/whop_sdk/types/shared/message.py">Message</a></code>
- <code title="get /messages">client.messages.<a href="./src/whop_sdk/resources/messages.py">list</a>(\*\*<a href="src/whop_sdk/types/message_list_params.py">params</a>) -> <a href="./src/whop_sdk/types/message_list_response.py">SyncCursorPage[MessageListResponse]</a></code>

# ChatChannels
Expand Down Expand Up @@ -338,7 +340,7 @@ Methods:
Types:

```python
from whop_sdk.types import PaymentListResponse
from whop_sdk.types import BillingReasons, CardBrands, PaymentMethodTypes, PaymentListResponse
```

Methods:
Expand Down Expand Up @@ -380,6 +382,7 @@ Methods:
- <code title="delete /experiences/{id}">client.experiences.<a href="./src/whop_sdk/resources/experiences.py">delete</a>(id) -> <a href="./src/whop_sdk/types/experience_delete_response.py">ExperienceDeleteResponse</a></code>
- <code title="post /experiences/{id}/attach">client.experiences.<a href="./src/whop_sdk/resources/experiences.py">attach</a>(id, \*\*<a href="src/whop_sdk/types/experience_attach_params.py">params</a>) -> <a href="./src/whop_sdk/types/shared/experience.py">Experience</a></code>
- <code title="post /experiences/{id}/detach">client.experiences.<a href="./src/whop_sdk/resources/experiences.py">detach</a>(id, \*\*<a href="src/whop_sdk/types/experience_detach_params.py">params</a>) -> <a href="./src/whop_sdk/types/shared/experience.py">Experience</a></code>
- <code title="post /experiences/{id}/duplicate">client.experiences.<a href="./src/whop_sdk/resources/experiences.py">duplicate</a>(id, \*\*<a href="src/whop_sdk/types/experience_duplicate_params.py">params</a>) -> <a href="./src/whop_sdk/types/shared/experience.py">Experience</a></code>

# Reactions

Expand Down Expand Up @@ -421,3 +424,92 @@ Methods:
- <code title="get /forums/{id}">client.forums.<a href="./src/whop_sdk/resources/forums.py">retrieve</a>(id) -> <a href="./src/whop_sdk/types/shared/forum.py">Forum</a></code>
- <code title="patch /forums/{id}">client.forums.<a href="./src/whop_sdk/resources/forums.py">update</a>(id, \*\*<a href="src/whop_sdk/types/forum_update_params.py">params</a>) -> <a href="./src/whop_sdk/types/shared/forum.py">Forum</a></code>
- <code title="get /forums">client.forums.<a href="./src/whop_sdk/resources/forums.py">list</a>(\*\*<a href="src/whop_sdk/types/forum_list_params.py">params</a>) -> <a href="./src/whop_sdk/types/forum_list_response.py">SyncCursorPage[ForumListResponse]</a></code>

# PromoCodes

Types:

```python
from whop_sdk.types import (
PromoCode,
PromoCodeStatus,
PromoDuration,
PromoCodeListResponse,
PromoCodeDeleteResponse,
)
```

Methods:

- <code title="post /promo_codes">client.promo_codes.<a href="./src/whop_sdk/resources/promo_codes.py">create</a>(\*\*<a href="src/whop_sdk/types/promo_code_create_params.py">params</a>) -> <a href="./src/whop_sdk/types/promo_code.py">PromoCode</a></code>
- <code title="get /promo_codes/{id}">client.promo_codes.<a href="./src/whop_sdk/resources/promo_codes.py">retrieve</a>(id) -> <a href="./src/whop_sdk/types/promo_code.py">PromoCode</a></code>
- <code title="get /promo_codes">client.promo_codes.<a href="./src/whop_sdk/resources/promo_codes.py">list</a>(\*\*<a href="src/whop_sdk/types/promo_code_list_params.py">params</a>) -> <a href="./src/whop_sdk/types/promo_code_list_response.py">SyncCursorPage[PromoCodeListResponse]</a></code>
- <code title="delete /promo_codes/{id}">client.promo_codes.<a href="./src/whop_sdk/resources/promo_codes.py">delete</a>(id) -> <a href="./src/whop_sdk/types/promo_code_delete_response.py">PromoCodeDeleteResponse</a></code>

# Courses

Types:

```python
from whop_sdk.types import Course, Languages, CourseListResponse, CourseDeleteResponse
```

Methods:

- <code title="post /courses">client.courses.<a href="./src/whop_sdk/resources/courses.py">create</a>(\*\*<a href="src/whop_sdk/types/course_create_params.py">params</a>) -> <a href="./src/whop_sdk/types/course.py">Course</a></code>
- <code title="get /courses/{id}">client.courses.<a href="./src/whop_sdk/resources/courses.py">retrieve</a>(id) -> <a href="./src/whop_sdk/types/course.py">Course</a></code>
- <code title="patch /courses/{id}">client.courses.<a href="./src/whop_sdk/resources/courses.py">update</a>(id, \*\*<a href="src/whop_sdk/types/course_update_params.py">params</a>) -> <a href="./src/whop_sdk/types/course.py">Course</a></code>
- <code title="get /courses">client.courses.<a href="./src/whop_sdk/resources/courses.py">list</a>(\*\*<a href="src/whop_sdk/types/course_list_params.py">params</a>) -> <a href="./src/whop_sdk/types/course_list_response.py">SyncCursorPage[CourseListResponse]</a></code>
- <code title="delete /courses/{id}">client.courses.<a href="./src/whop_sdk/resources/courses.py">delete</a>(id) -> <a href="./src/whop_sdk/types/course_delete_response.py">CourseDeleteResponse</a></code>

# CourseChapters

Types:

```python
from whop_sdk.types import CourseChapter, CourseChapterListResponse, CourseChapterDeleteResponse
```

Methods:

- <code title="post /course_chapters">client.course_chapters.<a href="./src/whop_sdk/resources/course_chapters.py">create</a>(\*\*<a href="src/whop_sdk/types/course_chapter_create_params.py">params</a>) -> <a href="./src/whop_sdk/types/course_chapter.py">CourseChapter</a></code>
- <code title="get /course_chapters/{id}">client.course_chapters.<a href="./src/whop_sdk/resources/course_chapters.py">retrieve</a>(id) -> <a href="./src/whop_sdk/types/course_chapter.py">CourseChapter</a></code>
- <code title="patch /course_chapters/{id}">client.course_chapters.<a href="./src/whop_sdk/resources/course_chapters.py">update</a>(id, \*\*<a href="src/whop_sdk/types/course_chapter_update_params.py">params</a>) -> <a href="./src/whop_sdk/types/course_chapter.py">CourseChapter</a></code>
- <code title="get /course_chapters">client.course_chapters.<a href="./src/whop_sdk/resources/course_chapters.py">list</a>(\*\*<a href="src/whop_sdk/types/course_chapter_list_params.py">params</a>) -> <a href="./src/whop_sdk/types/course_chapter_list_response.py">SyncCursorPage[CourseChapterListResponse]</a></code>
- <code title="delete /course_chapters/{id}">client.course_chapters.<a href="./src/whop_sdk/resources/course_chapters.py">delete</a>(id) -> <a href="./src/whop_sdk/types/course_chapter_delete_response.py">CourseChapterDeleteResponse</a></code>

# CourseLessons

Types:

```python
from whop_sdk.types import (
AssessmentQuestionTypes,
Lesson,
LessonTypes,
LessonVisibilities,
CourseLessonListResponse,
CourseLessonDeleteResponse,
)
```

Methods:

- <code title="post /course_lessons">client.course_lessons.<a href="./src/whop_sdk/resources/course_lessons.py">create</a>(\*\*<a href="src/whop_sdk/types/course_lesson_create_params.py">params</a>) -> <a href="./src/whop_sdk/types/lesson.py">Lesson</a></code>
- <code title="get /course_lessons/{id}">client.course_lessons.<a href="./src/whop_sdk/resources/course_lessons.py">retrieve</a>(id) -> <a href="./src/whop_sdk/types/lesson.py">Lesson</a></code>
- <code title="patch /course_lessons/{id}">client.course_lessons.<a href="./src/whop_sdk/resources/course_lessons.py">update</a>(id, \*\*<a href="src/whop_sdk/types/course_lesson_update_params.py">params</a>) -> <a href="./src/whop_sdk/types/lesson.py">Lesson</a></code>
- <code title="get /course_lessons">client.course_lessons.<a href="./src/whop_sdk/resources/course_lessons.py">list</a>(\*\*<a href="src/whop_sdk/types/course_lesson_list_params.py">params</a>) -> <a href="./src/whop_sdk/types/course_lesson_list_response.py">SyncCursorPage[CourseLessonListResponse]</a></code>
- <code title="delete /course_lessons/{id}">client.course_lessons.<a href="./src/whop_sdk/resources/course_lessons.py">delete</a>(id) -> <a href="./src/whop_sdk/types/course_lesson_delete_response.py">CourseLessonDeleteResponse</a></code>

# Reviews

Types:

```python
from whop_sdk.types import ReviewStatus, ReviewRetrieveResponse, ReviewListResponse
```

Methods:

- <code title="get /reviews/{id}">client.reviews.<a href="./src/whop_sdk/resources/reviews.py">retrieve</a>(id) -> <a href="./src/whop_sdk/types/review_retrieve_response.py">ReviewRetrieveResponse</a></code>
- <code title="get /reviews">client.reviews.<a href="./src/whop_sdk/resources/reviews.py">list</a>(\*\*<a href="src/whop_sdk/types/review_list_params.py">params</a>) -> <a href="./src/whop_sdk/types/review_list_response.py">SyncCursorPage[ReviewListResponse]</a></code>
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "whop-sdk"
version = "0.0.2"
version = "0.0.3"
description = "The official Python library for the Whop API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
49 changes: 47 additions & 2 deletions src/whop_sdk/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,10 @@
plans,
users,
forums,
courses,
entries,
members,
reviews,
invoices,
messages,
payments,
Expand All @@ -41,7 +43,10 @@
experiences,
forum_posts,
memberships,
promo_codes,
chat_channels,
course_lessons,
course_chapters,
ledger_accounts,
authorized_users,
support_channels,
Expand Down Expand Up @@ -85,6 +90,11 @@ class Whop(SyncAPIClient):
reactions: reactions.ReactionsResource
members: members.MembersResource
forums: forums.ForumsResource
promo_codes: promo_codes.PromoCodesResource
courses: courses.CoursesResource
course_chapters: course_chapters.CourseChaptersResource
course_lessons: course_lessons.CourseLessonsResource
reviews: reviews.ReviewsResource
with_raw_response: WhopWithRawResponse
with_streaming_response: WhopWithStreamedResponse

Expand Down Expand Up @@ -186,13 +196,18 @@ def __init__(
self.reactions = reactions.ReactionsResource(self)
self.members = members.MembersResource(self)
self.forums = forums.ForumsResource(self)
self.promo_codes = promo_codes.PromoCodesResource(self)
self.courses = courses.CoursesResource(self)
self.course_chapters = course_chapters.CourseChaptersResource(self)
self.course_lessons = course_lessons.CourseLessonsResource(self)
self.reviews = reviews.ReviewsResource(self)
self.with_raw_response = WhopWithRawResponse(self)
self.with_streaming_response = WhopWithStreamedResponse(self)

@property
@override
def qs(self) -> Querystring:
return Querystring(array_format="comma")
return Querystring(array_format="brackets")

@property
@override
Expand Down Expand Up @@ -325,6 +340,11 @@ class AsyncWhop(AsyncAPIClient):
reactions: reactions.AsyncReactionsResource
members: members.AsyncMembersResource
forums: forums.AsyncForumsResource
promo_codes: promo_codes.AsyncPromoCodesResource
courses: courses.AsyncCoursesResource
course_chapters: course_chapters.AsyncCourseChaptersResource
course_lessons: course_lessons.AsyncCourseLessonsResource
reviews: reviews.AsyncReviewsResource
with_raw_response: AsyncWhopWithRawResponse
with_streaming_response: AsyncWhopWithStreamedResponse

Expand Down Expand Up @@ -426,13 +446,18 @@ def __init__(
self.reactions = reactions.AsyncReactionsResource(self)
self.members = members.AsyncMembersResource(self)
self.forums = forums.AsyncForumsResource(self)
self.promo_codes = promo_codes.AsyncPromoCodesResource(self)
self.courses = courses.AsyncCoursesResource(self)
self.course_chapters = course_chapters.AsyncCourseChaptersResource(self)
self.course_lessons = course_lessons.AsyncCourseLessonsResource(self)
self.reviews = reviews.AsyncReviewsResource(self)
self.with_raw_response = AsyncWhopWithRawResponse(self)
self.with_streaming_response = AsyncWhopWithStreamedResponse(self)

@property
@override
def qs(self) -> Querystring:
return Querystring(array_format="comma")
return Querystring(array_format="brackets")

@property
@override
Expand Down Expand Up @@ -569,6 +594,11 @@ def __init__(self, client: Whop) -> None:
self.reactions = reactions.ReactionsResourceWithRawResponse(client.reactions)
self.members = members.MembersResourceWithRawResponse(client.members)
self.forums = forums.ForumsResourceWithRawResponse(client.forums)
self.promo_codes = promo_codes.PromoCodesResourceWithRawResponse(client.promo_codes)
self.courses = courses.CoursesResourceWithRawResponse(client.courses)
self.course_chapters = course_chapters.CourseChaptersResourceWithRawResponse(client.course_chapters)
self.course_lessons = course_lessons.CourseLessonsResourceWithRawResponse(client.course_lessons)
self.reviews = reviews.ReviewsResourceWithRawResponse(client.reviews)


class AsyncWhopWithRawResponse:
Expand Down Expand Up @@ -603,6 +633,11 @@ def __init__(self, client: AsyncWhop) -> None:
self.reactions = reactions.AsyncReactionsResourceWithRawResponse(client.reactions)
self.members = members.AsyncMembersResourceWithRawResponse(client.members)
self.forums = forums.AsyncForumsResourceWithRawResponse(client.forums)
self.promo_codes = promo_codes.AsyncPromoCodesResourceWithRawResponse(client.promo_codes)
self.courses = courses.AsyncCoursesResourceWithRawResponse(client.courses)
self.course_chapters = course_chapters.AsyncCourseChaptersResourceWithRawResponse(client.course_chapters)
self.course_lessons = course_lessons.AsyncCourseLessonsResourceWithRawResponse(client.course_lessons)
self.reviews = reviews.AsyncReviewsResourceWithRawResponse(client.reviews)


class WhopWithStreamedResponse:
Expand Down Expand Up @@ -637,6 +672,11 @@ def __init__(self, client: Whop) -> None:
self.reactions = reactions.ReactionsResourceWithStreamingResponse(client.reactions)
self.members = members.MembersResourceWithStreamingResponse(client.members)
self.forums = forums.ForumsResourceWithStreamingResponse(client.forums)
self.promo_codes = promo_codes.PromoCodesResourceWithStreamingResponse(client.promo_codes)
self.courses = courses.CoursesResourceWithStreamingResponse(client.courses)
self.course_chapters = course_chapters.CourseChaptersResourceWithStreamingResponse(client.course_chapters)
self.course_lessons = course_lessons.CourseLessonsResourceWithStreamingResponse(client.course_lessons)
self.reviews = reviews.ReviewsResourceWithStreamingResponse(client.reviews)


class AsyncWhopWithStreamedResponse:
Expand Down Expand Up @@ -675,6 +715,11 @@ def __init__(self, client: AsyncWhop) -> None:
self.reactions = reactions.AsyncReactionsResourceWithStreamingResponse(client.reactions)
self.members = members.AsyncMembersResourceWithStreamingResponse(client.members)
self.forums = forums.AsyncForumsResourceWithStreamingResponse(client.forums)
self.promo_codes = promo_codes.AsyncPromoCodesResourceWithStreamingResponse(client.promo_codes)
self.courses = courses.AsyncCoursesResourceWithStreamingResponse(client.courses)
self.course_chapters = course_chapters.AsyncCourseChaptersResourceWithStreamingResponse(client.course_chapters)
self.course_lessons = course_lessons.AsyncCourseLessonsResourceWithStreamingResponse(client.course_lessons)
self.reviews = reviews.AsyncReviewsResourceWithStreamingResponse(client.reviews)


Client = Whop
Expand Down
2 changes: 1 addition & 1 deletion src/whop_sdk/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "whop_sdk"
__version__ = "0.0.2" # x-release-please-version
__version__ = "0.0.3" # x-release-please-version
Loading