fdc-shared-kernel 0.0.149__tar.gz → 0.0.151__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.
Files changed (171) hide show
  1. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/PKG-INFO +2 -1
  2. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/fdc_shared_kernel.egg-info/PKG-INFO +2 -1
  3. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/fdc_shared_kernel.egg-info/SOURCES.txt +2 -0
  4. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/fdc_shared_kernel.egg-info/requires.txt +1 -0
  5. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/pyproject.toml +1 -1
  6. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/requirements.txt +1 -0
  7. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/ai_chat_persistence/chat_persistence.py +3 -4
  8. fdc_shared_kernel-0.0.151/shared_kernel/data_warehouse_handlers/connections/snowflake_warehouse_connection.py +139 -0
  9. fdc_shared_kernel-0.0.151/shared_kernel/data_warehouse_handlers/snowflake_handler.py +39 -0
  10. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/README.md +0 -0
  11. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/README_pypi.md +0 -0
  12. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/fdc_shared_kernel.egg-info/dependency_links.txt +0 -0
  13. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/fdc_shared_kernel.egg-info/top_level.txt +0 -0
  14. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/setup.cfg +0 -0
  15. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/__init__.py +0 -0
  16. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/agent_communication_channel/__init__.py +0 -0
  17. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/agent_communication_channel/agent_channel.py +0 -0
  18. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/agent_communication_channel/contexts.py +0 -0
  19. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/agent_communication_channel/event_channel.py +0 -0
  20. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/ai_audit_log/__init__.py +0 -0
  21. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/ai_chat_persistence/__init__.py +0 -0
  22. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/async_task_executor/__init__.py +0 -0
  23. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/async_task_executor/async_task_executor.py +0 -0
  24. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/auth/__init__.py +0 -0
  25. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/auth/jwt_helper.py +0 -0
  26. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/auth/token_handler.py +0 -0
  27. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/auth/workbook_permission_handler.py +0 -0
  28. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/batch_job/__init__.py +0 -0
  29. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/batch_job/batch_job_status_tracker/container_job_status_tracker.py +0 -0
  30. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/batch_job/job_handlers/__init__.py +0 -0
  31. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/batch_job/job_handlers/aws_batch_job_handler.py +0 -0
  32. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/batch_job/job_handlers/azure_apps_job_handler.py +0 -0
  33. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/batch_job/job_handlers/job_handler_factory.py +0 -0
  34. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/batch_job/job_handlers/job_status_mapper.py +0 -0
  35. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/batch_job/job_storage_managers/__init__.py +0 -0
  36. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/batch_job/job_storage_managers/azure_blob_storage_manager.py +0 -0
  37. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/batch_job/job_storage_managers/job_storage_manager_factory.py +0 -0
  38. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/batch_job/job_storage_managers/s3_job_storage_manager.py +0 -0
  39. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/config/__init__.py +0 -0
  40. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/constants/constants.py +0 -0
  41. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/data_warehouse_handlers/__init__.py +0 -0
  42. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/data_warehouse_handlers/connections/mssql_warehouse_connection.py +0 -0
  43. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/data_warehouse_handlers/connections/redshift_warehouse_connection.py +0 -0
  44. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/data_warehouse_handlers/factory.py +0 -0
  45. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/data_warehouse_handlers/mssql_handler.py +0 -0
  46. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/data_warehouse_handlers/query_executors/redshift_databricks_snowflake_query_executor.py +0 -0
  47. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/data_warehouse_handlers/query_executors/sqlalchemy_query_executor.py +0 -0
  48. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/data_warehouse_handlers/redshift_handler.py +0 -0
  49. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/data_warehouse_handlers/utils.py +0 -0
  50. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/data_warehouse_handlers/warehouse_handlers_map.py +0 -0
  51. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/database/__init__.py +0 -0
  52. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/dataclasses/__init__.py +0 -0
  53. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/dataclasses/aws_batch_job_context.py +0 -0
  54. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/dataclasses/azure_container_app_job_context.py +0 -0
  55. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/dataclasses/event_executor.py +0 -0
  56. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/dataclasses/job_context.py +0 -0
  57. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/dataclasses/job_record_dataclasses.py +0 -0
  58. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/dataclasses/warehouse_configs.py +0 -0
  59. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/datatype_mappings/__init__.py +0 -0
  60. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/datatype_mappings/connectors_to_system/__init__.py +0 -0
  61. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/datatype_mappings/connectors_to_system/csv.py +0 -0
  62. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/datatype_mappings/connectors_to_system/databricks.py +0 -0
  63. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/datatype_mappings/connectors_to_system/db2.py +0 -0
  64. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/datatype_mappings/connectors_to_system/jira.py +0 -0
  65. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/datatype_mappings/connectors_to_system/mssql.py +0 -0
  66. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/datatype_mappings/connectors_to_system/mysql.py +0 -0
  67. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/datatype_mappings/connectors_to_system/oracle.py +0 -0
  68. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/datatype_mappings/connectors_to_system/postgres.py +0 -0
  69. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/datatype_mappings/connectors_to_system/redshift.py +0 -0
  70. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/datatype_mappings/connectors_to_system/salesforce.py +0 -0
  71. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/datatype_mappings/connectors_to_system/snowflake.py +0 -0
  72. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/datatype_mappings/system_to_warehouse/__init__.py +0 -0
  73. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/datatype_mappings/system_to_warehouse/postgres.py +0 -0
  74. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/datatype_mappings/system_to_warehouse/redshift.py +0 -0
  75. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/enums/__init__.py +0 -0
  76. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/enums/async_task_executor.py +0 -0
  77. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/enums/connection_engine.py +0 -0
  78. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/enums/status_tracker.py +0 -0
  79. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/event_executor/__init__.py +0 -0
  80. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/event_executor/event_executor.py +0 -0
  81. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/event_executor/job_executor.py +0 -0
  82. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/event_executor/utils.py +0 -0
  83. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/exceptions/__init__.py +0 -0
  84. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/exceptions/batch_job_exceptions.py +0 -0
  85. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/exceptions/configuration_exceptions.py +0 -0
  86. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/exceptions/custom_exceptions.py +0 -0
  87. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/exceptions/data_validation_exceptions.py +0 -0
  88. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/exceptions/http_exceptions.py +0 -0
  89. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/exceptions/infrastructure_exceptions.py +0 -0
  90. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/exceptions/operational_exceptions.py +0 -0
  91. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/exceptions/security_exceptions.py +0 -0
  92. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/exceptions/user_intervention_exception.py +0 -0
  93. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/http/__init__.py +0 -0
  94. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/http/httpx_http_client.py +0 -0
  95. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/http/request_http_client.py +0 -0
  96. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/interfaces/__init__.py +0 -0
  97. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/interfaces/base_job_handler.py +0 -0
  98. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/interfaces/data_warehouse_handler.py +0 -0
  99. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/interfaces/databus.py +0 -0
  100. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/interfaces/http.py +0 -0
  101. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/interfaces/keyvault.py +0 -0
  102. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/interfaces/query_executor.py +0 -0
  103. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/interfaces/storage_manager.py +0 -0
  104. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/interfaces/warehouse_connection.py +0 -0
  105. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/logger/__init__.py +0 -0
  106. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/messaging/__init__.py +0 -0
  107. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/messaging/aws_databus.py +0 -0
  108. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/messaging/azure_databus.py +0 -0
  109. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/messaging/http_databus.py +0 -0
  110. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/messaging/nats_databus.py +0 -0
  111. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/messaging/nats_publisher.py +0 -0
  112. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/messaging/nats_test.py +0 -0
  113. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/messaging/utils/aws_utility.py +0 -0
  114. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/messaging/utils/azure_utility.py +0 -0
  115. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/messaging/utils/event_messages.py +0 -0
  116. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/metrics/__init__.py +0 -0
  117. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/metrics/status_tracker.py +0 -0
  118. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/models/__init__.py +0 -0
  119. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/registries/__init__.py +0 -0
  120. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/registries/schema_onboarding_event_registry.py +0 -0
  121. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/registries/service_event_registry.py +0 -0
  122. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/schema_onboarding_tracker/__init__.py +0 -0
  123. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/schema_onboarding_tracker/base_tracker.py +0 -0
  124. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/schema_onboarding_tracker/enums.py +0 -0
  125. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/schema_onboarding_tracker/exceptions.py +0 -0
  126. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/schema_onboarding_tracker/run_manager.py +0 -0
  127. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/schema_onboarding_tracker/schema_onboarding_tracker.py +0 -0
  128. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/schema_onboarding_tracker/shared_helpers.py +0 -0
  129. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/schema_onboarding_tracker/task_determination.py +0 -0
  130. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/schema_onboarding_tracker/task_helpers.py +0 -0
  131. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/schema_onboarding_tracker/task_manager.py +0 -0
  132. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/schema_onboarding_tracker/template_manager.py +0 -0
  133. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/schema_onboarding_tracker/utility_manager.py +0 -0
  134. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/security/__init__.py +0 -0
  135. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/security/key_vault/__init__.py +0 -0
  136. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/security/key_vault/aws_secret_manager.py +0 -0
  137. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/security/key_vault/azure_keyvault.py +0 -0
  138. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/status_tracker/__init__.py +0 -0
  139. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/status_tracker/status_tracker.py +0 -0
  140. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/storage_handlers/__init__.py +0 -0
  141. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/storage_handlers/blob_file_handler.py +0 -0
  142. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/storage_handlers/s3_storage_handler.py +0 -0
  143. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/tests/__init__.py +0 -0
  144. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/tests/config/__init__.py +0 -0
  145. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/tests/config/test_config.py +0 -0
  146. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/tests/logger/__init__.py +0 -0
  147. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/tests/logger/test_logger.py +0 -0
  148. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/tests/messaging/__init__.py +0 -0
  149. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/tests/messaging/test_aws_databus.py +0 -0
  150. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/tests/messaging/test_event_executor.py +0 -0
  151. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/tests/messaging/test_nats_interface.py +0 -0
  152. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/tests/utils/__init__.py +0 -0
  153. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/tests/utils/test_data_validators.py +0 -0
  154. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/tests/utils/test_date_format_utils.py +0 -0
  155. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/tests/utils/test_string_utils.py +0 -0
  156. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/traceability/__init__.py +0 -0
  157. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/traceability/traceability_handler.py +0 -0
  158. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/utils/__init__.py +0 -0
  159. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/utils/data_validators_utils.py +0 -0
  160. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/utils/date_format_utils.py +0 -0
  161. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/utils/date_utils.py +0 -0
  162. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/utils/string_utils.py +0 -0
  163. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/utils/template_renderer.py +0 -0
  164. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/utils/thread_debug_utils.py +0 -0
  165. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/utils/thread_local_storage.py +0 -0
  166. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/shared_kernel/utils/thread_log_traker.py +0 -0
  167. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/tests/__init__.py +0 -0
  168. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/tests/messaging/__init__.py +0 -0
  169. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/tests/messaging/utils/__init__.py +0 -0
  170. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/tests/messaging/utils/test_aws_utility.py +0 -0
  171. {fdc_shared_kernel-0.0.149 → fdc_shared_kernel-0.0.151}/tests/test_job_executor.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fdc_shared_kernel
