python-sdk-remote 0.0.112__tar.gz → 0.0.113__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.
Potentially problematic release.
This version of python-sdk-remote might be problematic. Click here for more details.
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/PKG-INFO +3 -2
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote/src/utilities.py +52 -3
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote.egg-info/PKG-INFO +3 -2
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote.egg-info/requires.txt +1 -0
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/setup.py +4 -3
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/README.md +0 -0
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/pyproject.toml +0 -0
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote/src/__init__.py +0 -0
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote/src/constants.py +0 -0
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote/src/http_response.py +0 -0
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote/src/item.py +0 -0
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote/src/mini_logger.py +0 -0
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote/src/our_object.py +0 -0
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote/src/unified_json.py +0 -0
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote/src/valid_json_versions.py +0 -0
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote/src/validate_environment.py +0 -0
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote.egg-info/SOURCES.txt +0 -0
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote.egg-info/dependency_links.txt +0 -0
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote.egg-info/top_level.txt +0 -0
- {python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/setup.cfg +0 -0
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python-sdk-remote
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.113
|
|
4
4
|
Summary: PyPI Package for Circles Python SDK Local Python
|
|
5
5
|
Home-page: https://github.com/circles-zone/python-sdk-remote-python-package
|
|
6
6
|
Author: Circles
|
|
7
|
-
Author-email: info@
|
|
7
|
+
Author-email: info@circlez.ai
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
|
9
9
|
Classifier: License :: Other/Proprietary License
|
|
10
10
|
Classifier: Operating System :: OS Independent
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
Requires-Dist: python-dotenv
|
|
13
13
|
Requires-Dist: url-remote
|
|
14
|
+
Requires-Dist: pyjwt
|
|
14
15
|
|
|
15
16
|
This is a package for sharing common functions used in different repositories
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import json
|
|
2
|
+
import jwt
|
|
3
|
+
import re
|
|
2
4
|
import os
|
|
3
5
|
from datetime import date, datetime, time, timedelta
|
|
4
6
|
from urllib.parse import urlparse
|
|
@@ -7,7 +9,8 @@ from dotenv import load_dotenv
|
|
|
7
9
|
from url_remote.environment_name_enum import EnvironmentName
|
|
8
10
|
|
|
9
11
|
from .mini_logger import MiniLogger as logger
|
|
10
|
-
from .http_response import (create_authorization_http_headers,
|
|
12
|
+
from .http_response import (create_authorization_http_headers, # noqa - used for backwards compatibility
|
|
13
|
+
get_user_jwt_from_event,
|
|
11
14
|
create_return_http_headers, create_error_http_response, create_ok_http_response,
|
|
12
15
|
create_http_body)
|
|
13
16
|
|
|
@@ -287,7 +290,6 @@ def our_get_env(key: str, default: str = None, raise_if_not_found: bool = True,
|
|
|
287
290
|
return env_var
|
|
288
291
|
|
|
289
292
|
|
|
290
|
-
|
|
291
293
|
def get_sql_hostname() -> str:
|
|
292
294
|
return our_get_env("RDS_HOSTNAME")
|
|
293
295
|
|
|
@@ -300,5 +302,52 @@ def get_sql_password() -> str:
|
|
|
300
302
|
return our_get_env("RDS_PASSWORD")
|
|
301
303
|
|
|
302
304
|
|
|
305
|
+
def get_smartlink_jwt_secret_key() -> str:
|
|
306
|
+
return our_get_env("SMARTLINK_JWT_SECRET_KEY", raise_if_empty=True)
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
def encode_jwt(payload: dict, key: str) -> str:
|
|
310
|
+
"""Example:
|
|
311
|
+
payload = {
|
|
312
|
+
"user_id": 123,
|
|
313
|
+
"username": "john_doe",
|
|
314
|
+
"exp": datetime.datetime.utcnow() + datetime.timedelta(hours=1)
|
|
315
|
+
}
|
|
316
|
+
"""
|
|
317
|
+
return jwt.encode(payload, key, algorithm='HS256')
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
def decode_jwt(token: str, key: str) -> dict:
|
|
321
|
+
"""key can be private / public"""
|
|
322
|
+
return jwt.decode(token, key, algorithms=['HS256'])
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
def obfuscate_log_dict(log_dict: dict) -> dict:
|
|
326
|
+
"""
|
|
327
|
+
Obfuscate keys:
|
|
328
|
+
- %password%
|
|
329
|
+
- %secret%
|
|
330
|
+
- %token%
|
|
331
|
+
- %jwt%
|
|
332
|
+
- %e%mail%
|
|
333
|
+
- %phone%
|
|
334
|
+
- %name% (first / last / nick / user etc.)
|
|
335
|
+
- %address%
|
|
336
|
+
- %ssn%
|
|
337
|
+
"""
|
|
338
|
+
environment_name = get_environment_name()
|
|
339
|
+
if environment_name == EnvironmentName.PLAY1.value:
|
|
340
|
+
return log_dict
|
|
341
|
+
obfuscated_log_dict = {}
|
|
342
|
+
for key, value in log_dict.items():
|
|
343
|
+
if isinstance(value, dict):
|
|
344
|
+
obfuscated_log_dict[key] = obfuscate_log_dict(value)
|
|
345
|
+
elif re.search(r'password|secret|token|jwt|e[\-_]?mail|phone|name|address|ssn', key, re.IGNORECASE):
|
|
346
|
+
obfuscated_log_dict[key] = "***"
|
|
347
|
+
else:
|
|
348
|
+
obfuscated_log_dict[key] = value
|
|
349
|
+
return obfuscated_log_dict
|
|
350
|
+
|
|
351
|
+
|
|
303
352
|
def remove_digits(text: str) -> str:
|
|
304
|
-
return ''.join(
|
|
353
|
+
return ''.join(i for i in text if not i.isdigit())
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python-sdk-remote
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.113
|
|
4
4
|
Summary: PyPI Package for Circles Python SDK Local Python
|
|
5
5
|
Home-page: https://github.com/circles-zone/python-sdk-remote-python-package
|
|
6
6
|
Author: Circles
|
|
7
|
-
Author-email: info@
|
|
7
|
+
Author-email: info@circlez.ai
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
|
9
9
|
Classifier: License :: Other/Proprietary License
|
|
10
10
|
Classifier: Operating System :: OS Independent
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
Requires-Dist: python-dotenv
|
|
13
13
|
Requires-Dist: url-remote
|
|
14
|
+
Requires-Dist: pyjwt
|
|
14
15
|
|
|
15
16
|
This is a package for sharing common functions used in different repositories
|
|
@@ -7,9 +7,9 @@ package_dir = PACKAGE_NAME.replace("-", "_")
|
|
|
7
7
|
# python -m build needs pyproject.toml or setup.py
|
|
8
8
|
setuptools.setup(
|
|
9
9
|
name=PACKAGE_NAME,
|
|
10
|
-
version='0.0.
|
|
10
|
+
version='0.0.113', # https://pypi.org/project/python-sdk-remote/
|
|
11
11
|
author="Circles",
|
|
12
|
-
author_email="info@
|
|
12
|
+
author_email="info@circlez.ai",
|
|
13
13
|
description="PyPI Package for Circles Python SDK Local Python",
|
|
14
14
|
long_description="This is a package for sharing common functions used in different repositories",
|
|
15
15
|
long_description_content_type="text/markdown",
|
|
@@ -24,6 +24,7 @@ setuptools.setup(
|
|
|
24
24
|
],
|
|
25
25
|
install_requires=[
|
|
26
26
|
"python-dotenv",
|
|
27
|
-
"url-remote"
|
|
27
|
+
"url-remote",
|
|
28
|
+
"pyjwt",
|
|
28
29
|
]
|
|
29
30
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote/src/http_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote/src/mini_logger.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote/src/unified_json.py
RENAMED
|
File without changes
|
{python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote/src/valid_json_versions.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{python_sdk_remote-0.0.112 → python_sdk_remote-0.0.113}/python_sdk_remote.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|