python-sdk-remote 0.0.67__tar.gz → 0.0.69__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 (22) hide show
  1. {python-sdk-remote-0.0.67 → python-sdk-remote-0.0.69}/PKG-INFO +1 -1
  2. {python-sdk-remote-0.0.67 → python-sdk-remote-0.0.69}/README.md +4 -7
  3. python-sdk-remote-0.0.69/pyproject.toml +12 -0
  4. python-sdk-remote-0.0.69/python_sdk_remote/src/constants.py +28 -0
  5. {python-sdk-remote-0.0.67 → python-sdk-remote-0.0.69}/python_sdk_remote/src/mini_logger.py +9 -9
  6. {python-sdk-remote-0.0.67 → python-sdk-remote-0.0.69}/python_sdk_remote/src/our_object.py +9 -16
  7. python-sdk-remote-0.0.69/python_sdk_remote/src/unified_json.py +13 -0
  8. {python-sdk-remote-0.0.67 → python-sdk-remote-0.0.69}/python_sdk_remote/src/utilities.py +44 -63
  9. {python-sdk-remote-0.0.67 → python-sdk-remote-0.0.69}/python_sdk_remote/src/validate_environment.py +23 -16
  10. {python-sdk-remote-0.0.67 → python-sdk-remote-0.0.69}/python_sdk_remote.egg-info/PKG-INFO +1 -1
  11. {python-sdk-remote-0.0.67 → python-sdk-remote-0.0.69}/python_sdk_remote.egg-info/SOURCES.txt +0 -1
  12. {python-sdk-remote-0.0.67 → python-sdk-remote-0.0.69}/setup.py +2 -2
  13. python-sdk-remote-0.0.67/pyproject.toml +0 -18
  14. python-sdk-remote-0.0.67/python_sdk_remote/src/constants.py +0 -28
  15. python-sdk-remote-0.0.67/python_sdk_remote/src/unified_json.py +0 -27
  16. python-sdk-remote-0.0.67/python_sdk_remote/src/valid_json_versions.py +0 -4
  17. {python-sdk-remote-0.0.67 → python-sdk-remote-0.0.69}/python_sdk_remote/src/__init__.py +0 -0
  18. {python-sdk-remote-0.0.67 → python-sdk-remote-0.0.69}/python_sdk_remote/src/item.py +0 -0
  19. {python-sdk-remote-0.0.67 → python-sdk-remote-0.0.69}/python_sdk_remote.egg-info/dependency_links.txt +0 -0
  20. {python-sdk-remote-0.0.67 → python-sdk-remote-0.0.69}/python_sdk_remote.egg-info/requires.txt +0 -0
  21. {python-sdk-remote-0.0.67 → python-sdk-remote-0.0.69}/python_sdk_remote.egg-info/top_level.txt +0 -0
  22. {python-sdk-remote-0.0.67 → python-sdk-remote-0.0.69}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-sdk-remote
3
- Version: 0.0.67
3
+ Version: 0.0.69
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
@@ -1,24 +1,21 @@
1
1
  # python-package-backend-template
2
-
3
2
  To create local package and remote package layers (not to create GraphQL and REST-API layers)
4
3
 
5
4
  #database Python scripts in /db folder
6
5
  Please place <table-name>.py in /db<br>
7
6
  No need for seperate file for _ml table<br>
8
7
  Please delete the example file if not needed<br>
9
-
8
+
10
9
  # Create the files to create the database schema, tables, view and populate Meta Data and Test Date
11
-
12
10
  /db/<table-name>.py - CREATE SCHEMA ... CREATE TABLE ... CREATE VIEW ...<br>
13
11
  /db/<table-name>_insert.py to create records
14
12
 
15
13
  # Update the setup.py (i.e.name, version)
16
-
14
+
17
15
  # Please create test directory inside the directory of the project i.e. /<project-name>/tests
18
16
 
19
17
  # Update the serverless.yml in the root directory
20
-
21
18
  provider:
22
- stage: play1
23
-
19
+ stage: play1
20
+
24
21
  Update the endpoints in serverless.yml