3
- Version: 0.0.149
3
+ Version: 0.0.151
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
@@ -42,6 +42,7 @@ Requires-Dist: azure-storage-queue==12.13.0
42
42
  Requires-Dist: pyodbc==5.1.0
43
43
  Requires-Dist: redshift_connector==2.1.2
44
44
  Requires-Dist: pypika
45
+ Requires-Dist: snowflake-connector-python==3.16.0
45
46
 
46
47
  # FDC Shared Kernel
47
48
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fdc_shared_kernel
3
- Version: 0.0.149
3
+ Version: 0.0.151
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
@@ -42,6 +42,7 @@ Requires-Dist: azure-storage-queue==12.13.0
42
42
  Requires-Dist: pyodbc==5.1.0
43
43
  Requires-Dist: redshift_connector==2.1.2
44
44
  Requires-Dist: pypika
45
+ Requires-Dist: snowflake-connector-python==3.16.0
45
46
 
46
47
  # FDC Shared Kernel
47
48
 
@@ -38,10 +38,12 @@ shared_kernel/data_warehouse_handlers/__init__.py
38
38
  shared_kernel/data_warehouse_handlers/factory.py
39
39
  shared_kernel/data_warehouse_handlers/mssql_handler.py
40
40
  shared_kernel/data_warehouse_handlers/redshift_handler.py
