fdc-shared-kernel 0.0.41__tar.gz → 0.0.43__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.
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/PKG-INFO +1 -1
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/fdc_shared_kernel.egg-info/PKG-INFO +1 -1
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/pyproject.toml +1 -1
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/messaging/__init__.py +1 -1
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/messaging/nats_databus.py +15 -16
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/README.md +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/README_pypi.md +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/fdc_shared_kernel.egg-info/SOURCES.txt +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/fdc_shared_kernel.egg-info/dependency_links.txt +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/fdc_shared_kernel.egg-info/requires.txt +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/fdc_shared_kernel.egg-info/top_level.txt +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/requirements.txt +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/setup.cfg +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/async_task_executor/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/async_task_executor/async_task_executor.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/auth/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/auth/jwt_helper.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/auth/token_handler.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/config/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/database/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/enums/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/enums/async_task_status.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/exceptions/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/exceptions/configuration_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/exceptions/custom_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/exceptions/data_validation_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/exceptions/http_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/exceptions/infrastructure_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/exceptions/operational_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/exceptions/security_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/http/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/http/httpx_http_client.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/http/request_http_client.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/interfaces/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/interfaces/databus.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/interfaces/http.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/interfaces/keyvault.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/logger/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/messaging/aws_databus.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/messaging/http_databus.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/metrics/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/metrics/status_tracker.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/models/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/security/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/security/key_vault/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/security/key_vault/aws_secret_manager.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/security/key_vault/azure_keyvault.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/config/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/config/test_config.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/logger/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/logger/test_logger.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/messaging/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/messaging/test_nats_interface.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/utils/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/utils/test_data_validators.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/utils/test_date_format_utils.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/utils/test_string_utils.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/utils/__init__.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/utils/data_validators_utils.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/utils/date_format_utils.py +0 -0
- {fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/utils/string_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fdc_shared_kernel
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.43
|
|
4
4
|
Summary: Shared library for microservice
|
|
5
5
|
Author-email: Shikhil S <shikhil.s@dbizsolution.com>, Ahammed Akdham N <ahammedakdham.n@dbizsolution.com>
|
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fdc_shared_kernel
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.43
|
|
4
4
|
Summary: Shared library for microservice
|
|
5
5
|
Author-email: Shikhil S <shikhil.s@dbizsolution.com>, Ahammed Akdham N <ahammedakdham.n@dbizsolution.com>
|
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -14,7 +14,7 @@ class DataBusFactory:
|
|
|
14
14
|
|
|
15
15
|
@staticmethod
|
|
16
16
|
def create_data_bus(bus_type: str, config: dict) -> DataBus:
|
|
17
|
-
data_bus_class =
|
|
17
|
+
data_bus_class = DataBusFactory.data_bus_classes.get(bus_type)
|
|
18
18
|
if data_bus_class is None:
|
|
19
19
|
raise ValueError(f"Unknown data bus type: {bus_type}")
|
|
20
20
|
return data_bus_class(config)
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/messaging/nats_databus.py
RENAMED
|
@@ -100,12 +100,12 @@ class NATSDataBus(DataBus):
|
|
|
100
100
|
)
|
|
101
101
|
await self.nats_jet_stream_context.add_stream(dlq_config)
|
|
102
102
|
logger.info(
|
|
103
|
-
f"DLQ Stream
|
|
103
|
+
f"DLQ Stream [{app_config.get('NATS_DLQ_STREAM_NAME')}] created"
|
|
104
104
|
)
|
|
105
105
|
except JetstreamBadRequestError as e:
|
|
106
106
|
if e.err_code == 10058: # Stream already exists
|
|
107
107
|
logger.info(
|
|
108
|
-
f"DLQ Stream
|
|
108
|
+
f"DLQ Stream [{app_config.get('NATS_DLQ_STREAM_NAME')}] already exists"
|
|
109
109
|
)
|
|
110
110
|
else:
|
|
111
111
|
raise
|
|
@@ -132,11 +132,11 @@ class NATSDataBus(DataBus):
|
|
|
132
132
|
max_age=600,
|
|
133
133
|
)
|
|
134
134
|
await self.nats_jet_stream_context.add_stream(stream_config)
|
|
135
|
-
logger.info(f"Stream {app_config.get(
|
|
135
|
+
logger.info(f"Stream [{app_config.get('NATS_STREAM_NAME')}] created")
|
|
136
136
|
except JetstreamBadRequestError as e:
|
|
137
137
|
# case where the stream already exists (error code 10058)
|
|
138
138
|
if e.err_code == 10058:
|
|
139
|
-
logger.info(f"Stream {app_config.get(
|
|
139
|
+
logger.info(f"Stream [{app_config.get('NATS_STREAM_NAME')}] already exists with other topics")
|
|
140
140
|
# retrieve the existing stream's information
|
|
141
141
|
stream_info = await self.nats_jet_stream_context.stream_info(
|
|
142
142
|
app_config.get("NATS_STREAM_NAME")
|
|
@@ -154,7 +154,7 @@ class NATSDataBus(DataBus):
|
|
|
154
154
|
)
|
|
155
155
|
# apply the updated configuration to the existing stream
|
|
156
156
|
await self.nats_jet_stream_context.update_stream(stream_config)
|
|
157
|
-
logger.info(f"Added topic: {topic[0]} to the stream {app_config.get(
|
|
157
|
+
logger.info(f"Added topic: [{topic[0]}] to the stream [{app_config.get('NATS_STREAM_NAME')}]")
|
|
158
158
|
except Exception as e:
|
|
159
159
|
logger.error(f"Error creating/updating stream: {e}")
|
|
160
160
|
raise e
|
|
@@ -239,7 +239,7 @@ class NATSDataBus(DataBus):
|
|
|
239
239
|
event_name, json.dumps(event_payload).encode("utf-8")
|
|
240
240
|
)
|
|
241
241
|
logger.info(
|
|
242
|
-
f"Published event
|
|
242
|
+
f"""Published event [{event_payload.get('event_name')}] to subject [{event_name}], ack: {ack}"""
|
|
243
243
|
)
|
|
244
244
|
return ack
|
|
245
245
|
|
|
@@ -286,7 +286,7 @@ class NATSDataBus(DataBus):
|
|
|
286
286
|
pull_subscription_object: JetStreamContext.PullSubscription = (
|
|
287
287
|
await self.nats_jet_stream_context.pull_subscribe(subject=event_name, durable=consumer_name)
|
|
288
288
|
)
|
|
289
|
-
logger.info(f"Subscribed to async event on subject
|
|
289
|
+
logger.info(f"""Subscribed to async event on subject [{event_name}]""")
|
|
290
290
|
while True:
|
|
291
291
|
try:
|
|
292
292
|
message_object: Msg = await self._fetch_messages(
|
|
@@ -297,19 +297,18 @@ class NATSDataBus(DataBus):
|
|
|
297
297
|
has_job_failed = False
|
|
298
298
|
try:
|
|
299
299
|
callback(event_data)
|
|
300
|
-
# acknowledge the message after processing and finishing the job
|
|
301
|
-
await message_object.ack()
|
|
302
|
-
logger.info(f"Acknowledged job: {event_data}")
|
|
303
300
|
except Exception as e:
|
|
304
301
|
logger.error(
|
|
305
|
-
f"Invoking callback during execution of {event_name} failed due to {str(e)}"
|
|
302
|
+
f"Invoking callback during execution of [{event_name}] failed due to {str(e)}"
|
|
306
303
|
)
|
|
307
304
|
has_job_failed = True
|
|
308
305
|
|
|
309
|
-
if
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
306
|
+
if not has_job_failed:
|
|
307
|
+
# acknowledge the message after processing and finishing the job successfully
|
|
308
|
+
await message_object.ack()
|
|
309
|
+
logger.info(f"Acknowledged job: {event_data}")
|
|
310
|
+
elif message_object.metadata.num_delivered == self.max_delivery_count:
|
|
311
|
+
# move to DLQ if max retries have been reached
|
|
313
312
|
logger.warning("Moving event to the dead letter topic after max retries")
|
|
314
313
|
await self._create_dlq_stream()
|
|
315
314
|
await self._move_to_dlq(event_name, event_data)
|
|
@@ -331,7 +330,7 @@ class NATSDataBus(DataBus):
|
|
|
331
330
|
callback (Callable[[Any], None]): A callback function to handle received messages.
|
|
332
331
|
"""
|
|
333
332
|
await self.nats_client.subscribe(event_name, cb=callback)
|
|
334
|
-
logger.info(f"Subscribed to sync event on subject
|
|
333
|
+
logger.info(f"Subscribed to sync event on subject [{event_name}]")
|
|
335
334
|
|
|
336
335
|
def delete_message(self, receipt_handle: str):
|
|
337
336
|
pass
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/fdc_shared_kernel.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/fdc_shared_kernel.egg-info/requires.txt
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/fdc_shared_kernel.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/async_task_executor/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/enums/async_task_status.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/exceptions/custom_exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/exceptions/http_exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/http/httpx_http_client.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/http/request_http_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/messaging/aws_databus.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/messaging/http_databus.py
RENAMED
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/metrics/status_tracker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/security/key_vault/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/config/__init__.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/config/test_config.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/logger/__init__.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/logger/test_logger.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/messaging/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/tests/utils/test_string_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/utils/data_validators_utils.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.41 → fdc_shared_kernel-0.0.43}/shared_kernel/utils/date_format_utils.py
RENAMED
|
File without changes
|
|
File without changes
|