moderation_api 1.0.0__tar.gz → 1.0.2__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.
- moderation_api-1.0.2/.release-please-manifest.json +3 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/CHANGELOG.md +21 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/PKG-INFO +5 -8
- {moderation_api-1.0.0 → moderation_api-1.0.2}/README.md +4 -7
- {moderation_api-1.0.0 → moderation_api-1.0.2}/pyproject.toml +1 -1
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_types.py +3 -2
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_version.py +1 -1
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/actions/execute_execute_response.py +2 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/author_create_params.py +5 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/author_create_response.py +9 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/author_list_response.py +9 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/author_retrieve_response.py +9 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/author_update_params.py +5 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/author_update_response.py +9 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/content_submit_params.py +18 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/content_submit_response.py +31 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/wordlist_get_embedding_status_response.py +2 -0
- moderation_api-1.0.0/.release-please-manifest.json +0 -3
- {moderation_api-1.0.0 → moderation_api-1.0.2}/.gitignore +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/CONTRIBUTING.md +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/LICENSE +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/SECURITY.md +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/api.md +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/bin/check-release-environment +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/bin/publish-pypi +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/examples/.keep +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/noxfile.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/release-please-config.json +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/requirements-dev.lock +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/requirements.lock +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/__init__.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_base_client.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_client.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_compat.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_constants.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_exceptions.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_files.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_models.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_qs.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_resource.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_streaming.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_utils/__init__.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_utils/_compat.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_utils/_datetime_parse.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_utils/_logs.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_utils/_proxy.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_utils/_reflection.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_utils/_resources_proxy.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_utils/_streams.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_utils/_sync.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_utils/_transform.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_utils/_typing.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/_utils/_utils.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/lib/.keep +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/py.typed +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/__init__.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/account.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/actions/__init__.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/actions/actions.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/actions/execute.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/auth.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/authors.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/content.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/queue/__init__.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/queue/items.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/queue/queue.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/wordlist/__init__.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/wordlist/wordlist.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/wordlist/words.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/__init__.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/account_list_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/action_create_params.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/action_create_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/action_delete_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/action_list_params.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/action_list_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/action_retrieve_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/action_update_params.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/action_update_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/actions/__init__.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/actions/execute_execute_by_id_params.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/actions/execute_execute_by_id_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/actions/execute_execute_params.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/auth_create_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/auth_retrieve_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/author_delete_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/author_list_params.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/queue/__init__.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/queue/item_list_params.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/queue/item_list_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/queue/item_resolve_params.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/queue/item_resolve_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/queue/item_unresolve_params.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/queue/item_unresolve_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/queue_get_stats_params.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/queue_get_stats_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/queue_retrieve_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/wordlist/__init__.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/wordlist/word_add_params.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/wordlist/word_add_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/wordlist/word_remove_params.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/wordlist/word_remove_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/wordlist_list_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/wordlist_retrieve_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/wordlist_update_params.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/wordlist_update_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/__init__.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/api_resources/__init__.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/api_resources/actions/__init__.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/api_resources/actions/test_execute.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/api_resources/queue/__init__.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/api_resources/queue/test_items.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/api_resources/test_account.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/api_resources/test_actions.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/api_resources/test_auth.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/api_resources/test_authors.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/api_resources/test_content.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/api_resources/test_queue.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/api_resources/test_wordlist.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/api_resources/wordlist/__init__.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/api_resources/wordlist/test_words.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/conftest.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/sample_file.txt +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/test_client.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/test_deepcopy.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/test_extract_files.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/test_files.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/test_models.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/test_qs.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/test_required_args.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/test_response.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/test_streaming.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/test_transform.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/test_utils/test_datetime_parse.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/test_utils/test_proxy.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/test_utils/test_typing.py +0 -0
- {moderation_api-1.0.0 → moderation_api-1.0.2}/tests/utils.py +0 -0
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.0.2 (2025-12-09)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v1.0.1...v1.0.2](https://github.com/moderation-api/sdk-python/compare/v1.0.1...v1.0.2)
|
|
6
|
+
|
|
7
|
+
### Chores
|
|
8
|
+
|
|
9
|
+
* add missing docstrings ([02bdf8f](https://github.com/moderation-api/sdk-python/commit/02bdf8ffdef877fdb38df5c8215f241c0af2936e))
|
|
10
|
+
|
|
11
|
+
## 1.0.1 (2025-12-09)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v1.0.0...v1.0.1](https://github.com/moderation-api/sdk-python/compare/v1.0.0...v1.0.1)
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* **types:** allow pyright to infer TypedDict types within SequenceNotStr ([36ea40a](https://github.com/moderation-api/sdk-python/commit/36ea40ac2b242cd53c8cd915befe809b65a13215))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Chores
|
|
21
|
+
|
|
22
|
+
* update SDK settings ([1876999](https://github.com/moderation-api/sdk-python/commit/18769999773649b22146674569e8ba3ddf88f876))
|
|
23
|
+
|
|
3
24
|
## 1.0.0 (2025-12-06)
|
|
4
25
|
|
|
5
26
|
Full Changelog: [v0.0.1...v1.0.0](https://github.com/moderation-api/sdk-python/compare/v0.0.1...v1.0.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: moderation_api
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.2
|
|
4
4
|
Summary: The official Python library for the moderation-api API
|
|
5
5
|
Project-URL: Homepage, https://github.com/moderation-api/sdk-python
|
|
6
6
|
Project-URL: Repository, https://github.com/moderation-api/sdk-python
|
|
@@ -51,13 +51,10 @@ The REST API documentation can be found on [docs.moderationapi.com](https://docs
|
|
|
51
51
|
## Installation
|
|
52
52
|
|
|
53
53
|
```sh
|
|
54
|
-
# install from
|
|
55
|
-
pip install
|
|
54
|
+
# install from PyPI
|
|
55
|
+
pip install moderation_api
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
> [!NOTE]
|
|
59
|
-
> Once this package is [published to PyPI](https://www.stainless.com/docs/guides/publish), this will become: `pip install moderation_api`
|
|
60
|
-
|
|
61
58
|
## Usage
|
|
62
59
|
|
|
63
60
|
The full API of this library can be found in [api.md](https://github.com/moderation-api/sdk-python/tree/main/api.md).
|
|
@@ -120,8 +117,8 @@ By default, the async client uses `httpx` for HTTP requests. However, for improv
|
|
|
120
117
|
You can enable this by installing `aiohttp`:
|
|
121
118
|
|
|
122
119
|
```sh
|
|
123
|
-
# install from
|
|
124
|
-
pip install
|
|
120
|
+
# install from PyPI
|
|
121
|
+
pip install moderation_api[aiohttp]
|
|
125
122
|
```
|
|
126
123
|
|
|
127
124
|
Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
|
|
@@ -16,13 +16,10 @@ The REST API documentation can be found on [docs.moderationapi.com](https://docs
|
|
|
16
16
|
## Installation
|
|
17
17
|
|
|
18
18
|
```sh
|
|
19
|
-
# install from
|
|
20
|
-
pip install
|
|
19
|
+
# install from PyPI
|
|
20
|
+
pip install moderation_api
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
> [!NOTE]
|
|
24
|
-
> Once this package is [published to PyPI](https://www.stainless.com/docs/guides/publish), this will become: `pip install moderation_api`
|
|
25
|
-
|
|
26
23
|
## Usage
|
|
27
24
|
|
|
28
25
|
The full API of this library can be found in [api.md](api.md).
|
|
@@ -85,8 +82,8 @@ By default, the async client uses `httpx` for HTTP requests. However, for improv
|
|
|
85
82
|
You can enable this by installing `aiohttp`:
|
|
86
83
|
|
|
87
84
|
```sh
|
|
88
|
-
# install from
|
|
89
|
-
pip install
|
|
85
|
+
# install from PyPI
|
|
86
|
+
pip install moderation_api[aiohttp]
|
|
90
87
|
```
|
|
91
88
|
|
|
92
89
|
Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
|
|
@@ -243,6 +243,9 @@ _T_co = TypeVar("_T_co", covariant=True)
|
|
|
243
243
|
if TYPE_CHECKING:
|
|
244
244
|
# This works because str.__contains__ does not accept object (either in typeshed or at runtime)
|
|
245
245
|
# https://github.com/hauntsaninja/useful_types/blob/5e9710f3875107d068e7679fd7fec9cfab0eff3b/useful_types/__init__.py#L285
|
|
246
|
+
#
|
|
247
|
+
# Note: index() and count() methods are intentionally omitted to allow pyright to properly
|
|
248
|
+
# infer TypedDict types when dict literals are used in lists assigned to SequenceNotStr.
|
|
246
249
|
class SequenceNotStr(Protocol[_T_co]):
|
|
247
250
|
@overload
|
|
248
251
|
def __getitem__(self, index: SupportsIndex, /) -> _T_co: ...
|
|
@@ -251,8 +254,6 @@ if TYPE_CHECKING:
|
|
|
251
254
|
def __contains__(self, value: object, /) -> bool: ...
|
|
252
255
|
def __len__(self) -> int: ...
|
|
253
256
|
def __iter__(self) -> Iterator[_T_co]: ...
|
|
254
|
-
def index(self, value: Any, start: int = 0, stop: int = ..., /) -> int: ...
|
|
255
|
-
def count(self, value: Any, /) -> int: ...
|
|
256
257
|
def __reversed__(self) -> Iterator[_T_co]: ...
|
|
257
258
|
else:
|
|
258
259
|
# just point this to a normal `Sequence` at runtime to avoid having to special case
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/author_create_params.py
RENAMED
|
@@ -41,6 +41,11 @@ class AuthorCreateParams(TypedDict, total=False):
|
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
class MetadataTyped(TypedDict, total=False):
|
|
44
|
+
"""Additional metadata provided by your system.
|
|
45
|
+
|
|
46
|
+
We recommend including any relevant information that may assist in the moderation process.
|
|
47
|
+
"""
|
|
48
|
+
|
|
44
49
|
email_verified: Optional[bool]
|
|
45
50
|
"""Whether the author's email is verified"""
|
|
46
51
|
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/author_create_response.py
RENAMED
|
@@ -11,6 +11,8 @@ __all__ = ["AuthorCreateResponse", "Block", "Metadata", "Metrics", "RiskEvaluati
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class Block(BaseModel):
|
|
14
|
+
"""Block or suspension details, if applicable. Null if the author is enabled."""
|
|
15
|
+
|
|
14
16
|
reason: Optional[str] = None
|
|
15
17
|
"""The moderators reason why the author was blocked or suspended."""
|
|
16
18
|
|
|
@@ -19,6 +21,11 @@ class Block(BaseModel):
|
|
|
19
21
|
|
|
20
22
|
|
|
21
23
|
class Metadata(BaseModel):
|
|
24
|
+
"""Additional metadata provided by your system.
|
|
25
|
+
|
|
26
|
+
We recommend including any relevant information that may assist in the moderation process.
|
|
27
|
+
"""
|
|
28
|
+
|
|
22
29
|
email_verified: Optional[bool] = None
|
|
23
30
|
"""Whether the author's email is verified"""
|
|
24
31
|
|
|
@@ -59,6 +66,8 @@ class Metrics(BaseModel):
|
|
|
59
66
|
|
|
60
67
|
|
|
61
68
|
class RiskEvaluation(BaseModel):
|
|
69
|
+
"""Risk assessment details, if available."""
|
|
70
|
+
|
|
62
71
|
risk_level: Optional[float] = None
|
|
63
72
|
"""Calculated risk level based on more than 10 behavioral signals."""
|
|
64
73
|
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/author_list_response.py
RENAMED
|
@@ -20,6 +20,8 @@ __all__ = [
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
class AuthorBlock(BaseModel):
|
|
23
|
+
"""Block or suspension details, if applicable. Null if the author is enabled."""
|
|
24
|
+
|
|
23
25
|
reason: Optional[str] = None
|
|
24
26
|
"""The moderators reason why the author was blocked or suspended."""
|
|
25
27
|
|
|
@@ -28,6 +30,11 @@ class AuthorBlock(BaseModel):
|
|
|
28
30
|
|
|
29
31
|
|
|
30
32
|
class AuthorMetadata(BaseModel):
|
|
33
|
+
"""Additional metadata provided by your system.
|
|
34
|
+
|
|
35
|
+
We recommend including any relevant information that may assist in the moderation process.
|
|
36
|
+
"""
|
|
37
|
+
|
|
31
38
|
email_verified: Optional[bool] = None
|
|
32
39
|
"""Whether the author's email is verified"""
|
|
33
40
|
|
|
@@ -68,6 +75,8 @@ class AuthorMetrics(BaseModel):
|
|
|
68
75
|
|
|
69
76
|
|
|
70
77
|
class AuthorRiskEvaluation(BaseModel):
|
|
78
|
+
"""Risk assessment details, if available."""
|
|
79
|
+
|
|
71
80
|
risk_level: Optional[float] = None
|
|
72
81
|
"""Calculated risk level based on more than 10 behavioral signals."""
|
|
73
82
|
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/author_retrieve_response.py
RENAMED
|
@@ -11,6 +11,8 @@ __all__ = ["AuthorRetrieveResponse", "Block", "Metadata", "Metrics", "RiskEvalua
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class Block(BaseModel):
|
|
14
|
+
"""Block or suspension details, if applicable. Null if the author is enabled."""
|
|
15
|
+
|
|
14
16
|
reason: Optional[str] = None
|
|
15
17
|
"""The moderators reason why the author was blocked or suspended."""
|
|
16
18
|
|
|
@@ -19,6 +21,11 @@ class Block(BaseModel):
|
|
|
19
21
|
|
|
20
22
|
|
|
21
23
|
class Metadata(BaseModel):
|
|
24
|
+
"""Additional metadata provided by your system.
|
|
25
|
+
|
|
26
|
+
We recommend including any relevant information that may assist in the moderation process.
|
|
27
|
+
"""
|
|
28
|
+
|
|
22
29
|
email_verified: Optional[bool] = None
|
|
23
30
|
"""Whether the author's email is verified"""
|
|
24
31
|
|
|
@@ -59,6 +66,8 @@ class Metrics(BaseModel):
|
|
|
59
66
|
|
|
60
67
|
|
|
61
68
|
class RiskEvaluation(BaseModel):
|
|
69
|
+
"""Risk assessment details, if available."""
|
|
70
|
+
|
|
62
71
|
risk_level: Optional[float] = None
|
|
63
72
|
"""Calculated risk level based on more than 10 behavioral signals."""
|
|
64
73
|
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/author_update_params.py
RENAMED
|
@@ -38,6 +38,11 @@ class AuthorUpdateParams(TypedDict, total=False):
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
class MetadataTyped(TypedDict, total=False):
|
|
41
|
+
"""Additional metadata provided by your system.
|
|
42
|
+
|
|
43
|
+
We recommend including any relevant information that may assist in the moderation process.
|
|
44
|
+
"""
|
|
45
|
+
|
|
41
46
|
email_verified: Optional[bool]
|
|
42
47
|
"""Whether the author's email is verified"""
|
|
43
48
|
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/author_update_response.py
RENAMED
|
@@ -11,6 +11,8 @@ __all__ = ["AuthorUpdateResponse", "Block", "Metadata", "Metrics", "RiskEvaluati
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class Block(BaseModel):
|
|
14
|
+
"""Block or suspension details, if applicable. Null if the author is enabled."""
|
|
15
|
+
|
|
14
16
|
reason: Optional[str] = None
|
|
15
17
|
"""The moderators reason why the author was blocked or suspended."""
|
|
16
18
|
|
|
@@ -19,6 +21,11 @@ class Block(BaseModel):
|
|
|
19
21
|
|
|
20
22
|
|
|
21
23
|
class Metadata(BaseModel):
|
|
24
|
+
"""Additional metadata provided by your system.
|
|
25
|
+
|
|
26
|
+
We recommend including any relevant information that may assist in the moderation process.
|
|
27
|
+
"""
|
|
28
|
+
|
|
22
29
|
email_verified: Optional[bool] = None
|
|
23
30
|
"""Whether the author's email is verified"""
|
|
24
31
|
|
|
@@ -59,6 +66,8 @@ class Metrics(BaseModel):
|
|
|
59
66
|
|
|
60
67
|
|
|
61
68
|
class RiskEvaluation(BaseModel):
|
|
69
|
+
"""Risk assessment details, if available."""
|
|
70
|
+
|
|
62
71
|
risk_level: Optional[float] = None
|
|
63
72
|
"""Calculated risk level based on more than 10 behavioral signals."""
|
|
64
73
|
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/content_submit_params.py
RENAMED
|
@@ -85,6 +85,8 @@ class ContentSubmitParams(TypedDict, total=False):
|
|
|
85
85
|
|
|
86
86
|
|
|
87
87
|
class ContentText(TypedDict, total=False):
|
|
88
|
+
"""Text"""
|
|
89
|
+
|
|
88
90
|
text: Required[str]
|
|
89
91
|
"""The content text"""
|
|
90
92
|
|
|
@@ -92,6 +94,8 @@ class ContentText(TypedDict, total=False):
|
|
|
92
94
|
|
|
93
95
|
|
|
94
96
|
class ContentImage(TypedDict, total=False):
|
|
97
|
+
"""Image"""
|
|
98
|
+
|
|
95
99
|
type: Required[Literal["image"]]
|
|
96
100
|
|
|
97
101
|
url: Required[str]
|
|
@@ -99,6 +103,8 @@ class ContentImage(TypedDict, total=False):
|
|
|
99
103
|
|
|
100
104
|
|
|
101
105
|
class ContentVideo(TypedDict, total=False):
|
|
106
|
+
"""Video"""
|
|
107
|
+
|
|
102
108
|
type: Required[Literal["video"]]
|
|
103
109
|
|
|
104
110
|
url: Required[str]
|
|
@@ -106,6 +112,8 @@ class ContentVideo(TypedDict, total=False):
|
|
|
106
112
|
|
|
107
113
|
|
|
108
114
|
class ContentAudio(TypedDict, total=False):
|
|
115
|
+
"""Audio"""
|
|
116
|
+
|
|
109
117
|
type: Required[Literal["audio"]]
|
|
110
118
|
|
|
111
119
|
url: Required[str]
|
|
@@ -113,6 +121,8 @@ class ContentAudio(TypedDict, total=False):
|
|
|
113
121
|
|
|
114
122
|
|
|
115
123
|
class ContentObjectDataText(TypedDict, total=False):
|
|
124
|
+
"""Text"""
|
|
125
|
+
|
|
116
126
|
text: Required[str]
|
|
117
127
|
"""The content text"""
|
|
118
128
|
|
|
@@ -120,6 +130,8 @@ class ContentObjectDataText(TypedDict, total=False):
|
|
|
120
130
|
|
|
121
131
|
|
|
122
132
|
class ContentObjectDataImage(TypedDict, total=False):
|
|
133
|
+
"""Image"""
|
|
134
|
+
|
|
123
135
|
type: Required[Literal["image"]]
|
|
124
136
|
|
|
125
137
|
url: Required[str]
|
|
@@ -127,6 +139,8 @@ class ContentObjectDataImage(TypedDict, total=False):
|
|
|
127
139
|
|
|
128
140
|
|
|
129
141
|
class ContentObjectDataVideo(TypedDict, total=False):
|
|
142
|
+
"""Video"""
|
|
143
|
+
|
|
130
144
|
type: Required[Literal["video"]]
|
|
131
145
|
|
|
132
146
|
url: Required[str]
|
|
@@ -134,6 +148,8 @@ class ContentObjectDataVideo(TypedDict, total=False):
|
|
|
134
148
|
|
|
135
149
|
|
|
136
150
|
class ContentObjectDataAudio(TypedDict, total=False):
|
|
151
|
+
"""Audio"""
|
|
152
|
+
|
|
137
153
|
type: Required[Literal["audio"]]
|
|
138
154
|
|
|
139
155
|
url: Required[str]
|
|
@@ -146,6 +162,8 @@ ContentObjectData: TypeAlias = Union[
|
|
|
146
162
|
|
|
147
163
|
|
|
148
164
|
class ContentObject(TypedDict, total=False):
|
|
165
|
+
"""Object"""
|
|
166
|
+
|
|
149
167
|
data: Required[Dict[str, ContentObjectData]]
|
|
150
168
|
"""Values in the object. Can be mixed content types."""
|
|
151
169
|
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/content_submit_response.py
RENAMED
|
@@ -32,6 +32,8 @@ __all__ = [
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
class AuthorBlock(BaseModel):
|
|
35
|
+
"""Block or suspension details, if applicable. Null if the author is enabled."""
|
|
36
|
+
|
|
35
37
|
reason: Optional[str] = None
|
|
36
38
|
"""The moderators reason why the author was blocked or suspended."""
|
|
37
39
|
|
|
@@ -48,6 +50,11 @@ class AuthorTrustLevel(BaseModel):
|
|
|
48
50
|
|
|
49
51
|
|
|
50
52
|
class Author(BaseModel):
|
|
53
|
+
"""The author of the content if your account has authors enabled.
|
|
54
|
+
|
|
55
|
+
Requires you to send authorId when submitting content.
|
|
56
|
+
"""
|
|
57
|
+
|
|
51
58
|
id: str
|
|
52
59
|
"""Author ID in Moderation API"""
|
|
53
60
|
|
|
@@ -64,6 +71,8 @@ class Author(BaseModel):
|
|
|
64
71
|
|
|
65
72
|
|
|
66
73
|
class ContentModifiedModifiedNestedObjectContentContentModifiedModifiedNestedObjectContentItemText(BaseModel):
|
|
74
|
+
"""Text"""
|
|
75
|
+
|
|
67
76
|
text: str
|
|
68
77
|
"""The content text"""
|
|
69
78
|
|
|
@@ -71,6 +80,8 @@ class ContentModifiedModifiedNestedObjectContentContentModifiedModifiedNestedObj
|
|
|
71
80
|
|
|
72
81
|
|
|
73
82
|
class ContentModifiedModifiedNestedObjectContentContentModifiedModifiedNestedObjectContentItemImage(BaseModel):
|
|
83
|
+
"""Image"""
|
|
84
|
+
|
|
74
85
|
type: Literal["image"]
|
|
75
86
|
|
|
76
87
|
url: str
|
|
@@ -78,6 +89,8 @@ class ContentModifiedModifiedNestedObjectContentContentModifiedModifiedNestedObj
|
|
|
78
89
|
|
|
79
90
|
|
|
80
91
|
class ContentModifiedModifiedNestedObjectContentContentModifiedModifiedNestedObjectContentItemVideo(BaseModel):
|
|
92
|
+
"""Video"""
|
|
93
|
+
|
|
81
94
|
type: Literal["video"]
|
|
82
95
|
|
|
83
96
|
url: str
|
|
@@ -85,6 +98,8 @@ class ContentModifiedModifiedNestedObjectContentContentModifiedModifiedNestedObj
|
|
|
85
98
|
|
|
86
99
|
|
|
87
100
|
class ContentModifiedModifiedNestedObjectContentContentModifiedModifiedNestedObjectContentItemAudio(BaseModel):
|
|
101
|
+
"""Audio"""
|
|
102
|
+
|
|
88
103
|
type: Literal["audio"]
|
|
89
104
|
|
|
90
105
|
url: str
|
|
@@ -100,6 +115,8 @@ ContentModifiedModifiedNestedObjectContentContentModifiedModifiedNestedObjectCon
|
|
|
100
115
|
|
|
101
116
|
|
|
102
117
|
class Content(BaseModel):
|
|
118
|
+
"""Potentially modified content."""
|
|
119
|
+
|
|
103
120
|
id: str
|
|
104
121
|
"""The unique identifier for the content.
|
|
105
122
|
|
|
@@ -119,6 +136,8 @@ class Content(BaseModel):
|
|
|
119
136
|
|
|
120
137
|
|
|
121
138
|
class Evaluation(BaseModel):
|
|
139
|
+
"""The evaluation of the content after running the channel policies."""
|
|
140
|
+
|
|
122
141
|
flag_probability: float
|
|
123
142
|
"""The probability that the content should be flagged."""
|
|
124
143
|
|
|
@@ -136,6 +155,8 @@ class Evaluation(BaseModel):
|
|
|
136
155
|
|
|
137
156
|
|
|
138
157
|
class InsightSentimentInsight(BaseModel):
|
|
158
|
+
"""Sentiment insight"""
|
|
159
|
+
|
|
139
160
|
id: Literal["sentiment"]
|
|
140
161
|
|
|
141
162
|
probability: float
|
|
@@ -146,6 +167,8 @@ class InsightSentimentInsight(BaseModel):
|
|
|
146
167
|
|
|
147
168
|
|
|
148
169
|
class InsightLanguageInsight(BaseModel):
|
|
170
|
+
"""Language insight"""
|
|
171
|
+
|
|
149
172
|
id: Literal["language"]
|
|
150
173
|
|
|
151
174
|
probability: float
|
|
@@ -159,6 +182,8 @@ Insight: TypeAlias = Union[InsightSentimentInsight, InsightLanguageInsight]
|
|
|
159
182
|
|
|
160
183
|
|
|
161
184
|
class Meta(BaseModel):
|
|
185
|
+
"""Metadata about the moderation request"""
|
|
186
|
+
|
|
162
187
|
channel_key: str
|
|
163
188
|
"""The unique key of the channel where the content was handled.
|
|
164
189
|
|
|
@@ -183,6 +208,8 @@ class PolicyClassifierOutputLabel(BaseModel):
|
|
|
183
208
|
|
|
184
209
|
|
|
185
210
|
class PolicyClassifierOutput(BaseModel):
|
|
211
|
+
"""Classifier policy."""
|
|
212
|
+
|
|
186
213
|
id: str
|
|
187
214
|
"""The unique identifier for the classifier output."""
|
|
188
215
|
|
|
@@ -207,6 +234,8 @@ class PolicyEntityMatcherOutputMatch(BaseModel):
|
|
|
207
234
|
|
|
208
235
|
|
|
209
236
|
class PolicyEntityMatcherOutput(BaseModel):
|
|
237
|
+
"""Entity matcher policy."""
|
|
238
|
+
|
|
210
239
|
id: str
|
|
211
240
|
|
|
212
241
|
flagged: bool
|
|
@@ -224,6 +253,8 @@ Policy: TypeAlias = Union[PolicyClassifierOutput, PolicyEntityMatcherOutput]
|
|
|
224
253
|
|
|
225
254
|
|
|
226
255
|
class Recommendation(BaseModel):
|
|
256
|
+
"""The recommendation for the content based on the evaluation."""
|
|
257
|
+
|
|
227
258
|
action: Literal["review", "allow", "reject"]
|
|
228
259
|
"""The action to take based on the recommendation"""
|
|
229
260
|
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/actions/__init__.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/actions/actions.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/actions/execute.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/queue/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/wordlist/__init__.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/wordlist/wordlist.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/resources/wordlist/words.py
RENAMED
|
File without changes
|
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/account_list_response.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/action_create_params.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/action_create_response.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/action_delete_response.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/action_list_params.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/action_list_response.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/action_retrieve_response.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/action_update_params.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/action_update_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/auth_create_response.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/auth_retrieve_response.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/author_delete_response.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/author_list_params.py
RENAMED
|
File without changes
|
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/queue/item_list_params.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/queue/item_list_response.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/queue/item_resolve_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/queue_get_stats_params.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/queue_get_stats_response.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/queue_retrieve_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/wordlist/word_add_params.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/wordlist/word_add_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/wordlist_list_response.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/wordlist_retrieve_response.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/wordlist_update_params.py
RENAMED
|
File without changes
|
{moderation_api-1.0.0 → moderation_api-1.0.2}/src/moderation_api/types/wordlist_update_response.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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|