@@ -0,0 +1,12 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [tool.poetry]
6
+ name = "python-sdk-local"
7
+ version = "0.0.69" # https://pypi.org/project/python-sdk-local
8
+ description = "python-sdk-local Python Package"
9
+ readme = "README.md"
10
+ authors = [
11
+ "Circlez.ai <info@circlez.ai>",
12
+ ]
@@ -0,0 +1,28 @@
1
+ import os
2
+
3
+ from logger_local.LoggerComponentEnum import LoggerComponentEnum
4
+
5
+ PYTHON_SDK_LOCAL_COMPONENT_ID = 184
6
+ PYTHON_SDK_LOCAL_COMPONENT_NAME = 'python_sdk_local'
7
+
8
+ ENVIRONMENT_NAME = os.getenv("ENVIRONMENT_NAME")
9
+ BRAND_NAME = os.getenv("BRAND_NAME")
10
+ LOGZIO_TOKEN = os.getenv("LOGZIO_TOKEN")
11
+ # TODO Shall Can we use python-sdk function to get the value from Environment?
12
+ # TODO Shall we get the value from environment here of send the value to the function as @akiva-skolnik did?
13
+ GOOGLE_PORT_FOR_AUTHENTICATION = os.getenv("PORT_FOR_AUTHENTICATION")
14
+
15
+ OBJECT_TO_INSERT_CODE = {
16
+ 'component_id': PYTHON_SDK_LOCAL_COMPONENT_ID,
17
+ 'component_name': PYTHON_SDK_LOCAL_COMPONENT_NAME,
18
+ 'component_category': LoggerComponentEnum.ComponentCategory.Code.value,
19
+ 'developer_email': 'sahar.g@circ.zone'
20
+ }
21
+
22
+ OBJECT_TO_INSERT_TEST = {
23
+ 'component_id': PYTHON_SDK_LOCAL_COMPONENT_ID,
24
+ 'component_name': PYTHON_SDK_LOCAL_COMPONENT_NAME,
25
+ 'component_category': LoggerComponentEnum.ComponentCategory.Unit_Test.value,
26
+ 'testing_framework': LoggerComponentEnum.testingFramework.pytest.value,
27
+ 'developer_email': 'sahar.g@circ.zone'
28
+ }
@@ -17,7 +17,7 @@ class MiniLogger:
17
17
  if object is None:
18
18
  print(f"{datetime.now()} - START - {message}")
19
19
  else:
20
- print(f"{datetime.now()} - START - {message} - {object}")
20
+ print(f"{datetime.now()} - START - {message} - {str(object)}")
21
21
 
22
22
  @staticmethod
23
23
  def end(message: str = "", object: dict = None):
@@ -30,7 +30,7 @@ class MiniLogger:
30
30
  if object is None:
31
31
  print(f"{datetime.now()} - END - {message}")
32
32
  else:
33
- print(f"{datetime.now()} - END - {message} - {object}")
33
+ print(f"{datetime.now()} - END - {message} - {str(object)}")
34
34
 
35
35
  @staticmethod
36
36
  def info(message: str = "", object: dict = None):
@@ -44,7 +44,7 @@ class MiniLogger:
44
44
  if object is None:
45
45
  print(f"{datetime.now()} - INFO - {message}")
46
46
  else:
47
- print(f"{datetime.now()} - INFO {message} - {object}")
47
+ print(f"{datetime.now()} - INFO {message} - {str(object)}")
48
48
 
49
49
  @staticmethod
50
50
  def warning(message: str = "", object: dict = None):
@@ -58,7 +58,7 @@ class MiniLogger:
58
58
  if object is None:
59
59
  print(f"{datetime.now()} - WARNING - {message}")
60
60
  else:
61
- print(f"{datetime.now()} - WARNING {message} - {object}")
61
+ print(f"{datetime.now()} - WARNING {message} - {str(object)}")
62
62
 
63
63
  @staticmethod
64
64
  def error(message: str = "", object: dict = None):
@@ -70,22 +70,22 @@ class MiniLogger:
70
70
  object (dict): The object to be printed.
71
71
  """
72
72
  if object is None:
73
- print(f"{datetime.now()} - ERROR - {message}", file=sys.stderr)
73
+ print(f"{datetime.now()} - ERROR - {message}", file=sys.stderr)
74
74
  else:
75
75
  print(
76
- f"{datetime.now()} - ERROR - {message} - {object}", file=sys.stderr)
76
+ f"{datetime.now()} - ERROR - {message} - {str(object)}", file=sys.stderr)
77
77
 
78
78
  @staticmethod
79
- def exception(message: str = "", object: Exception | dict = None):
79
+ def exception(message: str = "", object: dict = None):
80
80
  """
81
81
  Print a log error message with the current time.
82
82
 
83
83
  Parameters:
84
84
  message (str): The message to be printed.
