deepsights-api 1.2.2__tar.gz → 1.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.
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/CHANGELOG.md +5 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/PKG-INFO +1 -1
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/api/api.py +53 -8
- deepsights_api-1.2.3/deepsights/contentstore/resources/_download.py +51 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/contentstore/resources/news.py +9 -3
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/contentstore/resources/secondary.py +9 -2
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/pyproject.toml +1 -1
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/contentstore/test_news_search.py +11 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/contentstore/test_secondary_search.py +12 -1
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/.github/workflows/build_docs.yml +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/.github/workflows/run_pylint.yml +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/.github/workflows/run_tests.yml +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/.gitignore +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/.pylintrc +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/.python-version +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/.vscode/settings.json +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/LICENSE +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/README.md +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/__init__.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/api/__init__.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/api/resource.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/contentstore/__init__.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/contentstore/contentstore.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/contentstore/resources/__init__.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/contentstore/resources/_model.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/contentstore/resources/_search.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/deepsights/__init__.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/deepsights/_mip_identity.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/deepsights/deepsights.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/deepsights/resources/__init__.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/deepsights/resources/quota/__init__.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/deepsights/resources/quota/_model.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/deepsights/resources/quota/quota.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/__init__.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/documentstore.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/__init__.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/documents/__init__.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/documents/_cache.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/documents/_delete.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/documents/_download.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/documents/_list.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/documents/_load.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/documents/_model.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/documents/_search.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/documents/_segmenter.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/documents/_upload.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/documents/documents.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/userclient/__init__.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/userclient/resources/__init__.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/userclient/resources/_model.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/userclient/resources/answersV2/__init__.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/userclient/resources/answersV2/_model.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/userclient/resources/answersV2/answerV2.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/userclient/resources/reports/__init__.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/userclient/resources/reports/_model.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/userclient/resources/reports/report.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/userclient/userclient.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/utils/__init__.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/utils/_cache.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/utils/_ranking.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/utils/_utils.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/utils/model.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/docs/.gitkeep +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/main.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/requirements.txt +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/setup.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/data/test_data.json +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/data/test_presentation.pdf +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/data/test_text.txt +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/deepsights/identity/test_mip_identity.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/deepsights/quota/test_quota.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/deepsights/userclient/test_userclient.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/documentstore/test_download.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/documentstore/test_lifecycle.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/documentstore/test_list.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/documentstore/test_load.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/documentstore/test_search.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/userclient/answersV2/test_answersV2.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/userclient/reports/test_reports.py +0 -0
- {deepsights_api-1.2.2 → deepsights_api-1.2.3}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deepsights-api
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.3
|
|
4
4
|
Summary: Python library for the DeepSights APIs
|
|
5
5
|
Project-URL: Documentation, https://marketlogicsoftware.github.io/deepsights-api/
|
|
6
6
|
Project-URL: Repository, https://github.com/marketlogicsoftware/deepsights-api
|
|
@@ -16,18 +16,19 @@
|
|
|
16
16
|
This module contains base API client classes.
|
|
17
17
|
"""
|
|
18
18
|
|
|
19
|
-
import os
|
|
20
19
|
import logging
|
|
20
|
+
import os
|
|
21
21
|
from typing import Dict
|
|
22
|
+
|
|
23
|
+
from ratelimit import limits, sleep_and_retry
|
|
24
|
+
from requests import Session
|
|
25
|
+
from requests.exceptions import Timeout
|
|
22
26
|
from tenacity import (
|
|
23
27
|
retry,
|
|
28
|
+
retry_if_exception_type,
|
|
24
29
|
stop_after_attempt,
|
|
25
30
|
wait_random_exponential,
|
|
26
|
-
retry_if_exception_type,
|
|
27
31
|
)
|
|
28
|
-
from requests import Session
|
|
29
|
-
from requests.exceptions import Timeout
|
|
30
|
-
from ratelimit import limits, sleep_and_retry
|
|
31
32
|
|
|
32
33
|
|
|
33
34
|
#################################################
|
|
@@ -107,6 +108,50 @@ class API:
|
|
|
107
108
|
|
|
108
109
|
return response.json()
|
|
109
110
|
|
|
111
|
+
#######################################
|
|
112
|
+
@retry(
|
|
113
|
+
stop=stop_after_attempt(3),
|
|
114
|
+
wait=wait_random_exponential(max=5),
|
|
115
|
+
retry=retry_if_exception_type(Timeout),
|
|
116
|
+
)
|
|
117
|
+
@sleep_and_retry
|
|
118
|
+
@limits(calls=1000, period=60)
|
|
119
|
+
def get_content(
|
|
120
|
+
self, path: str, params: Dict = None, timeout=15, expected_statuscodes=[]
|
|
121
|
+
) -> bytes:
|
|
122
|
+
"""
|
|
123
|
+
Sends a GET request to the specified path and returns the raw response content.
|
|
124
|
+
|
|
125
|
+
This method is similar to get() but returns the raw response content instead of parsing it as JSON.
|
|
126
|
+
Useful for downloading binary data like files or images.
|
|
127
|
+
|
|
128
|
+
Args:
|
|
129
|
+
path (str): The path to send the GET request to.
|
|
130
|
+
params (Dict, optional): Optional parameters to include in the request. Defaults to None.
|
|
131
|
+
timeout (int, optional): The timeout in seconds for the request. Defaults to 15.
|
|
132
|
+
expected_statuscodes (List[int], optional): List of expected status codes. Defaults to an empty list.
|
|
133
|
+
|
|
134
|
+
Returns:
|
|
135
|
+
bytes: The raw content of the server's response.
|
|
136
|
+
|
|
137
|
+
Raises:
|
|
138
|
+
HTTPError: If the GET request fails with a non-200 status code and not in the expected_statuscodes list.
|
|
139
|
+
"""
|
|
140
|
+
response = self._session.get(
|
|
141
|
+
self._endpoint(path), params=params, timeout=timeout
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
if (
|
|
145
|
+
response.status_code != 200
|
|
146
|
+
and not response.status_code in expected_statuscodes
|
|
147
|
+
):
|
|
148
|
+
logging.error(
|
|
149
|
+
"GET %s failed with status code %s", path, response.status_code
|
|
150
|
+
)
|
|
151
|
+
response.raise_for_status()
|
|
152
|
+
|
|
153
|
+
return response.content.decode("utf-8")
|
|
154
|
+
|
|
110
155
|
#######################################
|
|
111
156
|
@retry(
|
|
112
157
|
stop=stop_after_attempt(3),
|
|
@@ -208,9 +253,9 @@ class APIKeyAPI(API):
|
|
|
208
253
|
super().__init__(endpoint_base)
|
|
209
254
|
|
|
210
255
|
# set api key
|
|
211
|
-
assert (
|
|
212
|
-
|
|
213
|
-
)
|
|
256
|
+
assert api_key or api_key_env_var, (
|
|
257
|
+
"Must provide either API key or environment variable"
|
|
258
|
+
)
|
|
214
259
|
if not api_key:
|
|
215
260
|
api_key = os.environ.get(api_key_env_var)
|
|
216
261
|
self._api_key = api_key
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Copyright 2024 Market Logic Software AG. All Rights Reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
"""
|
|
16
|
+
This module contains the base functions to download content from the ContentStore.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
import os
|
|
20
|
+
import tempfile
|
|
21
|
+
import urllib.request
|
|
22
|
+
|
|
23
|
+
from deepsights.api import APIResource
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
#################################################
|
|
27
|
+
def contentstore_download(resource: APIResource, item_id: str) -> str:
|
|
28
|
+
"""
|
|
29
|
+
Downloads and returns the extracted text content of an item from the ContentStore.
|
|
30
|
+
|
|
31
|
+
This function retrieves a signed download link for the specified item's extracted text content
|
|
32
|
+
from the ContentStore API, downloads the content to a temporary file, reads the text content,
|
|
33
|
+
and returns it as a string. The temporary file is automatically cleaned up after use.
|
|
34
|
+
|
|
35
|
+
Args:
|
|
36
|
+
resource (APIResource): An instance of the DeepSights API resource used to make API calls
|
|
37
|
+
to the ContentStore service.
|
|
38
|
+
item_id (str): The unique identifier of the item whose content should be downloaded.
|
|
39
|
+
|
|
40
|
+
Raises:
|
|
41
|
+
ValueError: If the download fails for any reason, such as network errors, invalid item ID,
|
|
42
|
+
or issues reading the downloaded content.
|
|
43
|
+
|
|
44
|
+
Returns:
|
|
45
|
+
str: The extracted text content of the downloaded item as a string.
|
|
46
|
+
"""
|
|
47
|
+
return str(
|
|
48
|
+
resource.api.get_content(
|
|
49
|
+
f"/item-service/items/{item_id}/_download-content-extracted-text",
|
|
50
|
+
)
|
|
51
|
+
)
|
|
@@ -16,19 +16,19 @@
|
|
|
16
16
|
This module defines the resource to retrieve news content from the DeepSights API.
|
|
17
17
|
"""
|
|
18
18
|
|
|
19
|
-
from typing import List
|
|
20
19
|
from datetime import datetime
|
|
20
|
+
from typing import List
|
|
21
21
|
|
|
22
22
|
from deepsights.api import APIResource
|
|
23
|
+
from deepsights.contentstore.resources._download import contentstore_download
|
|
23
24
|
from deepsights.contentstore.resources._model import ContentStoreSearchResult
|
|
24
25
|
from deepsights.contentstore.resources._search import (
|
|
26
|
+
contentstore_hybrid_search,
|
|
25
27
|
contentstore_text_search,
|
|
26
28
|
contentstore_vector_search,
|
|
27
|
-
contentstore_hybrid_search,
|
|
28
29
|
)
|
|
29
30
|
|
|
30
31
|
|
|
31
|
-
|
|
32
32
|
#################################################
|
|
33
33
|
class NewsSearchResult(ContentStoreSearchResult):
|
|
34
34
|
"""
|
|
@@ -42,6 +42,12 @@ class NewsResource(APIResource):
|
|
|
42
42
|
Represents a resource for retrieving news articles from the DeepSights content store.
|
|
43
43
|
"""
|
|
44
44
|
|
|
45
|
+
def download(self, item_id: str) -> str:
|
|
46
|
+
"""
|
|
47
|
+
Download the extracted text content of an item from the ContentStore.
|
|
48
|
+
"""
|
|
49
|
+
return contentstore_download(self, item_id)
|
|
50
|
+
|
|
45
51
|
#################################################
|
|
46
52
|
def vector_search(
|
|
47
53
|
self,
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/contentstore/resources/secondary.py
RENAMED
|
@@ -16,15 +16,16 @@
|
|
|
16
16
|
This module contains the resource to retrieve secondary reports from the DeepSights content store.
|
|
17
17
|
"""
|
|
18
18
|
|
|
19
|
-
from typing import List
|
|
20
19
|
from datetime import datetime
|
|
20
|
+
from typing import List
|
|
21
21
|
|
|
22
22
|
from deepsights.api import APIResource
|
|
23
|
+
from deepsights.contentstore.resources._download import contentstore_download
|
|
23
24
|
from deepsights.contentstore.resources._model import ContentStoreSearchResult
|
|
24
25
|
from deepsights.contentstore.resources._search import (
|
|
26
|
+
contentstore_hybrid_search,
|
|
25
27
|
contentstore_text_search,
|
|
26
28
|
contentstore_vector_search,
|
|
27
|
-
contentstore_hybrid_search,
|
|
28
29
|
)
|
|
29
30
|
|
|
30
31
|
|
|
@@ -41,6 +42,12 @@ class SecondaryResource(APIResource):
|
|
|
41
42
|
Represents a resource for retrieving secondary reports from the DeepSights content store.
|
|
42
43
|
"""
|
|
43
44
|
|
|
45
|
+
def download(self, item_id: str) -> str:
|
|
46
|
+
"""
|
|
47
|
+
Download the extracted text content of an item from the ContentStore.
|
|
48
|
+
"""
|
|
49
|
+
return contentstore_download(self, item_id)
|
|
50
|
+
|
|
44
51
|
#################################################
|
|
45
52
|
def vector_search(
|
|
46
53
|
self,
|
|
@@ -79,6 +79,17 @@ def test_news_text_empty_search():
|
|
|
79
79
|
assert result.publication_date <= results[ix - 1].publication_date
|
|
80
80
|
|
|
81
81
|
|
|
82
|
+
def test_news_download():
|
|
83
|
+
""" """
|
|
84
|
+
results = ds.contentstore.news.text_search(
|
|
85
|
+
query="",
|
|
86
|
+
max_results=1,
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
content = ds.contentstore.news.download(results[0].id)
|
|
90
|
+
assert len(content) > 0
|
|
91
|
+
|
|
92
|
+
|
|
82
93
|
def test_news_text_search_offset():
|
|
83
94
|
"""
|
|
84
95
|
Test the news text search function with an offset.
|
|
@@ -80,6 +80,17 @@ def test_secondary_text_empty_search():
|
|
|
80
80
|
assert result.publication_date <= results[ix - 1].publication_date
|
|
81
81
|
|
|
82
82
|
|
|
83
|
+
def test_news_download():
|
|
84
|
+
""" """
|
|
85
|
+
results = ds.contentstore.secondary.text_search(
|
|
86
|
+
query="",
|
|
87
|
+
max_results=1,
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
content = ds.contentstore.secondary.download(results[0].id)
|
|
91
|
+
assert len(content) > 0
|
|
92
|
+
|
|
93
|
+
|
|
83
94
|
def test_secondary_text_search_offset():
|
|
84
95
|
"""
|
|
85
96
|
Test the secondary text search function with an offset.
|
|
@@ -480,7 +491,7 @@ def test_secondary_text_search_with_title_promotion():
|
|
|
480
491
|
This test case verifies that the hybrid search function returns the expected results
|
|
481
492
|
when searching for secondary articles based on a query with title promotion enabled.
|
|
482
493
|
"""
|
|
483
|
-
query = "consumer
|
|
494
|
+
query = "shopping consumer"
|
|
484
495
|
|
|
485
496
|
# first find top 10 results without title promotion and hard recency weight
|
|
486
497
|
hybrid_results_no_promotion = ds.contentstore.secondary.search(
|
|
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
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/deepsights/resources/quota/__init__.py
RENAMED
|
File without changes
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/deepsights/resources/quota/_model.py
RENAMED
|
File without changes
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/deepsights/resources/quota/quota.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/documents/_cache.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/documents/_list.py
RENAMED
|
File without changes
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/documents/_load.py
RENAMED
|
File without changes
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/documentstore/resources/documents/_model.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
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/userclient/resources/answersV2/__init__.py
RENAMED
|
File without changes
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/userclient/resources/answersV2/_model.py
RENAMED
|
File without changes
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/userclient/resources/answersV2/answerV2.py
RENAMED
|
File without changes
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/userclient/resources/reports/__init__.py
RENAMED
|
File without changes
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/userclient/resources/reports/_model.py
RENAMED
|
File without changes
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/deepsights/userclient/resources/reports/report.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
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/deepsights/identity/test_mip_identity.py
RENAMED
|
File without changes
|
|
File without changes
|
{deepsights_api-1.2.2 → deepsights_api-1.2.3}/tests/deepsights/userclient/test_userclient.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
|