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.1"
".": "0.0.2"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 76
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/frostedinc%2Fwhopsdk-493b08fc2ae996eaf1758fa74f56163b2e40d4e1abeaa9672b8d1a039df30d75.yml
openapi_spec_hash: 212470480a88cabb38a58b5b6867c733
config_hash: d72e5036b7f668d3a99a5a96248c4052
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
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# Changelog

## 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)

### Features

* **api:** api update ([2d9ebee](https://github.com/whopio/whopsdk-python/commit/2d9ebeebfa02aed3ec8b515d0e5b11de07062a38))
* **api:** api update ([5663cf4](https://github.com/whopio/whopsdk-python/commit/5663cf45944bf6f9d236b7a77aac23ce7f17fb61))
* **api:** api update ([d3d6d23](https://github.com/whopio/whopsdk-python/commit/d3d6d2364fbac6ec7e828471093c27e5bdba8527))
* **api:** api update ([f05be6f](https://github.com/whopio/whopsdk-python/commit/f05be6fd65bbd8fca4400d2e38e727153a72de43))
* **api:** api update ([cb2935f](https://github.com/whopio/whopsdk-python/commit/cb2935feaef3aa0fe324bf2bb2bb193c96b12275))
* **api:** api update ([d66c088](https://github.com/whopio/whopsdk-python/commit/d66c08873a123a5b65a5fa6f17e66ec6668e37a3))
* **api:** manual updates ([e0bea9f](https://github.com/whopio/whopsdk-python/commit/e0bea9ff169b03e85ba7111ccd7cbe1f4a1eb4cf))


### Chores

* bump `httpx-aiohttp` version to 0.1.9 ([a946c15](https://github.com/whopio/whopsdk-python/commit/a946c15a8d418258f8d259714e725922e44c9389))

## 0.0.1 (2025-10-16)

Full Changelog: [v0.0.1...v0.0.1](https://github.com/whopio/whopsdk-python/compare/v0.0.1...v0.0.1)
Expand Down
44 changes: 44 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

```python
from whop_sdk.types import (
AccessLevel,
AccessPassType,
App,
AppBuild,
Expand All @@ -21,16 +22,20 @@ from whop_sdk.types import (
CustomCta,
Direction,
DmsPostTypes,
EmailNotificationPreferences,
Entry,
EntryStatus,
Experience,
Forum,
ForumPost,
FriendlyReceiptStatus,
GlobalAffiliateStatus,
IndustryTypes,
Invoice,
InvoiceListItem,
InvoiceStatus,
MemberMostRecentActions,
MemberStatuses,
Membership,
MembershipStatus,
Message,
Expand All @@ -53,7 +58,9 @@ from whop_sdk.types import (
Transfer,
Visibility,
VisibilityFilter,
WhoCanCommentTypes,
WhoCanPost,
WhoCanPostTypes,
WhoCanReact,
)
```
Expand Down Expand Up @@ -127,6 +134,16 @@ from whop_sdk.types import (
InvoicePaidWebhookEvent,
InvoicePastDueWebhookEvent,
InvoiceVoidedWebhookEvent,
MembershipActivatedWebhookEvent,
MembershipDeactivatedWebhookEvent,
EntryCreatedWebhookEvent,
EntryApprovedWebhookEvent,
EntryDeniedWebhookEvent,
EntryDeletedWebhookEvent,
CourseLessonInteractionCompletedWebhookEvent,
PaymentSucceededWebhookEvent,
PaymentFailedWebhookEvent,
PaymentPendingWebhookEvent,
UnwrapWebhookEvent,
)
```
Expand Down Expand Up @@ -377,3 +394,30 @@ Methods:
- <code title="post /reactions">client.reactions.<a href="./src/whop_sdk/resources/reactions.py">create</a>(\*\*<a href="src/whop_sdk/types/reaction_create_params.py">params</a>) -> <a href="./src/whop_sdk/types/shared/reaction.py">Reaction</a></code>
- <code title="get /reactions/{id}">client.reactions.<a href="./src/whop_sdk/resources/reactions.py">retrieve</a>(id) -> <a href="./src/whop_sdk/types/shared/reaction.py">Reaction</a></code>
- <code title="get /reactions">client.reactions.<a href="./src/whop_sdk/resources/reactions.py">list</a>(\*\*<a href="src/whop_sdk/types/reaction_list_params.py">params</a>) -> <a href="./src/whop_sdk/types/reaction_list_response.py">SyncCursorPage[ReactionListResponse]</a></code>

# Members

Types:

```python
from whop_sdk.types import MemberRetrieveResponse, MemberListResponse
```

Methods:

- <code title="get /members/{id}">client.members.<a href="./src/whop_sdk/resources/members.py">retrieve</a>(id) -> <a href="./src/whop_sdk/types/member_retrieve_response.py">MemberRetrieveResponse</a></code>
- <code title="get /members">client.members.<a href="./src/whop_sdk/resources/members.py">list</a>(\*\*<a href="src/whop_sdk/types/member_list_params.py">params</a>) -> <a href="./src/whop_sdk/types/member_list_response.py">SyncCursorPage[MemberListResponse]</a></code>

# Forums

Types:

```python
from whop_sdk.types import ForumListResponse
```

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>
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "whop-sdk"
version = "0.0.1"
version = "0.0.2"
description = "The official Python library for the Whop API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down Expand Up @@ -39,7 +39,7 @@ Homepage = "https://github.com/whopio/whopsdk-python"
Repository = "https://github.com/whopio/whopsdk-python"

[project.optional-dependencies]
aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.8"]
aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]
webhooks = ["standardwebhooks"]

[tool.rye]
Expand Down
2 changes: 1 addition & 1 deletion requirements-dev.lock
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ httpx==0.28.1
# via respx
# via standardwebhooks
# via whop-sdk
httpx-aiohttp==0.1.8
httpx-aiohttp==0.1.9
# via whop-sdk
idna==3.4
# via anyio
Expand Down
2 changes: 1 addition & 1 deletion requirements.lock
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ httpx==0.28.1
# via httpx-aiohttp
# via standardwebhooks
# via whop-sdk
httpx-aiohttp==0.1.8
httpx-aiohttp==0.1.9
# via whop-sdk
idna==3.4
# via anyio
Expand Down
18 changes: 18 additions & 0 deletions src/whop_sdk/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@
apps,
plans,
users,
forums,
entries,
members,
invoices,
messages,
payments,
Expand Down Expand Up @@ -81,6 +83,8 @@ class Whop(SyncAPIClient):
support_channels: support_channels.SupportChannelsResource
experiences: experiences.ExperiencesResource
reactions: reactions.ReactionsResource
members: members.MembersResource
forums: forums.ForumsResource
with_raw_response: WhopWithRawResponse
with_streaming_response: WhopWithStreamedResponse

Expand Down Expand Up @@ -180,6 +184,8 @@ def __init__(
self.support_channels = support_channels.SupportChannelsResource(self)
self.experiences = experiences.ExperiencesResource(self)
self.reactions = reactions.ReactionsResource(self)
self.members = members.MembersResource(self)
self.forums = forums.ForumsResource(self)
self.with_raw_response = WhopWithRawResponse(self)
self.with_streaming_response = WhopWithStreamedResponse(self)

Expand Down Expand Up @@ -317,6 +323,8 @@ class AsyncWhop(AsyncAPIClient):
support_channels: support_channels.AsyncSupportChannelsResource
experiences: experiences.AsyncExperiencesResource
reactions: reactions.AsyncReactionsResource
members: members.AsyncMembersResource
forums: forums.AsyncForumsResource
with_raw_response: AsyncWhopWithRawResponse
with_streaming_response: AsyncWhopWithStreamedResponse

Expand Down Expand Up @@ -416,6 +424,8 @@ def __init__(
self.support_channels = support_channels.AsyncSupportChannelsResource(self)
self.experiences = experiences.AsyncExperiencesResource(self)
self.reactions = reactions.AsyncReactionsResource(self)
self.members = members.AsyncMembersResource(self)
self.forums = forums.AsyncForumsResource(self)
self.with_raw_response = AsyncWhopWithRawResponse(self)
self.with_streaming_response = AsyncWhopWithStreamedResponse(self)

Expand Down Expand Up @@ -557,6 +567,8 @@ def __init__(self, client: Whop) -> None:
self.support_channels = support_channels.SupportChannelsResourceWithRawResponse(client.support_channels)
self.experiences = experiences.ExperiencesResourceWithRawResponse(client.experiences)
self.reactions = reactions.ReactionsResourceWithRawResponse(client.reactions)
self.members = members.MembersResourceWithRawResponse(client.members)
self.forums = forums.ForumsResourceWithRawResponse(client.forums)


class AsyncWhopWithRawResponse:
Expand Down Expand Up @@ -589,6 +601,8 @@ def __init__(self, client: AsyncWhop) -> None:
self.support_channels = support_channels.AsyncSupportChannelsResourceWithRawResponse(client.support_channels)
self.experiences = experiences.AsyncExperiencesResourceWithRawResponse(client.experiences)
self.reactions = reactions.AsyncReactionsResourceWithRawResponse(client.reactions)
self.members = members.AsyncMembersResourceWithRawResponse(client.members)
self.forums = forums.AsyncForumsResourceWithRawResponse(client.forums)


class WhopWithStreamedResponse:
Expand Down Expand Up @@ -621,6 +635,8 @@ def __init__(self, client: Whop) -> None:
self.support_channels = support_channels.SupportChannelsResourceWithStreamingResponse(client.support_channels)
self.experiences = experiences.ExperiencesResourceWithStreamingResponse(client.experiences)
self.reactions = reactions.ReactionsResourceWithStreamingResponse(client.reactions)
self.members = members.MembersResourceWithStreamingResponse(client.members)
self.forums = forums.ForumsResourceWithStreamingResponse(client.forums)


class AsyncWhopWithStreamedResponse:
Expand Down Expand Up @@ -657,6 +673,8 @@ def __init__(self, client: AsyncWhop) -> None:
)
self.experiences = experiences.AsyncExperiencesResourceWithStreamingResponse(client.experiences)
self.reactions = reactions.AsyncReactionsResourceWithStreamingResponse(client.reactions)
self.members = members.AsyncMembersResourceWithStreamingResponse(client.members)
self.forums = forums.AsyncForumsResourceWithStreamingResponse(client.forums)


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.1" # x-release-please-version
__version__ = "0.0.2" # x-release-please-version
28 changes: 28 additions & 0 deletions src/whop_sdk/resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,14 @@
UsersResourceWithStreamingResponse,
AsyncUsersResourceWithStreamingResponse,
)
from .forums import (
ForumsResource,
AsyncForumsResource,
ForumsResourceWithRawResponse,
AsyncForumsResourceWithRawResponse,
ForumsResourceWithStreamingResponse,
AsyncForumsResourceWithStreamingResponse,
)
from .entries import (
EntriesResource,
AsyncEntriesResource,
Expand All @@ -32,6 +40,14 @@
EntriesResourceWithStreamingResponse,
AsyncEntriesResourceWithStreamingResponse,
)
from .members import (
MembersResource,
AsyncMembersResource,
MembersResourceWithRawResponse,
AsyncMembersResourceWithRawResponse,
MembersResourceWithStreamingResponse,
AsyncMembersResourceWithStreamingResponse,
)
from .invoices import (
InvoicesResource,
AsyncInvoicesResource,
Expand Down Expand Up @@ -313,4 +329,16 @@
"AsyncReactionsResourceWithRawResponse",
"ReactionsResourceWithStreamingResponse",
"AsyncReactionsResourceWithStreamingResponse",
"MembersResource",
"AsyncMembersResource",
"MembersResourceWithRawResponse",
"AsyncMembersResourceWithRawResponse",
"MembersResourceWithStreamingResponse",
"AsyncMembersResourceWithStreamingResponse",
"ForumsResource",
"AsyncForumsResource",
"ForumsResourceWithRawResponse",
"AsyncForumsResourceWithRawResponse",
"ForumsResourceWithStreamingResponse",
"AsyncForumsResourceWithStreamingResponse",
]
24 changes: 12 additions & 12 deletions src/whop_sdk/resources/checkout_configurations.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,23 +62,23 @@ def create(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CheckoutConfiguration:
"""
Creates a new checkout session
Creates a new checkout configuration

Required permissions:

- `checkout_configuration:create`
- `plan:create`

Args:
affiliate_code: The affiliate code to use for the checkout session
affiliate_code: The affiliate code to use for the checkout configuration

metadata: The metadata to use for the checkout session
metadata: The metadata to use for the checkout configuration

plan: Pass this object to create a new plan for this checkout session
plan: Pass this object to create a new plan for this checkout configuration

plan_id: The ID of the plan to use for the checkout session
plan_id: The ID of the plan to use for the checkout configuration

redirect_url: The URL to redirect the user to after the checkout session is created
redirect_url: The URL to redirect the user to after the checkout configuration is created

extra_headers: Send extra headers

Expand Down Expand Up @@ -251,23 +251,23 @@ async def create(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CheckoutConfiguration:
"""
Creates a new checkout session
Creates a new checkout configuration

Required permissions:

- `checkout_configuration:create`
- `plan:create`

Args:
affiliate_code: The affiliate code to use for the checkout session
affiliate_code: The affiliate code to use for the checkout configuration

metadata: The metadata to use for the checkout session
metadata: The metadata to use for the checkout configuration

plan: Pass this object to create a new plan for this checkout session
plan: Pass this object to create a new plan for this checkout configuration

plan_id: The ID of the plan to use for the checkout session
plan_id: The ID of the plan to use for the checkout configuration

redirect_url: The URL to redirect the user to after the checkout session is created
redirect_url: The URL to redirect the user to after the checkout configuration is created

extra_headers: Send extra headers

Expand Down
Loading