85
- object (dict / Exception): The object / Exception to be printed.
85
+ object (dict): The object to be printed.
86
86
  """
87
87
  if object is None:
88
88
  print(f"{datetime.now()} - EXCEPTION - {message}", file=sys.stderr)
89
89
  else:
90
90
  print(
91
- f"{datetime.now()} - EXCEPTION- {message} - {object}", file=sys.stderr)
91
+ f"{datetime.now()} - EXCEPTION- {message} - {str(object)}", file=sys.stderr)
@@ -1,55 +1,48 @@
1
1
  import json
2
2
  from abc import ABC, abstractmethod
3
3
 
4
- from .mini_logger import MiniLogger as logger
4
+ from .mini_logger import MiniLogger
5
5
 
6
6
 
7
7
  class OurObject(ABC):
8
8
  def __init__(self, **kwargs):
9
9
  INIT_METHOD_NAME = '__init__'
10
- logger.start(INIT_METHOD_NAME, object={'kwargs': kwargs})
10
+ MiniLogger.start(INIT_METHOD_NAME, object={'kwargs': kwargs})
11
11
  self.kwargs = kwargs
12
- logger.end(INIT_METHOD_NAME, object={'kwargs': kwargs})
12
+ MiniLogger.end(INIT_METHOD_NAME, object={'kwargs': kwargs})
13
13
 
14
14
  @abstractmethod
15
15
  def get_name(self):
16
- """Returns the name of the object"""
17
16
  raise NotImplementedError(
18
17
  "Subclasses must implement the 'get_name' method.")
19
18
 
20
19
  def get(self, attr_name: str):
21
- """Returns the value of the attribute with the given name"""
22
20
  GET_METHOD_NAME = 'get'
23
- logger.start(GET_METHOD_NAME, object={'attr_name': attr_name})
21
+ MiniLogger.start(GET_METHOD_NAME, object={'attr_name': attr_name})
24
22
  arguments = getattr(self, 'kwargs', None)
25
23
  value = arguments.get(attr_name, None)
26
- logger.end(GET_METHOD_NAME, object={'attr_name': attr_name})
24
+ MiniLogger.end(GET_METHOD_NAME, object={'attr_name': attr_name})
27
25
  return value
28
26
 
29
27
  def get_all_arguments(self):
30
- """Returns all the arguments passed to the constructor as a dictionary"""
31
28
  return getattr(self, 'kwargs', None)
32
29
 
33
30
  def to_json(self) -> str:
34
- """Returns a json string representation of this object"""
35
31
  return json.dumps(self.__dict__)
36
32
 
37
33
  def from_json(self, json_string: str) -> 'OurObject':
38
- """Returns an instance of the class from a json string"""
39
34
  FROM_JSON_METHOD_NAME = 'from_json'
40
- logger.start(FROM_JSON_METHOD_NAME,
41
- object={'json_string': json_string})
35
+ MiniLogger.start(FROM_JSON_METHOD_NAME,
36
+ object={'json_string': json_string})
42
37
  self.__dict__ = json.loads(json_string)
43
- logger.end(FROM_JSON_METHOD_NAME,
44
- object={'json_dict': self.__dict__})
38
+ MiniLogger.end(FROM_JSON_METHOD_NAME,
39
+ object={'json_dict': self.__dict__})
45
40
  return self
46
41
 
47
42
  def __eq__(self, other) -> bool:
48
- """Checks if two objects are equal"""
49
43
  if not isinstance(other, OurObject):
50
44
  return False
51
45
  return self.__dict__ == other.__dict__
52
46
 
53
47
  def __ne__(self, other) -> bool:
54
- """Checks if two objects are not equal"""
55
48
  return not self.__eq__(other)
@@ -0,0 +1,13 @@
1
+ class UnifiedJson:
2
+ def __init__(self, data: dict, version: str):
3
+ self.version = version
4
+ self.data = data
5
+
6
+ def get_unified_json(self):
7
+ return {"version": self.version, "data": self.data}
8
+
9
+ def __str__(self):
10
+ return self.get_unified_json()
11
+
12
+ def __repr__(self):
13
+ return self.__str__()
@@ -1,15 +1,16 @@
1
1
  import json
2
- import os
3
2
  from datetime import date, datetime, time, timedelta
4
3
  from urllib.parse import urlparse
5
4
 
6
- from dotenv import load_dotenv
5
+ from .mini_logger import MiniLogger
7
6
 
8
- from .mini_logger import MiniLogger as logger
9
- from .validate_environment import validate_brand_name
10
- from .validate_environment import validate_environment_name
7
+ from .constants import (BRAND_NAME, ENVIRONMENT_NAME) # noqa: E402
11
8
 
12
- load_dotenv()
9
+ from .validate_environment import (validate_brand_name, # noqa: E402
10
+ validate_environment_name)
11
+
12
+
13
+ RANGE_LENGTH = 2
13
14
 
14
15
 
15
16
  def timedelta_to_time_format(time_delta: timedelta) -> str:
@@ -32,7 +33,7 @@ def timedelta_to_time_format(time_delta: timedelta) -> str:
32
33
  '02:30:45'
33
34
  """
