whatsapp-cloud-api-py 0.2.1__tar.gz → 0.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/PKG-INFO +27 -4
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/README.md +12 -3
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/pyproject.toml +17 -1
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/.github/workflows/ci.yml +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/.github/workflows/publish.yml +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/.gitignore +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/LICENSE +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/__init__.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/client.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/errors/__init__.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/errors/categorize.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/errors/graph_api_error.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/errors/retry.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/events/__init__.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/events/dispatcher.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/events/events.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/resources/__init__.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/resources/flows.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/resources/media.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/resources/messages/__init__.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/resources/messages/models.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/resources/messages/resource.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/resources/phone_numbers.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/resources/templates/__init__.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/resources/templates/models.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/resources/templates/resource.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/types.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/utils/__init__.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/utils/case.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/webhooks/__init__.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/webhooks/normalize.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/webhooks/verify.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/__init__.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/conftest.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_client.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_errors_categorize.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_errors_graph_api_error.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_errors_retry.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_events.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_events_dispatcher.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_messages_models.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_messages_resource.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_resources_flows.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_resources_media.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_resources_phone_numbers.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_resources_templates.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_types.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_utils_case.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_webhooks_normalize.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_webhooks_verify.py +0 -0
- {whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/uv.lock +0 -0
|
@@ -1,12 +1,26 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: whatsapp-cloud-api-py
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: Async Python SDK for WhatsApp Business Cloud API with Pydantic V2
|
|
5
5
|
Project-URL: Homepage, https://github.com/HeiCg/whatsapp-cloud-api-py
|
|
6
6
|
Project-URL: Repository, https://github.com/HeiCg/whatsapp-cloud-api-py
|
|
7
7
|
Project-URL: Issues, https://github.com/HeiCg/whatsapp-cloud-api-py/issues
|
|
8
8
|
License-Expression: MIT
|
|
9
9
|
License-File: LICENSE
|
|
10
|
+
Keywords: async,kapso,pydantic,sdk,whatsapp,whatsapp-cloud-api
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Framework :: AsyncIO
|
|
13
|
+
Classifier: Framework :: Pydantic :: 2
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
21
|
+
Classifier: Topic :: Communications :: Chat
|
|
22
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
23
|
+
Classifier: Typing :: Typed
|
|
10
24
|
Requires-Python: >=3.11
|
|
11
25
|
Requires-Dist: httpx[http2]>=0.27
|
|
12
26
|
Requires-Dist: pydantic>=2.7
|
|
@@ -62,13 +76,22 @@ See the [Kapso docs](https://docs.kapso.ai/docs/introduction) for detailed setup
|
|
|
62
76
|
uv add whatsapp-cloud-api-py
|
|
63
77
|
```
|
|
64
78
|
|
|
65
|
-
|
|
79
|
+
### Extras
|
|
80
|
+
|
|
81
|
+
The base package only requires `httpx` and `pydantic`. Optional extras add functionality as needed:
|
|
82
|
+
|
|
83
|
+
| Extra | Installs | What it enables |
|
|
84
|
+
|---|---|---|
|
|
85
|
+
| `events` | [pyventus](https://pypi.org/project/pyventus/) | Event-driven webhooks — typed event classes (`TextReceived`, `ImageReceived`, etc.) and `dispatch_webhook()` to emit events via pyventus instead of manually parsing payloads |
|
|
86
|
+
| `webhooks` | [starlette](https://pypi.org/project/starlette/) | Starlette integration for webhook endpoints — use `FastAPIEventEmitter` to run event handlers as background tasks |
|
|
87
|
+
| `server` | [cryptography](https://pypi.org/project/cryptography/) | Cryptographic utilities for server-side features like webhook signature verification with HMAC-SHA256 |
|
|
66
88
|
|
|
67
89
|
```bash
|
|
68
|
-
#
|
|
90
|
+
# Pick what you need
|
|
69
91
|
uv add "whatsapp-cloud-api-py[events]"
|
|
92
|
+
uv add "whatsapp-cloud-api-py[events,webhooks]"
|
|
70
93
|
|
|
71
|
-
#
|
|
94
|
+
# Everything
|
|
72
95
|
uv add "whatsapp-cloud-api-py[events,webhooks,server]"
|
|
73
96
|
```
|
|
74
97
|
|
|
@@ -36,13 +36,22 @@ See the [Kapso docs](https://docs.kapso.ai/docs/introduction) for detailed setup
|
|
|
36
36
|
uv add whatsapp-cloud-api-py
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
### Extras
|
|
40
|
+
|
|
41
|
+
The base package only requires `httpx` and `pydantic`. Optional extras add functionality as needed:
|
|
42
|
+
|
|
43
|
+
| Extra | Installs | What it enables |
|
|
44
|
+
|---|---|---|
|
|
45
|
+
| `events` | [pyventus](https://pypi.org/project/pyventus/) | Event-driven webhooks — typed event classes (`TextReceived`, `ImageReceived`, etc.) and `dispatch_webhook()` to emit events via pyventus instead of manually parsing payloads |
|
|
46
|
+
| `webhooks` | [starlette](https://pypi.org/project/starlette/) | Starlette integration for webhook endpoints — use `FastAPIEventEmitter` to run event handlers as background tasks |
|
|
47
|
+
| `server` | [cryptography](https://pypi.org/project/cryptography/) | Cryptographic utilities for server-side features like webhook signature verification with HMAC-SHA256 |
|
|
40
48
|
|
|
41
49
|
```bash
|
|
42
|
-
#
|
|
50
|
+
# Pick what you need
|
|
43
51
|
uv add "whatsapp-cloud-api-py[events]"
|
|
52
|
+
uv add "whatsapp-cloud-api-py[events,webhooks]"
|
|
44
53
|
|
|
45
|
-
#
|
|
54
|
+
# Everything
|
|
46
55
|
uv add "whatsapp-cloud-api-py[events,webhooks,server]"
|
|
47
56
|
```
|
|
48
57
|
|
|
@@ -1,10 +1,26 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "whatsapp-cloud-api-py"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.3"
|
|
4
4
|
description = "Async Python SDK for WhatsApp Business Cloud API with Pydantic V2"
|
|
5
5
|
requires-python = ">=3.11"
|
|
6
6
|
license = "MIT"
|
|
7
7
|
readme = "README.md"
|
|
8
|
+
keywords = ["whatsapp", "whatsapp-cloud-api", "async", "sdk", "pydantic", "kapso"]
|
|
9
|
+
classifiers = [
|
|
10
|
+
"Development Status :: 4 - Beta",
|
|
11
|
+
"Intended Audience :: Developers",
|
|
12
|
+
"License :: OSI Approved :: MIT License",
|
|
13
|
+
"Operating System :: OS Independent",
|
|
14
|
+
"Programming Language :: Python :: 3",
|
|
15
|
+
"Programming Language :: Python :: 3.11",
|
|
16
|
+
"Programming Language :: Python :: 3.12",
|
|
17
|
+
"Programming Language :: Python :: 3.13",
|
|
18
|
+
"Framework :: AsyncIO",
|
|
19
|
+
"Framework :: Pydantic :: 2",
|
|
20
|
+
"Topic :: Communications :: Chat",
|
|
21
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
22
|
+
"Typing :: Typed",
|
|
23
|
+
]
|
|
8
24
|
dependencies = [
|
|
9
25
|
"httpx[http2]>=0.27",
|
|
10
26
|
"pydantic>=2.7",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/__init__.py
RENAMED
|
File without changes
|
{whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/errors/retry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/events/events.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/utils/__init__.py
RENAMED
|
File without changes
|
{whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/src/whatsapp_cloud_api/utils/case.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_errors_graph_api_error.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_resources_phone_numbers.py
RENAMED
|
File without changes
|
{whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_resources_templates.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{whatsapp_cloud_api_py-0.2.1 → whatsapp_cloud_api_py-0.2.3}/tests/test_webhooks_normalize.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|