python-sdk-remote 0.0.113__tar.gz → 0.0.114__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.113 → python_sdk_remote-0.0.114}/PKG-INFO +2 -1
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/utilities.py +57 -3
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote.egg-info/PKG-INFO +2 -1
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote.egg-info/requires.txt +1 -0
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/setup.py +2 -1
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/README.md +0 -0
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/pyproject.toml +0 -0
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/__init__.py +0 -0
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/constants.py +0 -0
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/http_response.py +0 -0
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/item.py +0 -0
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/mini_logger.py +0 -0
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/our_object.py +0 -0
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/unified_json.py +0 -0
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/valid_json_versions.py +0 -0
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/validate_environment.py +0 -0
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote.egg-info/SOURCES.txt +0 -0
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote.egg-info/dependency_links.txt +0 -0
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote.egg-info/top_level.txt +0 -0
- {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python-sdk-remote
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.114
|
|
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
|
|
@@ -9,6 +9,7 @@ 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
|
+
Requires-Dist: requests
|
|
12
13
|
Requires-Dist: python-dotenv
|
|
13
14
|
Requires-Dist: url-remote
|
|
14
15
|
Requires-Dist: pyjwt
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import jwt
|
|
3
|
+
import requests
|
|
3
4
|
import re
|
|
4
5
|
import os
|
|
5
|
-
|
|
6
|
+
import random
|
|
7
|
+
from datetime import date, datetime, time, timedelta, timezone
|
|
6
8
|
from urllib.parse import urlparse
|
|
7
9
|
|
|
8
10
|
from dotenv import load_dotenv
|
|
@@ -22,6 +24,7 @@ load_dotenv()
|
|
|
22
24
|
|
|
23
25
|
# TODO Use the const/enum from language package
|
|
24
26
|
DEFAULT_LANG_CODE_STR = "en"
|
|
27
|
+
DEFAULT_DATETIME_FORMAT = "%Y-%m-%d %H:%M:%S"
|
|
25
28
|
|
|
26
29
|
|
|
27
30
|
def append_if_not_exist(lst: list, item: object) -> None:
|
|
@@ -302,8 +305,8 @@ def get_sql_password() -> str:
|
|
|
302
305
|
return our_get_env("RDS_PASSWORD")
|
|
303
306
|
|
|
304
307
|
|
|
305
|
-
def
|
|
306
|
-
return our_get_env("
|
|
308
|
+
def get_dialog_jwt_secret_key() -> str:
|
|
309
|
+
return our_get_env("DIALOG_JWT_SECRET_KEY", raise_if_empty=True)
|
|
307
310
|
|
|
308
311
|
|
|
309
312
|
def encode_jwt(payload: dict, key: str) -> str:
|
|
@@ -348,6 +351,57 @@ def obfuscate_log_dict(log_dict: dict) -> dict:
|
|
|
348
351
|
obfuscated_log_dict[key] = value
|
|
349
352
|
return obfuscated_log_dict
|
|
350
353
|
|
|
354
|
+
# TODO: add tests to the following functions
|
|
351
355
|
|
|
352
356
|
def remove_digits(text: str) -> str:
|
|
353
357
|
return ''.join(i for i in text if not i.isdigit())
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
def generate_otp():
|
|
361
|
+
"""Generates a 6-digit OTP"""
|
|
362
|
+
otp = random.randint(100000, 999999)
|
|
363
|
+
return otp
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
def get_current_datetime_string(datetime_format: str = DEFAULT_DATETIME_FORMAT, tz: timezone = None) -> str:
|
|
367
|
+
current_datetime_string = datetime.now(tz).strftime(datetime_format)
|
|
368
|
+
return current_datetime_string
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
def datetime_from_str(date_str: str, datetime_format: str = DEFAULT_DATETIME_FORMAT) -> datetime:
|
|
372
|
+
return datetime.strptime(date_str, datetime_format)
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
def datetime_to_str(input_datetime: datetime, datetime_format: str = DEFAULT_DATETIME_FORMAT) -> str:
|
|
376
|
+
return input_datetime.strftime(datetime_format)
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
def validate_arguments(args: dict) -> None:
|
|
380
|
+
"""
|
|
381
|
+
Validate method arguments to ensure they are not None or ''
|
|
382
|
+
:param args: arguments to be validated (usually locals())
|
|
383
|
+
:return: True if all arguments are not None or '', False otherwise
|
|
384
|
+
"""
|
|
385
|
+
for arg, value in args.items():
|
|
386
|
+
if not arg:
|
|
387
|
+
raise ValueError(f"Argument {arg} is cannot be empty (got {value})")
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
def reformat_time_string(input_str: str) -> str:
|
|
391
|
+
"""Example:
|
|
392
|
+
"1234" -> "12:34:00:00"
|
|
393
|
+
"""
|
|
394
|
+
hours = input_str[:2]
|
|
395
|
+
minutes = "00" if len(input_str) < 4 else input_str[2:4]
|
|
396
|
+
seconds = "00" if len(input_str) < 6 else input_str[4:6]
|
|
397
|
+
milliseconds = "00" if len(input_str) < 8 else input_str[6:8]
|
|
398
|
+
time_format = f"{hours}:{minutes}:{seconds}:{milliseconds}"
|
|
399
|
+
return time_format
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
def get_ip_v4():
|
|
403
|
+
return requests.get('https://ipv4.seeip.org/jsonip').json()['ip']
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
def get_ip_v6():
|
|
407
|
+
return requests.get('https://api.seeip.org/jsonip').json()['ip']
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python-sdk-remote
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.114
|
|
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
|
|
@@ -9,6 +9,7 @@ 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
|
+
Requires-Dist: requests
|
|
12
13
|
Requires-Dist: python-dotenv
|
|
13
14
|
Requires-Dist: url-remote
|
|
14
15
|
Requires-Dist: pyjwt
|
|
@@ -7,7 +7,7 @@ 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.114', # https://pypi.org/project/python-sdk-remote/
|
|
11
11
|
author="Circles",
|
|
12
12
|
author_email="info@circlez.ai",
|
|
13
13
|
description="PyPI Package for Circles Python SDK Local Python",
|
|
@@ -23,6 +23,7 @@ setuptools.setup(
|
|
|
23
23
|
"Operating System :: OS Independent",
|
|
24
24
|
],
|
|
25
25
|
install_requires=[
|
|
26
|
+
"requests",
|
|
26
27
|
"python-dotenv",
|
|
27
28
|
"url-remote",
|
|
28
29
|
"pyjwt",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/http_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/mini_logger.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/unified_json.py
RENAMED
|
File without changes
|
{python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/valid_json_versions.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|