34
35
  TIMEDELTA_TO_TIME_FORMAT_METHOD_NAME = "timedelta_to_time_format"
35
- logger.start(TIMEDELTA_TO_TIME_FORMAT_METHOD_NAME, object={'time_delta': time_delta})
36
+ MiniLogger.start(TIMEDELTA_TO_TIME_FORMAT_METHOD_NAME, object={'time_delta': time_delta})
36
37
 
37
38
  # Calculate the total seconds and convert to HH:MM:SS format
38
39
  total_seconds = int(time_delta.total_seconds())
@@ -43,8 +44,8 @@ def timedelta_to_time_format(time_delta: timedelta) -> str:
43
44
  # Format as "HH:MM:SS"
44
45
  formatted_time = f"{hours:02d}:{minutes:02d}:{seconds:02d}"
45
46
 
46
- logger.end(TIMEDELTA_TO_TIME_FORMAT_METHOD_NAME,
47
- object={'formatted_time': formatted_time})
47
+ MiniLogger.end(TIMEDELTA_TO_TIME_FORMAT_METHOD_NAME,
48
+ object={'formatted_time': formatted_time})
48
49
  return formatted_time
49
50
 
50
51
 
@@ -53,25 +54,25 @@ def is_valid_time_range(time_range: tuple) -> bool:
53
54
  Validate that the time range is in the format 'HH:MM:SS'.
54
55
  """
55
56
  IS_VALID_TIME_RANGE_METHOD_NAME = "is_valid_time_range"
56
- logger.start(IS_VALID_TIME_RANGE_METHOD_NAME, object={
57
+ MiniLogger.start(IS_VALID_TIME_RANGE_METHOD_NAME, object={
57
58
  "time_range": time_range.__str__()})
58
- if len(time_range) != 2:
59
- logger.end(IS_VALID_TIME_RANGE_METHOD_NAME, object={
59
+ if len(time_range) != RANGE_LENGTH:
60
+ MiniLogger.end(IS_VALID_TIME_RANGE_METHOD_NAME, object={
60
61
  "is_valid_time_range_result": False, "reason": "len(time_range) != 2"})
61
62
  return False
62
63
 
63
64
  for time_obj in time_range:
64
65
  if not isinstance(time_obj, time):
65
- logger.end(IS_VALID_TIME_RANGE_METHOD_NAME, object={
66
+ MiniLogger.end(IS_VALID_TIME_RANGE_METHOD_NAME, object={
66
67
  "is_valid_time_range_result": False, "reason": "time_range contains non-time objects"})
67
68
  return False
68
69
  time_str = time_obj.strftime('%H:%M:%S')
69
70
  if time_obj.strftime('%H:%M:%S') != time_str:
70
- logger.end(IS_VALID_TIME_RANGE_METHOD_NAME, object={
71
+ MiniLogger.end(IS_VALID_TIME_RANGE_METHOD_NAME, object={
71
72
  "is_valid_time_range_result": False, "reason": "time_range contains invalid time format"})
72
73
  return False
73
74
 
74
- logger.end(IS_VALID_TIME_RANGE_METHOD_NAME, object={
75
+ MiniLogger.end(IS_VALID_TIME_RANGE_METHOD_NAME, object={
75
76
  "is_valid_time_range_result": True})
76
77
  return True
77
78
 
@@ -88,19 +89,19 @@ def is_valid_date_range(date_range: tuple) -> bool:
88
89
  Validate that the date range is in the format 'YYYY-MM-DD'.
89
90
  """
90
91
  IS_VALID_DATE_RANGE_METHOD_NAME = "is_valid_date_range"
