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.

Files changed (20) hide show
  1. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/PKG-INFO +2 -1
  2. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/utilities.py +57 -3
  3. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote.egg-info/PKG-INFO +2 -1
  4. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote.egg-info/requires.txt +1 -0
  5. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/setup.py +2 -1
  6. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/README.md +0 -0
  7. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/pyproject.toml +0 -0
  8. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/__init__.py +0 -0
  9. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/constants.py +0 -0
  10. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/http_response.py +0 -0
  11. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/item.py +0 -0
  12. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/mini_logger.py +0 -0
  13. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/our_object.py +0 -0
  14. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/unified_json.py +0 -0
  15. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/valid_json_versions.py +0 -0
  16. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote/src/validate_environment.py +0 -0
  17. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote.egg-info/SOURCES.txt +0 -0
  18. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote.egg-info/dependency_links.txt +0 -0
  19. {python_sdk_remote-0.0.113 → python_sdk_remote-0.0.114}/python_sdk_remote.egg-info/top_level.txt +0 -0
  20. {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.113
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
- from datetime import date, datetime, time, timedelta
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 get_smartlink_jwt_secret_key() -> str:
306
- return our_get_env("SMARTLINK_JWT_SECRET_KEY", raise_if_empty=True)
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.113
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,3 +1,4 @@
1
+ requests
1
2
  python-dotenv
2
3
  url-remote
3
4
  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.113', # https://pypi.org/project/python-sdk-remote/
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",