sumo-wrapper-python 1.0.14__py3-none-any.whl → 1.0.16__py3-none-any.whl
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.
Potentially problematic release.
This version of sumo-wrapper-python might be problematic. Click here for more details.
- sumo/wrapper/__init__.py +1 -1
- sumo/wrapper/_auth_provider.py +14 -16
- sumo/wrapper/_logging.py +9 -4
- sumo/wrapper/_retry_strategy.py +1 -1
- sumo/wrapper/_version.py +2 -2
- sumo/wrapper/login.py +2 -2
- sumo/wrapper/sumo_client.py +8 -10
- {sumo_wrapper_python-1.0.14.dist-info → sumo_wrapper_python-1.0.16.dist-info}/METADATA +4 -1
- sumo_wrapper_python-1.0.16.dist-info/RECORD +17 -0
- sumo_wrapper_python-1.0.14.dist-info/RECORD +0 -17
- {sumo_wrapper_python-1.0.14.dist-info → sumo_wrapper_python-1.0.16.dist-info}/LICENSE +0 -0
- {sumo_wrapper_python-1.0.14.dist-info → sumo_wrapper_python-1.0.16.dist-info}/WHEEL +0 -0
- {sumo_wrapper_python-1.0.14.dist-info → sumo_wrapper_python-1.0.16.dist-info}/entry_points.txt +0 -0
- {sumo_wrapper_python-1.0.14.dist-info → sumo_wrapper_python-1.0.16.dist-info}/top_level.txt +0 -0
sumo/wrapper/__init__.py
CHANGED
sumo/wrapper/_auth_provider.py
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import
|
|
1
|
+
import errno
|
|
2
|
+
import json
|
|
2
3
|
import os
|
|
3
|
-
from datetime import datetime, timedelta
|
|
4
4
|
import stat
|
|
5
5
|
import sys
|
|
6
|
-
import json
|
|
7
|
-
import jwt
|
|
8
6
|
import time
|
|
9
|
-
from
|
|
10
|
-
import tenacity as tn
|
|
11
|
-
from ._retry_strategy import _log_retry_info, _return_last_value
|
|
7
|
+
from datetime import datetime, timedelta
|
|
12
8
|
|
|
9
|
+
import jwt
|
|
10
|
+
import msal
|
|
11
|
+
import tenacity as tn
|
|
12
|
+
from azure.identity import ManagedIdentityCredential
|
|
13
13
|
from msal_extensions.persistence import FilePersistence
|
|
14
14
|
from msal_extensions.token_cache import PersistedTokenCache
|
|
15
|
-
import errno
|
|
16
15
|
|
|
16
|
+
from ._retry_strategy import _log_retry_info, _return_last_value
|
|
17
17
|
|
|
18
18
|
if not sys.platform.startswith("linux"):
|
|
19
19
|
from msal_extensions import build_encrypted_persistence
|
|
@@ -422,14 +422,12 @@ def get_auth_provider(
|
|
|
422
422
|
return AuthProviderDeviceCode(client_id, authority, resource_id)
|
|
423
423
|
# ELSE
|
|
424
424
|
if all(
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
"AZURE_AUTHORITY_HOST",
|
|
432
|
-
]
|
|
425
|
+
os.getenv(x)
|
|
426
|
+
for x in [
|
|
427
|
+
"AZURE_FEDERATED_TOKEN_FILE",
|
|
428
|
+
"AZURE_TENANT_ID",
|
|
429
|
+
"AZURE_CLIENT_ID",
|
|
430
|
+
"AZURE_AUTHORITY_HOST",
|
|
433
431
|
]
|
|
434
432
|
):
|
|
435
433
|
return AuthProviderManaged(resource_id)
|
sumo/wrapper/_logging.py
CHANGED
|
@@ -3,14 +3,19 @@ from datetime import datetime
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
class LogHandlerSumo(logging.Handler):
|
|
6
|
-
def __init__(self,
|
|
6
|
+
def __init__(self, sumo_client):
|
|
7
7
|
logging.Handler.__init__(self)
|
|
8
|
-
self._sumoClient =
|
|
8
|
+
self._sumoClient = sumo_client
|
|
9
9
|
return
|
|
10
10
|
|
|
11
11
|
def emit(self, record):
|
|
12
12
|
try:
|
|
13
|
-
dt =
|
|
13
|
+
dt = (
|
|
14
|
+
datetime.now(datetime.timezone.utc)
|
|
15
|
+
.replace(microsecond=0)
|
|
16
|
+
.isoformat()
|
|
17
|
+
+ "Z"
|
|
18
|
+
)
|
|
14
19
|
json = {
|
|
15
20
|
"severity": record.levelname,
|
|
16
21
|
"message": record.getMessage(),
|
|
@@ -20,7 +25,7 @@ class LogHandlerSumo(logging.Handler):
|
|
|
20
25
|
"funcname": record.funcName,
|
|
21
26
|
"linenumber": record.lineno,
|
|
22
27
|
}
|
|
23
|
-
if "objectUuid" in record.__dict__
|
|
28
|
+
if "objectUuid" in record.__dict__:
|
|
24
29
|
json["objectUuid"] = record.__dict__.get("objectUuid")
|
|
25
30
|
|
|
26
31
|
self._sumoClient.post("/message-log/new", json=json)
|
sumo/wrapper/_retry_strategy.py
CHANGED
sumo/wrapper/_version.py
CHANGED
sumo/wrapper/login.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
import platform
|
|
3
|
-
from pathlib import Path
|
|
4
3
|
from argparse import ArgumentParser
|
|
5
|
-
from
|
|
4
|
+
from pathlib import Path
|
|
6
5
|
|
|
6
|
+
from sumo.wrapper import SumoClient
|
|
7
7
|
|
|
8
8
|
logger = logging.getLogger("sumo.wrapper")
|
|
9
9
|
logger.setLevel(level="CRITICAL")
|
sumo/wrapper/sumo_client.py
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import logging
|
|
2
1
|
import asyncio
|
|
2
|
+
import contextlib
|
|
3
|
+
import logging
|
|
4
|
+
import re
|
|
5
|
+
|
|
3
6
|
import httpx
|
|
4
7
|
import jwt
|
|
5
|
-
import re
|
|
6
8
|
|
|
7
|
-
from ._blob_client import BlobClient
|
|
8
|
-
from ._logging import LogHandlerSumo
|
|
9
9
|
from ._auth_provider import get_auth_provider
|
|
10
|
-
from .
|
|
11
|
-
|
|
10
|
+
from ._blob_client import BlobClient
|
|
12
11
|
from ._decorators import (
|
|
13
12
|
raise_for_status,
|
|
14
13
|
raise_for_status_async,
|
|
15
14
|
)
|
|
16
|
-
|
|
15
|
+
from ._logging import LogHandlerSumo
|
|
17
16
|
from ._retry_strategy import RetryStrategy
|
|
17
|
+
from .config import APP_REGISTRATION, AUTHORITY_HOST_URI, TENANT_ID
|
|
18
18
|
|
|
19
19
|
logger = logging.getLogger("sumo.wrapper")
|
|
20
20
|
|
|
@@ -61,12 +61,10 @@ class SumoClient:
|
|
|
61
61
|
logger.debug("Token provided")
|
|
62
62
|
|
|
63
63
|
payload = None
|
|
64
|
-
|
|
64
|
+
with contextlib.suppress(jwt.InvalidTokenError):
|
|
65
65
|
payload = jwt.decode(
|
|
66
66
|
token, options={"verify_signature": False}
|
|
67
67
|
)
|
|
68
|
-
except jwt.InvalidTokenError:
|
|
69
|
-
pass
|
|
70
68
|
|
|
71
69
|
if payload:
|
|
72
70
|
logger.debug(f"Token decoded as JWT, payload: {payload}")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sumo-wrapper-python
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.16
|
|
4
4
|
Summary: Python wrapper for the Sumo API
|
|
5
5
|
Author: Equinor
|
|
6
6
|
License: Apache License
|
|
@@ -217,6 +217,9 @@ Requires-Dist: pyjwt>=2.4.0
|
|
|
217
217
|
Requires-Dist: httpx>=0.24.1
|
|
218
218
|
Requires-Dist: tenacity!=8.4.0,>=8.2.2
|
|
219
219
|
Requires-Dist: azure-identity>=1.13.0
|
|
220
|
+
Provides-Extra: dev
|
|
221
|
+
Requires-Dist: ruff; extra == "dev"
|
|
222
|
+
Requires-Dist: pre-commit; extra == "dev"
|
|
220
223
|
Provides-Extra: docs
|
|
221
224
|
Requires-Dist: sphinx==7.1.2; extra == "docs"
|
|
222
225
|
Requires-Dist: sphinx-rtd-theme; extra == "docs"
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
sumo/__init__.py,sha256=ftS-xRPSH-vU7fIHlnZQaCTWbNvs4owJivNW65kzsIM,85
|
|
2
|
+
sumo/wrapper/__init__.py,sha256=JK6iMAy2Fdrc7iaIHTn60fHPdRvsgNjZwWD6DJtGUYQ,235
|
|
3
|
+
sumo/wrapper/_auth_provider.py,sha256=ZPwqapMRnzSySq9uXT4cavWaIQcff4IPbxb3sHbxhQg,13661
|
|
4
|
+
sumo/wrapper/_blob_client.py,sha256=SyfyFZ1hHVWKU4lmgUqSjl5TaK_OJNQ__0wDETrp-ag,1623
|
|
5
|
+
sumo/wrapper/_decorators.py,sha256=3IEi6GXVkkDACHoo8dOeDoBtZh5TlJ6Tw0qlpOVHqLQ,806
|
|
6
|
+
sumo/wrapper/_logging.py,sha256=jOtMpiVJcF38QBM4ER1VDdHom777L5MkfomtOVHXgu8,1060
|
|
7
|
+
sumo/wrapper/_retry_strategy.py,sha256=qDgl_FLec94fzZaCG__BT8tO4O-D5cZ2_JRYw1zjVTI,2495
|
|
8
|
+
sumo/wrapper/_version.py,sha256=OcA20nRH5gN8Im6t8AH3QbHotRF95Y1oRjb-V9J1UZ8,413
|
|
9
|
+
sumo/wrapper/config.py,sha256=6t7qqjrrmd11m4VMlRryiMYw2JDU_R51305woAP1TAs,865
|
|
10
|
+
sumo/wrapper/login.py,sha256=PGYhKnrwV4NorNbwnWj-5LDvCCIKgn-pnvCTeCDvqXA,2375
|
|
11
|
+
sumo/wrapper/sumo_client.py,sha256=aJNLJRJSHShS3NbdVbzAHoc9tEPka9i9mGoH4QUDd2A,16423
|
|
12
|
+
sumo_wrapper_python-1.0.16.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
13
|
+
sumo_wrapper_python-1.0.16.dist-info/METADATA,sha256=u8GX1sAt274QcfBwSLLL8Yfe5idUKAzyuk7LfsRYIcg,14560
|
|
14
|
+
sumo_wrapper_python-1.0.16.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
|
15
|
+
sumo_wrapper_python-1.0.16.dist-info/entry_points.txt,sha256=V_vGky2C3He5vohJAxnBdvpt_fqfUDFj5irUm9HtoFc,55
|
|
16
|
+
sumo_wrapper_python-1.0.16.dist-info/top_level.txt,sha256=rLbKyH9rWgCj3PoLeR7fvC5X8vCaUc5LF8-Y_GBWZL0,5
|
|
17
|
+
sumo_wrapper_python-1.0.16.dist-info/RECORD,,
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
sumo/__init__.py,sha256=ftS-xRPSH-vU7fIHlnZQaCTWbNvs4owJivNW65kzsIM,85
|
|
2
|
-
sumo/wrapper/__init__.py,sha256=wW7Bjl0btCgK9_exGVrfJsnFmTOybIdyeCudz0LueQM,235
|
|
3
|
-
sumo/wrapper/_auth_provider.py,sha256=O7Yqw4xfEWCJXF_jAX0zosT4bSPUtbDLYZ46aQWJ4k4,13709
|
|
4
|
-
sumo/wrapper/_blob_client.py,sha256=SyfyFZ1hHVWKU4lmgUqSjl5TaK_OJNQ__0wDETrp-ag,1623
|
|
5
|
-
sumo/wrapper/_decorators.py,sha256=3IEi6GXVkkDACHoo8dOeDoBtZh5TlJ6Tw0qlpOVHqLQ,806
|
|
6
|
-
sumo/wrapper/_logging.py,sha256=lnhjn6oQna33jZpzeZ7IeBya2uKNfrzXr_C3nw7txo0,965
|
|
7
|
-
sumo/wrapper/_retry_strategy.py,sha256=_V-KzAyP1nAeHf1lhc_syxlaKj5CQz-tIsCYs2DONe0,2495
|
|
8
|
-
sumo/wrapper/_version.py,sha256=sEq8Tf4d_nMnRZA-jwnwrmVPC7MsZNgsD8EqI9_88Pg,413
|
|
9
|
-
sumo/wrapper/config.py,sha256=6t7qqjrrmd11m4VMlRryiMYw2JDU_R51305woAP1TAs,865
|
|
10
|
-
sumo/wrapper/login.py,sha256=IlENRNdSc2UPmGdrcxjziovMVYpV40qQSnAuDy5LKh4,2375
|
|
11
|
-
sumo/wrapper/sumo_client.py,sha256=wlPUc1RdXP-9K2JHYqp3CvYp8lfceJ-cGV0-3Q7GpDA,16425
|
|
12
|
-
sumo_wrapper_python-1.0.14.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
13
|
-
sumo_wrapper_python-1.0.14.dist-info/METADATA,sha256=QlgT1mfE6xhBm-oCGrus9lGZSIsLsVMh8jdRXacIuBU,14462
|
|
14
|
-
sumo_wrapper_python-1.0.14.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
|
15
|
-
sumo_wrapper_python-1.0.14.dist-info/entry_points.txt,sha256=V_vGky2C3He5vohJAxnBdvpt_fqfUDFj5irUm9HtoFc,55
|
|
16
|
-
sumo_wrapper_python-1.0.14.dist-info/top_level.txt,sha256=rLbKyH9rWgCj3PoLeR7fvC5X8vCaUc5LF8-Y_GBWZL0,5
|
|
17
|
-
sumo_wrapper_python-1.0.14.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{sumo_wrapper_python-1.0.14.dist-info → sumo_wrapper_python-1.0.16.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|