91
- logger.start(IS_VALID_DATE_RANGE_METHOD_NAME, object={
92
+ MiniLogger.start(IS_VALID_DATE_RANGE_METHOD_NAME, object={
92
93
  "date_range": date_range.__str__()})
93
- if len(date_range) != 2:
94
- logger.end(IS_VALID_DATE_RANGE_METHOD_NAME, object={
94
+ if len(date_range) != RANGE_LENGTH:
95
+ MiniLogger.end(IS_VALID_DATE_RANGE_METHOD_NAME, object={
95
96
  "is_valid_date_range_result": False, "reason": "len(date_range) != 2"})
96
97
  return False
97
98
 
98
99
  for date_obj in date_range:
99
100
  if not isinstance(date_obj, date):
100
- logger.end(IS_VALID_DATE_RANGE_METHOD_NAME, object={
101
+ MiniLogger.end(IS_VALID_DATE_RANGE_METHOD_NAME, object={
101
102
  "is_valid_date_range_result": False, "reason": "date_range contains non-date objects"})
102
103
  return False
103
- logger.end(IS_VALID_DATE_RANGE_METHOD_NAME, object={
104
+ MiniLogger.end(IS_VALID_DATE_RANGE_METHOD_NAME, object={
104
105
  "is_valid_date_range_result": True})
105
106
  return True
106
107
 
@@ -110,19 +111,19 @@ def is_valid_datetime_range(datetime_range: tuple) -> bool:
110
111
  Validate that the datetime range is in the format 'YYYY-MM-DD HH:MM:SS'.
111
112
  """
112
113
  IS_VALID_DATETIME_RANGE_METHOD_NAME = "is_valid_datetime_range"
113
- logger.start(IS_VALID_DATETIME_RANGE_METHOD_NAME, object={
114
+ MiniLogger.start(IS_VALID_DATETIME_RANGE_METHOD_NAME, object={
114
115
  "datetime_range": datetime_range.__str__()})
115
- if len(datetime_range) != 2:
116
- logger.end(IS_VALID_DATETIME_RANGE_METHOD_NAME, object={
116
+ if len(datetime_range) != RANGE_LENGTH:
117
+ MiniLogger.end(IS_VALID_DATETIME_RANGE_METHOD_NAME, object={
117
118
  "is_valid_datetime_range_result": False, "reason": "len(datetime_range) != 2"})
118
119
  return False
119
120
 
120
121
  for datetime_obj in datetime_range:
121
122
  if not isinstance(datetime_obj, datetime):
122
- logger.end(IS_VALID_DATETIME_RANGE_METHOD_NAME, object={
123
+ MiniLogger.end(IS_VALID_DATETIME_RANGE_METHOD_NAME, object={
123
124
  "is_valid_datetime_range_result": False, "reason": "datetime_range contains non-datetime objects"})
124
125
  return False
125
- logger.end(IS_VALID_DATETIME_RANGE_METHOD_NAME, object={
126
+ MiniLogger.end(IS_VALID_DATETIME_RANGE_METHOD_NAME, object={
126
127
  "is_valid_datetime_range_result": True})
127
128
  return True
128
129
 
@@ -151,27 +152,26 @@ def is_list_of_dicts(obj):
151
152
  False
152
153
  """
153
154
  IS_LIST_OF_DICTS_FUNCTION_NAME = "is_list_of_dicts"
154
- logger.start(IS_LIST_OF_DICTS_FUNCTION_NAME, object={"obj": obj})
155
+ MiniLogger.start(IS_LIST_OF_DICTS_FUNCTION_NAME, object={"obj": obj})
155
156
  try:
156
157
  if not isinstance(obj, list):
157
158
  is_list_of_dicts_result = False
158
- logger.end(IS_LIST_OF_DICTS_FUNCTION_NAME, object={
159
+ MiniLogger.end(IS_LIST_OF_DICTS_FUNCTION_NAME, object={
159
160
  "is_list_of_dicts_result": is_list_of_dicts_result})
160
161
  return is_list_of_dicts_result
161
162
  for item in obj:
162
163
  if not isinstance(item, dict):
163
164
  is_list_of_dicts_result = False
164
- logger.end(IS_LIST_OF_DICTS_FUNCTION_NAME, object={
165
+ MiniLogger.end(IS_LIST_OF_DICTS_FUNCTION_NAME, object={
165
166
  "is_list_of_dicts_result": is_list_of_dicts_result})
166
167
  return is_list_of_dicts_result
167
168
  is_list_of_dicts_result = True
168
- logger.end(IS_LIST_OF_DICTS_FUNCTION_NAME, object={
169
+ MiniLogger.end(IS_LIST_OF_DICTS_FUNCTION_NAME, object={
169
170
  "is_list_of_dicts_result": is_list_of_dicts_result})
170
171
  return is_list_of_dicts_result
171
- except Exception as exception:
172
- logger.exception(IS_LIST_OF_DICTS_FUNCTION_NAME, exception)
173
- logger.end(IS_LIST_OF_DICTS_FUNCTION_NAME)
174
- raise
172
+ except Exception as e:
173
+ MiniLogger.end(IS_LIST_OF_DICTS_FUNCTION_NAME, exception=e)
174
+ raise e
175
175
 
176
176
 
177
177
  def is_time_in_time_range(check_time: time, time_range: tuple) -> bool:
@@ -186,14 +186,14 @@ def is_time_in_time_range(check_time: time, time_range: tuple) -> bool:
186
186
  bool: True if the check_time is within the time range, False otherwise.
187
187
  """
188
188
  IS_TIME_IN_TIME_RANGE_METHOD_NAME = "is_time_in_time_range"
189
- logger.start(IS_TIME_IN_TIME_RANGE_METHOD_NAME, object={
189
+ MiniLogger.start(IS_TIME_IN_TIME_RANGE_METHOD_NAME, object={
190
190
  "check_time": check_time.__str__(), "time_range": time_range.__str__()})
191
191
  if not is_valid_time_range(time_range) or not isinstance(check_time, time):
192
- logger.end(IS_TIME_IN_TIME_RANGE_METHOD_NAME, object={
192
+ MiniLogger.end(IS_TIME_IN_TIME_RANGE_METHOD_NAME, object={
193
193
  "is_time_in_time_range_result": False})
194
194
  return False
195
195
  start_time, end_time = time_range
196
- logger.end(IS_TIME_IN_TIME_RANGE_METHOD_NAME, object={
196
+ MiniLogger.end(IS_TIME_IN_TIME_RANGE_METHOD_NAME, object={
197
197
  "is_time_in_time_range_result": start_time <= check_time <= end_time})
198
198
  return start_time <= check_time <= end_time
199
199
 
@@ -210,15 +210,15 @@ def is_date_in_date_range(check_date: date, date_range: tuple) -> bool:
210
210
  bool: True if the check_date is within the date range, False otherwise.
211
211
  """
212
212
  IS_DATE_IN_DATE_RANGE_METHOD_NAME = "is_date_in_date_range"
213
- logger.start(IS_DATE_IN_DATE_RANGE_METHOD_NAME, object={
213
+ MiniLogger.start(IS_DATE_IN_DATE_RANGE_METHOD_NAME, object={
214
214
  "check_date": check_date.__str__(), "date_range": date_range.__str__()})
215
215
  if not is_valid_date_range(date_range) or not isinstance(check_date, date):
216
- logger.end(IS_DATE_IN_DATE_RANGE_METHOD_NAME, object={
216
+ MiniLogger.end(IS_DATE_IN_DATE_RANGE_METHOD_NAME, object={
217
217
  "is_date_in_date_range_result": False})
218
218
  return False
219
219
 
220
220
  start_date, end_date = date_range
221
- logger.end(IS_DATE_IN_DATE_RANGE_METHOD_NAME, object={
221
+ MiniLogger.end(IS_DATE_IN_DATE_RANGE_METHOD_NAME, object={
222
222
  "is_date_in_date_range_result": start_date <= check_date <= end_date})
223
223
  return start_date <= check_date <= end_date
224
224
 
@@ -235,15 +235,15 @@ def is_datetime_in_datetime_range(check_datetime: datetime, datetime_range: tupl
235
235
  bool: True if the check_datetime is within the datetime range, False otherwise.
236
236
  """
237
237
  IS_DATETIME_IN_DATETIME_RANGE_METHOD_NAME = "is_datetime_in_datetime_range"
238
- logger.start(IS_DATETIME_IN_DATETIME_RANGE_METHOD_NAME)
238
+ MiniLogger.start(IS_DATETIME_IN_DATETIME_RANGE_METHOD_NAME)
239
239
  if not is_valid_datetime_range(datetime_range) or not isinstance(check_datetime, datetime):
240
- logger.end(IS_DATETIME_IN_DATETIME_RANGE_METHOD_NAME, object={
240
+ MiniLogger.end(IS_DATETIME_IN_DATETIME_RANGE_METHOD_NAME, object={
241
241
  "is_valid_datetime_range": False})
242
242
  return False
243
243
 
244
244
  start_datetime, end_datetime = datetime_range
245
245
  is_datetime_in_datetime_range_result = start_datetime <= check_datetime <= end_datetime
246
- logger.end(IS_DATETIME_IN_DATETIME_RANGE_METHOD_NAME, object={
246
+ MiniLogger.end(IS_DATETIME_IN_DATETIME_RANGE_METHOD_NAME, object={
247
247
  "is_datetime_in_datetime_range_result": is_datetime_in_datetime_range_result})
248
248
  return is_datetime_in_datetime_range_result
249
249
 
@@ -277,28 +277,9 @@ def create_http_body(body):
277
277
 
278
278
  def get_brand_name():
279
279
  validate_brand_name()
280
- return our_get_env("BRAND_NAME")
280
+ return BRAND_NAME
281
281
 
282
282
 
283
283
  def get_environment_name():
284
284
  validate_environment_name()
285
- return our_get_env("ENVIRONMENT_NAME")
286
-
287
-
288
- def our_get_env(key: str, default: str = None, raise_if_not_found: bool = True) -> str:
289
- result = os.getenv(key, default)
290
- if raise_if_not_found and result is None:
291
- raise Exception(f"Environment variable {key} not found")
292
- return result
293
-
294
-
295
- def get_sql_hostname() -> str:
296
- return our_get_env("RDS_HOSTNAME")
297
-
298
-
299
- def get_sql_username() -> str:
300
- return our_get_env("RDS_USERNAME")
301
-
302
-
303
- def get_sql_password() -> str:
304
- return our_get_env("RDS_PASSWORD")
285
+ return ENVIRONMENT_NAME
@@ -1,35 +1,42 @@
1
- from .constants import BRAND_NAME, ENVIRONMENT_NAME, LOGZIO_TOKEN
1
+ from .constants import BRAND_NAME, ENVIRONMENT_NAME, LOGZIO_TOKEN, GOOGLE_PORT_FOR_AUTHENTICATION
2
2
 
3
3
 
4
- # TODO: I think this should be in logger-local, not here (akiva)
5
4
  # TODO Align with https://github.com/circles-zone/typescript-sdk-remote-typescript-package/edit/dev/typescript-sdk/src/utils/index.ts validateTenantEnvironmentVariables() # noqa501
6
- def validate_enviroment_variables(brand_name: str = BRAND_NAME, environment_name: str = ENVIRONMENT_NAME,
7
- logzio_token: str = LOGZIO_TOKEN):
8
- validate_brand_name(brand_name)
9
- validate_environment_name(environment_name)
5
+ def validate_enviroment_variables():
6
+ validate_brand_name()
7
+ validate_environment_name()
10
8
  # if(os.getenv("PRODUCT_USER_IDENTIFIER") is None):
11
9
  # raise Exception("logger-local-python-package LoggerLocal.py please add Environment Variable called "
12
10
  # "PRODUCT_USER_IDENTIFIER (instead of PRODUCT_USERNAME)")
13
11
  # removed by Idan because it dont has to be in every project
12
+ #TODO Shall we push those commented lines of code to the repo?
14
13
  # if(os.getenv("PRODUCT_PASSWORD") is None):
15
14
  # raise Exception("logger-local-python-package LoggerLocal.py please add Environment Variable called PRODUCT_PASSWORD")
16
- validate_logzio_token(logzio_token)
15
+ validate_logzio_token()
16
+ validate_google_port_for_authentication()
17
17
 
18
18
 
19
- def validate_environment_name(environment_name: str = ENVIRONMENT_NAME):
20
- if environment_name is None:
21
- raise Exception(
22
- "logger-local-python-package LoggerLocal.py in case of Play1 environment, please add Environment Variable called "
23
- "ENVIRONMENT_NAME=local or play1 (instead of ENVIRONMENT)")
19
+ def validate_environment_name():
20
+ if ENVIRONMENT_NAME is None:
21
+ raise Exception("logger-local-python-package LoggerLocal.py please add Environment Variable called "
22
+ "ENVIRONMENT_NAME=local or play1 (instead of ENVIRONMENT)")
24
23
 
25
24
 
26
- def validate_brand_name(brand_name: str = BRAND_NAME):
27
- if brand_name is None:
25
+ def validate_brand_name():
26
+ if BRAND_NAME is None:
28
27
  raise Exception(
29
28
  "logger-local-python-package LoggerLocal.py please add Environment Variable called BRAND_NAME=Circlez")
30
29
 
31
30
 
32
- def validate_logzio_token(logzio_token: str = LOGZIO_TOKEN):
33
- if logzio_token is None:
31
+ def validate_logzio_token():
32
+ if LOGZIO_TOKEN is None:
34
33
  raise Exception("logger-local-python-package LoggerLocal.py please add Environment Variable called"
35
34
  " LOGZIO_TOKEN=cXNHuVkkffkilnkKzZlWExECRlSKqopE")
35
+
36
+
37
+ def validate_google_port_for_authentication():
38
+ if GOOGLE_PORT_FOR_AUTHENTICATION is None:
39
+ # The port is 54219 because the authentication url is http://localhost:54219/
40
+ raise Exception("please add Environment Variable"
41
+ " PORT_FOR_AUTHENTICATION=54219 because"
42
+ " the authentication url is http://localhost:54219/")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-sdk-remote
3
- Version: 0.0.67
3
+ Version: 0.0.69
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
@@ -13,5 +13,4 @@ python_sdk_remote/src/mini_logger.py
13
13
  python_sdk_remote/src/our_object.py
14
14
  python_sdk_remote/src/unified_json.py
15
15
  python_sdk_remote/src/utilities.py
16
- python_sdk_remote/src/valid_json_versions.py
17
16
  python_sdk_remote/src/validate_environment.py
@@ -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.67', # https://pypi.org/project/python-sdk-remote/
10
+ version='0.0.69', # https://pypi.org/project/python-sdk-remote/
11
11
  author="Circles",
12
12
  author_email="info@circles.life",
13
13
  description="PyPI Package for Circles Python SDK Local Python",
@@ -25,4 +25,4 @@ setuptools.setup(
25
25
  install_requires=[
26
26
  "python-dotenv"
27
27
  ]
28
- )
28
+ )
@@ -1,18 +0,0 @@
1
- # This file should be in the future instead of setup.py
2
- # https://python-poetry.org/docs/pyproject
3
-
4
- # It seems we need to copy this file also to serverless-com repo, as required by dialog-workflow-python-package
5
-
6
- [build-system]
7
- requires = ["setuptools>=61.0"]
8
- build-backend = "setuptools.build_meta"
9
-
10
- [tool.poetry]
11
- name = "python-sdk-local"
12
- # I believe we are still using the version from setup.py and not from here until potery will work
13
- version = "0.0.1" # https://pypi.org/project/python-sdk-local i.e. https://pypi.org/project/storage-local/
14
- description = "python-sdk-local Python Package"
15
- readme = "README.md"
16
- authors = [
17
- "Circlez.ai <info@circlez.ai>",
18
- ]
@@ -1,28 +0,0 @@
1
- import os
2
-
3
- from dotenv import load_dotenv
4
-
5
- # from logger_local.LoggerComponentEnum import LoggerComponentEnum
6
-
7
- # PYTHON_SDK_LOCAL_COMPONENT_ID = 184
8
- # PYTHON_SDK_LOCAL_COMPONENT_NAME = 'python_sdk_local'
9
-
10
- load_dotenv()
11
- ENVIRONMENT_NAME = os.getenv("ENVIRONMENT_NAME")
12
- BRAND_NAME = os.getenv("BRAND_NAME")
13
- LOGZIO_TOKEN = os.getenv("LOGZIO_TOKEN")
14
-
15
- # OBJECT_TO_INSERT_CODE = {
16
- # 'component_id': PYTHON_SDK_LOCAL_COMPONENT_ID,
17
- # 'component_name': PYTHON_SDK_LOCAL_COMPONENT_NAME,
18
- # 'component_category': LoggerComponentEnum.ComponentCategory.Code.value,
19
- # 'developer_email': 'sahar.g@circ.zone'
20
- # }
21
- #
22
- # OBJECT_TO_INSERT_TEST = {
23
- # 'component_id': PYTHON_SDK_LOCAL_COMPONENT_ID,
24
- # 'component_name': PYTHON_SDK_LOCAL_COMPONENT_NAME,
25
- # 'component_category': LoggerComponentEnum.ComponentCategory.Unit_Test.value,
26
- # 'testing_framework': LoggerComponentEnum.testingFramework.pytest.value,
27
- # 'developer_email': 'sahar.g@circ.zone'
28
- # }
@@ -1,27 +0,0 @@
1
- from .valid_json_versions import valid_json_versions
2
-
3
-
4
- class UnifiedJson:
5
- def __init__(self, data: dict, json_version: str):
6
- if json_version not in valid_json_versions:
7
- raise Exception(
8
- f"version {json_version} is not in valid_json_versions {valid_json_versions}, "
9
- f"please make sure you run sql2code."
10
- )
11
- self.json_version = json_version
12
- self.data = data
13
-
14
- def get_unified_json(self):
15
- return {"version": self.json_version, "data": self.data}
16
-
17
- def get_data(self):
18
- return self.data
19
-
20
- def get_json_version(self):
21
- return self.json_version
22
-
23
- def __str__(self):
24
- return self.get_unified_json()
25
-
26
- def __repr__(self):
27
- return self.__str__()
@@ -1,4 +0,0 @@
1
- # Later we'll generate this file using Sql2Code (from json_version database schema)
2
- valid_json_versions = {
3
- "240109": "Description"
4
- }