41
+ shared_kernel/data_warehouse_handlers/snowflake_handler.py
41
42
  shared_kernel/data_warehouse_handlers/utils.py
42
43
  shared_kernel/data_warehouse_handlers/warehouse_handlers_map.py
43
44
  shared_kernel/data_warehouse_handlers/connections/mssql_warehouse_connection.py
44
45
  shared_kernel/data_warehouse_handlers/connections/redshift_warehouse_connection.py
46
+ shared_kernel/data_warehouse_handlers/connections/snowflake_warehouse_connection.py
45
47
  shared_kernel/data_warehouse_handlers/query_executors/redshift_databricks_snowflake_query_executor.py
46
48
  shared_kernel/data_warehouse_handlers/query_executors/sqlalchemy_query_executor.py
47
49
  shared_kernel/database/__init__.py
@@ -32,3 +32,4 @@ azure-storage-queue==12.13.0
32
32
  pyodbc==5.1.0
33
33
  redshift_connector==2.1.2
34
34
  pypika
35
+ snowflake-connector-python==3.16.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "fdc_shared_kernel"
7
- version = "0.0.149"
7
+ version = "0.0.151"
8
8
  requires-python = ">=3.7"
9
9
  readme = "README_pypi.md"
10
10
  description = "Shared library for microservice"
