howler-client 2.4.0.dev302__tar.gz → 3.0.0.dev306__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.
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/PKG-INFO +1 -1
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/hit.py +12 -3
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/pyproject.toml +1 -1
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/LICENSE +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/README.md +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/__init__.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/client.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/common/__init__.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/common/dict_utils.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/common/utils.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/connection.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/logger.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/__init__.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/comment.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/help.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/search/__init__.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/search/chunk.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/search/facet.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/search/fields.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/search/grouped.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/search/histogram.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/search/stats.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/search/stream.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/user.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/v2/__init__.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/v2/case.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/v2/ingest.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/v2/search.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/utils/__init__.py +0 -0
- {howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/utils/json_encoders.py +0 -0
|
@@ -2,7 +2,7 @@ import json
|
|
|
2
2
|
import sys
|
|
3
3
|
import warnings
|
|
4
4
|
from hashlib import sha256
|
|
5
|
-
from typing import TYPE_CHECKING, Any, Literal
|
|
5
|
+
from typing import TYPE_CHECKING, Any, Literal, TypedDict
|
|
6
6
|
|
|
7
7
|
from howler_client.common.dict_utils import flatten
|
|
8
8
|
from howler_client.common.utils import ClientError, api_path
|
|
@@ -44,6 +44,14 @@ UPDATE_OPERATIONS = [
|
|
|
44
44
|
]
|
|
45
45
|
|
|
46
46
|
|
|
47
|
+
class CreateHitsResponse(TypedDict):
|
|
48
|
+
"""Response returned after successfully creating one or more hits."""
|
|
49
|
+
|
|
50
|
+
valid: list[dict[str, Any]]
|
|
51
|
+
invalid: list[dict[str, Any]]
|
|
52
|
+
warnings: list[str]
|
|
53
|
+
|
|
54
|
+
|
|
47
55
|
class Hit(object):
|
|
48
56
|
"Operations pertaining to ingesting and interacting with Howler hits."
|
|
49
57
|
|
|
@@ -147,7 +155,7 @@ class Hit(object):
|
|
|
147
155
|
self: Self,
|
|
148
156
|
data: dict[str, Any] | list[dict[str, Any]],
|
|
149
157
|
ignore_extra_values: bool = False,
|
|
150
|
-
):
|
|
158
|
+
) -> CreateHitsResponse | None:
|
|
151
159
|
"""Create one or many hits using the howler schema.
|
|
152
160
|
|
|
153
161
|
Args:
|
|
@@ -156,7 +164,8 @@ class Hit(object):
|
|
|
156
164
|
Defaults to False.
|
|
157
165
|
|
|
158
166
|
Returns:
|
|
159
|
-
|
|
167
|
+
CreateHitsResponse | None: Created and invalid hits with warnings, or ``None`` when no
|
|
168
|
+
new hits are submitted (e.g., input is empty or all submitted hits already exist).
|
|
160
169
|
"""
|
|
161
170
|
if not isinstance(data, list):
|
|
162
171
|
data = [data]
|
|
@@ -91,7 +91,7 @@ suppress-none-returning = true
|
|
|
91
91
|
[tool.poetry]
|
|
92
92
|
package-mode = true
|
|
93
93
|
name = "howler-client"
|
|
94
|
-
version = "
|
|
94
|
+
version = "3.0.0.dev306"
|
|
95
95
|
description = "The Howler client library facilitates issuing requests to Howler"
|
|
96
96
|
authors = [
|
|
97
97
|
"Canadian Centre for Cyber Security <howler@cyber.gc.ca>",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/common/dict_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/search/__init__.py
RENAMED
|
File without changes
|
{howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/search/chunk.py
RENAMED
|
File without changes
|
{howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/search/facet.py
RENAMED
|
File without changes
|
{howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/search/fields.py
RENAMED
|
File without changes
|
{howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/search/grouped.py
RENAMED
|
File without changes
|
{howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/search/histogram.py
RENAMED
|
File without changes
|
{howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/search/stats.py
RENAMED
|
File without changes
|
{howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/search/stream.py
RENAMED
|
File without changes
|
|
File without changes
|
{howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/module/v2/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_client-2.4.0.dev302 → howler_client-3.0.0.dev306}/howler_client/utils/json_encoders.py
RENAMED
|
File without changes
|