@@ -32,3 +32,4 @@ azure-storage-queue==12.13.0
32
32
  pyodbc==5.1.0
33
33
  redshift_connector==2.1.2
34
34
  pypika
35
+ snowflake-connector-python==3.16.0
@@ -9,7 +9,7 @@ config = Config()
9
9
  logger = Logger(config.get("APP_NAME"))
10
10
 
11
11
  class AIChatPersistence:
12
- def __init__(self, session_token: str, org_id = None, user_id = None, payload = {}):
12
+ def __init__(self, session_token: str, name_space: str, org_id=None, user_id=None, payload={}):
13
13
  self.session_token = session_token
14
14
  self.user_id = user_id
15
15
  if not self.session_token:
@@ -28,10 +28,8 @@ class AIChatPersistence:
28
28
  bus_type=config.get("ASYNC_EVENT_BUS_TYPE"),
29
29
  config={},
30
30
  )
31
-
31
+ self.name_space = name_space
32
32
  def publish_event(self, data: dict):
33
- self.data_bus.publish_event(event_name=data.get(
34
- "event_name"), event_payload=data)
35
33
  return True
36
34
 
37
35
 
@@ -43,6 +41,7 @@ class AIChatPersistence:
43
41
  "role": role,
44
42
  "message_type": message_type,
45
43
  "message": message,
44
+ "name_space": self.name_space
46
45
  },
47
46
  "event_meta": {
48
47
  "trace_id": self.trace_id,
@@ -0,0 +1,139 @@
1
+ import time
2
+ import snowflake.connector
3
+ from contextlib import contextmanager
4
+ from snowflake.connector.errors import (
5
+ OperationalError,
6
+ ProgrammingError,
7
+ InterfaceError,
8
+ DatabaseError,
9
+ )
10
+
11
+ from shared_kernel.data_warehouse_handlers.utils import extract_snowflake_error_message
12
+ from shared_kernel.dataclasses.warehouse_configs import SnowflakeConfig
13
+ from shared_kernel.exceptions.http_exceptions import BadRequest
14
+ from shared_kernel.interfaces.warehouse_connection import DataWarehouseConnection
15
+ from shared_kernel.config import Config
16
+ from shared_kernel.logger import Logger
17
+
18
+ config = Config()
19
+ logger = Logger(config.get("APP_NAME"))
20
+
21
+
22
+ class SnowflakeWarehouseConnection(DataWarehouseConnection):
23
+ LIST_SCHEMAS_QUERY: str = """
24
+ SELECT schema_name
25
+ FROM information_schema.schemata
26
+ WHERE schema_name NOT IN ('INFORMATION_SCHEMA','SNOWFLAKE')
27
+ ORDER BY schema_name;
28
+ """
29
+ def __init__(self, source_config: SnowflakeConfig):
30
+ self._conn = None
31
+ self._cursor = None
32
+ self._snowflake_config = source_config
33
+ self.org_schema = None
34
+
35
+ if self._snowflake_config and self._snowflake_config.schema:
36
+ self.org_schema = self._snowflake_config.schema
37
+
38
+ def _create_connection_with_retry(self, retries: int = 3, delay: int = 5):
39
+ """Try to establish a connection with retry mechanism."""
40
+ for attempt in range(retries):
41
+ try:
42
+ try:
43
+ cfg = self._snowflake_config
44
+ logger.debug(f"Snowflake connection configuration: {cfg.__dict__}")
45
+
46
+ self._conn = snowflake.connector.connect(
47
+ user=cfg.user,
48
+ password=cfg.password,
49
+ account=cfg.account,
50
+ database=cfg.database,
51
+ schema=cfg.schema,
52
+ )
53
+
54
+ except (InterfaceError, OperationalError, ProgrammingError, DatabaseError) as e:
55
+ error_message = extract_snowflake_error_message(str(e))
56
+ raise BadRequest(f"Connection to warehouse failed: {error_message}")
57
+
58
+ self._cursor = self._conn.cursor()
59
+
60
+ if not self.is_valid_connection():
61
+ raise BadRequest("Connection validation failed")
62
+
63
+ except BadRequest as e:
64
+ logger.error(
65
+ f"Connection attempt {attempt + 1} failed: {str(e)}",
66
+ exc_info=True,
67
+ )
68
+
69
+ if attempt == retries - 1:
70
+ raise BadRequest(str(e)) from e
71
+
72
+ except Exception as e:
73
+ logger.error(
74
+ f"Connection attempt {attempt + 1} failed: {str(e)}",
75
+ exc_info=True,
76
+ )
77
+
78
+ if attempt == retries - 1:
79
+ raise BadRequest(
80
+ f"Failed to connect after {retries} attempts due to {str(e)}"
81
+ ) from e
82
+
83
+ time.sleep(delay)
84
+ self.close_connection()
85
+
86
+ @contextmanager
87
+ def get_connection(self, retries: int = 3, delay: float = 5):
88
+ """Context manager for database connections with retry mechanism"""
89
+ if not (self._conn and self.is_valid_connection()):
90
+ self._create_connection_with_retry(retries, delay)
91
+ try:
92
+ yield self._cursor
93
+ except Exception as e:
94
+ raise e
95
+ finally:
96
+ self._conn.commit()
97
+ return
98
+
99
+ def is_valid_connection(self) -> bool:
100
+ """Validate connection with a simple query"""
101
+ try:
102
+ if self._cursor is None:
103
+ return False
104
+ self._cursor.execute(
105
+ "SELECT current_user, current_database(), current_version();"
106
+ )
107
+ user, db, version = self._cursor.fetchone()
108
+ logger.debug(
109
+ f"Connected as {user} to {db}, version: {version}"
110
+ )
111
+ return True
112
+ except (OperationalError, ProgrammingError, InterfaceError) as e:
113
+ logger.error(f"Exception: {str(e)}")
114
+ raise e
115
+ except Exception as e:
116
+ logger.error(f"Exception: {str(e)}")
117
+ raise Exception(f"Connection failed.")
118
+
119
+ def close_connection(self):
120
+ """Safely close database connection"""
121
+ try:
122
+ if self._cursor:
123
+ self._cursor.close()
124
+ logger.info(
125
+ f"Terminated warehouse cursor connection."
126
+ )
127
+ if self._conn:
128
+ self._conn.close()
129
+ logger.info(
130
+ f"Terminated warehouse connection."
131
+ )
132
+ except Exception as e:
133
+ logger.error(
134
+ f"Error closing connection: {str(e)}",
135
+ exc_info=True,
136
+ )
137
+ finally:
138
+ self._cursor = None
139
+ self._conn = None
@@ -0,0 +1,39 @@
1
+ from pypika import Query
2
+
3
+ from shared_kernel.data_warehouse_handlers.connections.snowflake_warehouse_connection import SnowflakeWarehouseConnection
4
+ from shared_kernel.data_warehouse_handlers.query_executors.redshift_databricks_snowflake_query_executor import RedshiftDatabricksSnowflakeQueryExecutor
5
+ from shared_kernel.dataclasses.warehouse_configs import SnowflakeConfig
6
+ from shared_kernel.interfaces.data_warehouse_handler import WarehouseHandler
7
+
8
+
9
+ class SnowflakeWarehouseHandler(WarehouseHandler):
10
+
11
+ def __init__(self, payload: dict=None):
12
+ super().__init__(payload)
13
+ self.payload = payload or {}
14
+ self.organization_license_type = self.payload.get("organization_license_type")
15
+ self.organization_id = self.payload.get("organization_id")
16
+
17
+ def get_config(self) -> SnowflakeConfig:
18
+ return SnowflakeConfig(
19
+ user=str(self.payload.get("user")).strip(),
20
+ password=str(self.payload.get("password")).strip(),
21
+ account=str(self.payload.get("account")).strip(),
22
+ database=str(self.payload.get("database")).strip(),
23
+ schema=str(self.payload.get("schema")).strip(),
24
+ schema_list=self.payload.get("schema_list"),
25
+ )
26
+
27
+ def get_connection_object(self) -> SnowflakeWarehouseConnection:
28
+ self.connection = SnowflakeWarehouseConnection(
29
+ source_config=self.get_config()
30
+ )
31
+ return self.connection
32
+
33
+ def get_query_executor_object(self) -> RedshiftDatabricksSnowflakeQueryExecutor:
34
+ self.query_executor = RedshiftDatabricksSnowflakeQueryExecutor(warehouse_connection=self.connection)
35
+ return self.query_executor
36
+
37
+ def get_query_object(self) -> Query:
38
+ return Query
39
+