fdc-shared-kernel 0.0.192__tar.gz → 0.0.194__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 (197) hide show
  1. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/PKG-INFO +1 -1
  2. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/fdc_shared_kernel.egg-info/PKG-INFO +1 -1
  3. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/pyproject.toml +1 -1
  4. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/connections/fabric_sql_warehouse_connection.py +52 -18
  5. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/README.md +0 -0
  6. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/README_pypi.md +0 -0
  7. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/fdc_shared_kernel.egg-info/SOURCES.txt +0 -0
  8. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/fdc_shared_kernel.egg-info/dependency_links.txt +0 -0
  9. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/fdc_shared_kernel.egg-info/requires.txt +0 -0
  10. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/fdc_shared_kernel.egg-info/top_level.txt +0 -0
  11. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/requirements.txt +0 -0
  12. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/setup.cfg +0 -0
  13. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/__init__.py +0 -0
  14. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/agent_communication_channel/__init__.py +0 -0
  15. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/agent_communication_channel/agent_channel.py +0 -0
  16. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/agent_communication_channel/contexts.py +0 -0
  17. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/agent_communication_channel/event_channel.py +0 -0
  18. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/ai_audit_log/__init__.py +0 -0
  19. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/ai_chat_persistence/__init__.py +0 -0
  20. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/ai_chat_persistence/chat_persistence.py +0 -0
  21. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/async_task_executor/__init__.py +0 -0
  22. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/async_task_executor/async_task_executor.py +0 -0
  23. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/auth/__init__.py +0 -0
  24. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/auth/jwt_helper.py +0 -0
  25. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/auth/token_handler.py +0 -0
  26. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/auth/workbook_permission_handler.py +0 -0
  27. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/batch_job/__init__.py +0 -0
  28. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/batch_job/batch_job_status_tracker/container_job_status_tracker.py +0 -0
  29. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/batch_job/job_handlers/__init__.py +0 -0
  30. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/batch_job/job_handlers/aws_batch_job_handler.py +0 -0
  31. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/batch_job/job_handlers/azure_apps_job_handler.py +0 -0
  32. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/batch_job/job_handlers/job_handler_factory.py +0 -0
  33. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/batch_job/job_handlers/job_status_mapper.py +0 -0
  34. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/batch_job/job_storage_managers/__init__.py +0 -0
  35. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/batch_job/job_storage_managers/azure_blob_storage_manager.py +0 -0
  36. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/batch_job/job_storage_managers/job_storage_manager_factory.py +0 -0
  37. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/batch_job/job_storage_managers/s3_job_storage_manager.py +0 -0
  38. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/config/__init__.py +0 -0
  39. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/constants/constants.py +0 -0
  40. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/__init__.py +0 -0
  41. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/connections/databricks_warehouse_connection.py +0 -0
  42. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/connections/jdbc_warehouse_connection.py +0 -0
  43. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/connections/mssql_warehouse_connection.py +0 -0
  44. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/connections/mysql_warehouse_connection.py +0 -0
  45. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/connections/postgresql_warehouse_connection.py +0 -0
  46. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/connections/redshift_warehouse_connection.py +0 -0
  47. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/connections/snowflake_warehouse_connection.py +0 -0
  48. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/custom_query_builders/databricks_query.py +0 -0
  49. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/databricks_handler.py +0 -0
  50. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/fabric_sql_handler.py +0 -0
  51. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/factory.py +0 -0
  52. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/jdbc_driver_registry.py +0 -0
  53. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/jdbc_handler.py +0 -0
  54. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/mssql_handler.py +0 -0
  55. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/mysql_handler.py +0 -0
  56. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/odbc_handler.py +0 -0
  57. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/postgresql_handler.py +0 -0
  58. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/query_executors/databricks_query_executor.py +0 -0
  59. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/query_executors/fabric_sql_query_executor.py +0 -0
  60. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/query_executors/jdbc_query_executor.py +0 -0
  61. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/query_executors/mssql_query_executor.py +0 -0
  62. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/query_executors/mysql_query_executor.py +0 -0
  63. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/query_executors/postgresql_query_executor.py +0 -0
  64. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/query_executors/redshift_query_executor.py +0 -0
  65. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/query_executors/snowflake_query_executor.py +0 -0
  66. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/redshift_handler.py +0 -0
  67. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/snowflake_handler.py +0 -0
  68. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/utils.py +0 -0
  69. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/data_warehouse_handlers/warehouse_handlers_map.py +0 -0
  70. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/database/__init__.py +0 -0
  71. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/dataclasses/__init__.py +0 -0
  72. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/dataclasses/aws_batch_job_context.py +0 -0
  73. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/dataclasses/azure_container_app_job_context.py +0 -0
  74. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/dataclasses/event_executor.py +0 -0
  75. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/dataclasses/job_context.py +0 -0
  76. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/dataclasses/job_record_dataclasses.py +0 -0
  77. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/dataclasses/warehouse_configs.py +0 -0
  78. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/__init__.py +0 -0
  79. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/connectors_to_system/__init__.py +0 -0
  80. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/connectors_to_system/csv.py +0 -0
  81. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/connectors_to_system/databricks.py +0 -0
  82. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/connectors_to_system/db2.py +0 -0
  83. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/connectors_to_system/jdbc.py +0 -0
  84. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/connectors_to_system/jira.py +0 -0
  85. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/connectors_to_system/mssql.py +0 -0
  86. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/connectors_to_system/mysql.py +0 -0
  87. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/connectors_to_system/oracle.py +0 -0
  88. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/connectors_to_system/postgres.py +0 -0
  89. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/connectors_to_system/redshift.py +0 -0
  90. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/connectors_to_system/salesforce.py +0 -0
  91. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/connectors_to_system/snowflake.py +0 -0
  92. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/connectors_to_system/sqlalchemy.py +0 -0
  93. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/system_to_warehouse/__init__.py +0 -0
  94. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/system_to_warehouse/postgres.py +0 -0
  95. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/datatype_mappings/system_to_warehouse/redshift.py +0 -0
  96. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/enums/__init__.py +0 -0
  97. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/enums/async_task_executor.py +0 -0
  98. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/enums/connection_engine.py +0 -0
  99. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/enums/status_tracker.py +0 -0
  100. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/event_executor/__init__.py +0 -0
  101. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/event_executor/event_executor.py +0 -0
  102. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/event_executor/job_executor.py +0 -0
  103. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/event_executor/utils.py +0 -0
  104. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/exceptions/__init__.py +0 -0
  105. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/exceptions/batch_job_exceptions.py +0 -0
  106. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/exceptions/configuration_exceptions.py +0 -0
  107. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/exceptions/custom_exceptions.py +0 -0
  108. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/exceptions/data_validation_exceptions.py +0 -0
  109. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/exceptions/http_exceptions.py +0 -0
  110. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/exceptions/infrastructure_exceptions.py +0 -0
  111. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/exceptions/operational_exceptions.py +0 -0
  112. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/exceptions/security_exceptions.py +0 -0
  113. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/exceptions/user_intervention_exception.py +0 -0
  114. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/http/__init__.py +0 -0
  115. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/http/httpx_http_client.py +0 -0
  116. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/http/request_http_client.py +0 -0
  117. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/interfaces/__init__.py +0 -0
  118. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/interfaces/base_job_handler.py +0 -0
  119. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/interfaces/data_warehouse_handler.py +0 -0
  120. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/interfaces/databus.py +0 -0
  121. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/interfaces/encryption.py +0 -0
  122. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/interfaces/http.py +0 -0
  123. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/interfaces/keyvault.py +0 -0
  124. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/interfaces/query_executor.py +0 -0
  125. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/interfaces/storage_manager.py +0 -0
  126. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/interfaces/warehouse_connection.py +0 -0
  127. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/logger/__init__.py +0 -0
  128. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/messaging/__init__.py +0 -0
  129. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/messaging/aws_databus.py +0 -0
  130. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/messaging/azure_databus.py +0 -0
  131. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/messaging/http_databus.py +0 -0
  132. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/messaging/nats_databus.py +0 -0
  133. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/messaging/nats_publisher.py +0 -0
  134. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/messaging/nats_test.py +0 -0
  135. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/messaging/utils/aws_utility.py +0 -0
  136. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/messaging/utils/azure_utility.py +0 -0
  137. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/messaging/utils/event_messages.py +0 -0
  138. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/metrics/__init__.py +0 -0
  139. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/metrics/status_tracker.py +0 -0
  140. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/models/__init__.py +0 -0
  141. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/registries/__init__.py +0 -0
  142. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/registries/schema_onboarding_event_registry.py +0 -0
  143. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/registries/service_event_registry.py +0 -0
  144. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/schema_onboarding_tracker/__init__.py +0 -0
  145. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/schema_onboarding_tracker/base_tracker.py +0 -0
  146. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/schema_onboarding_tracker/enums.py +0 -0
  147. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/schema_onboarding_tracker/exceptions.py +0 -0
  148. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/schema_onboarding_tracker/run_manager.py +0 -0
  149. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/schema_onboarding_tracker/schema_onboarding_tracker.py +0 -0
  150. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/schema_onboarding_tracker/shared_helpers.py +0 -0
  151. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/schema_onboarding_tracker/task_determination.py +0 -0
  152. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/schema_onboarding_tracker/task_helpers.py +0 -0
  153. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/schema_onboarding_tracker/task_manager.py +0 -0
  154. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/schema_onboarding_tracker/template_manager.py +0 -0
  155. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/schema_onboarding_tracker/utility_manager.py +0 -0
  156. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/security/__init__.py +0 -0
  157. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/security/encryption/__init__.py +0 -0
  158. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/security/encryption/manager.py +0 -0
  159. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/security/encryption/providers.py +0 -0
  160. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/security/key_vault/__init__.py +0 -0
  161. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/security/key_vault/aws_secret_manager.py +0 -0
  162. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/security/key_vault/azure_keyvault.py +0 -0
  163. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/status_tracker/__init__.py +0 -0
  164. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/status_tracker/status_tracker.py +0 -0
  165. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/storage_handlers/__init__.py +0 -0
  166. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/storage_handlers/blob_file_handler.py +0 -0
  167. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/storage_handlers/s3_storage_handler.py +0 -0
  168. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/tests/__init__.py +0 -0
  169. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/tests/config/__init__.py +0 -0
  170. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/tests/config/test_config.py +0 -0
  171. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/tests/logger/__init__.py +0 -0
  172. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/tests/logger/test_logger.py +0 -0
  173. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/tests/messaging/__init__.py +0 -0
  174. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/tests/messaging/test_aws_databus.py +0 -0
  175. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/tests/messaging/test_event_executor.py +0 -0
  176. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/tests/messaging/test_nats_interface.py +0 -0
  177. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/tests/security/test_encryption.py +0 -0
  178. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/tests/utils/__init__.py +0 -0
  179. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/tests/utils/test_data_validators.py +0 -0
  180. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/tests/utils/test_date_format_utils.py +0 -0
  181. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/tests/utils/test_string_utils.py +0 -0
  182. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/traceability/__init__.py +0 -0
  183. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/traceability/traceability_handler.py +0 -0
  184. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/utils/__init__.py +0 -0
  185. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/utils/data_validators_utils.py +0 -0
  186. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/utils/date_format_utils.py +0 -0
  187. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/utils/date_utils.py +0 -0
  188. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/utils/string_utils.py +0 -0
  189. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/utils/template_renderer.py +0 -0
  190. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/utils/thread_debug_utils.py +0 -0
  191. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/utils/thread_local_storage.py +0 -0
  192. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/shared_kernel/utils/thread_log_traker.py +0 -0
  193. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/tests/__init__.py +0 -0
  194. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/tests/messaging/__init__.py +0 -0
  195. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/tests/messaging/utils/__init__.py +0 -0
  196. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/tests/messaging/utils/test_aws_utility.py +0 -0
  197. {fdc_shared_kernel-0.0.192 → fdc_shared_kernel-0.0.194}/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.192
3
+ Version: 0.0.194
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.4
2
2
  Name: fdc_shared_kernel
3
- Version: 0.0.192
3
+ Version: 0.0.194
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "fdc_shared_kernel"
7
- version = "0.0.192"
7
+ version = "0.0.194"
8
8
  requires-python = ">=3.7"
9
9
  readme = "README_pypi.md"
10
10
  description = "Shared library for microservice"
@@ -1,10 +1,13 @@
1
1
  import hashlib
2
+ import re
3
+ import struct
2
4
  import time
3
5
  import threading
4
6
 
5
7
  from contextlib import contextmanager
6
8
  from typing import Dict
7
9
 
10
+ from azure.identity import ClientSecretCredential
8
11
  from sqlalchemy import create_engine, text
9
12
  from sqlalchemy.engine import Engine
10
13
  from sqlalchemy.exc import InterfaceError, OperationalError, ProgrammingError
@@ -44,8 +47,11 @@ class FabricSQLWarehouseConnection(DataWarehouseConnection):
44
47
  self.search = pagination.get("search") if isinstance(pagination, dict) else None
45
48
 
46
49
  def _engine_key(self, cfg: FabricSQLConfig) -> str:
47
- h = hashlib.md5(f"{cfg.host}:{cfg.port}:{cfg.database}:{cfg.username}".encode()).hexdigest()
48
- return h
50
+ # All five credential fields are part of the key so that any change to any of them
51
+ # forces a new engine + fresh token request (no stale-cache bypass).
52
+ # Password is SHA-256 hashed so the raw secret is never stored in a dict key.
53
+ pwd_hash = hashlib.sha256(cfg.password.encode()).hexdigest()
54
+ return f"{cfg.host}|{cfg.port}|{cfg.database}|{cfg.username}|{cfg.tenant_id}|{pwd_hash}"
49
55
 
50
56
  def _get_fabric_connection_params(self, cfg: FabricSQLConfig) -> str:
51
57
  """
@@ -82,9 +88,9 @@ class FabricSQLWarehouseConnection(DataWarehouseConnection):
82
88
 
83
89
  engine = create_engine(
84
90
  connection_string,
85
- pool_size=10,
91
+ pool_size=50,
86
92
  max_overflow=5,
87
- pool_timeout=30,
93
+ pool_timeout=60,
88
94
  pool_recycle=1800,
89
95
  pool_pre_ping=True,
90
96
  )
@@ -118,22 +124,50 @@ class FabricSQLWarehouseConnection(DataWarehouseConnection):
118
124
  if token_info["token"] is None or now >= token_info["expires_at"] - 300:
119
125
  tenant_id = getattr(cfg, "tenant_id", None)
120
126
  if not tenant_id:
121
- raise ValueError(
122
- "tenant_id is required in FabricSQLConfig for authenticating to Microsoft Fabric via Active Directory Service Principal."
127
+ raise BadRequest(
128
+ "tenant_id is required in FabricSQLConfig for authenticating "
129
+ "to Microsoft Fabric via Active Directory Service Principal."
123
130
  )
124
-
125
- from azure.identity import ClientSecretCredential
126
- import struct
127
-
128
- logger.info("Fetching fresh Entra ID access token for Fabric SQL connection...")
129
- # Instantiate the credential to retrieve a token for the Azure SQL Endpoint
130
- cred = ClientSecretCredential(
131
- tenant_id=tenant_id,
132
- client_id=cfg.username,
133
- client_secret=cfg.password
131
+
132
+ # Validate that tenant_id looks like a UUID or a domain name.
133
+ # A truncated/malformed UUID (e.g. 'a815263-...' instead of '1a815263-...')
134
+ # causes a cryptic MSAL authority error — catch it here with a clear message.
135
+ _TENANT_UUID = re.compile(
136
+ r"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
134
137
  )
135
- token_obj = cred.get_token("https://database.windows.net/.default")
136
-
138
+ _TENANT_DOMAIN = re.compile(r"^[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$")
139
+ if not (_TENANT_UUID.match(tenant_id) or _TENANT_DOMAIN.match(tenant_id)):
140
+ raise BadRequest(
141
+ f"Invalid fabric SQL warehouse tenant_id '{tenant_id}'"
142
+ )
143
+
144
+ # --- Secure diagnostic logging (never logs the full secret) ---
145
+ _secret = cfg.password or ""
146
+ _masked = (
147
+ f"{_secret[:3]}...{_secret[-3:]}" if len(_secret) > 6 else "***"
148
+ )
149
+ logger.info(
150
+ f"Fetching Entra ID token | tenant_id={tenant_id} "
151
+ f"| client_id={cfg.username} "
152
+ f"| secret_len={len(_secret)} "
153
+ f"| secret_preview={_masked}"
154
+ )
155
+
156
+ try:
157
+ cred = ClientSecretCredential(
158
+ tenant_id=tenant_id,
159
+ client_id=cfg.username,
160
+ client_secret=cfg.password
161
+ )
162
+ token_obj = cred.get_token("https://database.windows.net/.default")
163
+ logger.info(f"Entra ID token acquired via tenant_id={tenant_id}")
164
+ except Exception as auth_err:
165
+ raise BadRequest(
166
+ f"Authentication failed for tenant_id: {auth_err}. "
167
+ "Verify that tenant_id, client_id (user), and client_secret (password) "
168
+ "are all correct and the App Registration has not expired."
169
+ ) from auth_err
170
+
137
171
  # Encode the OAuth token to UTF-16-LE bytes.
138
172
  # Pack the payload into the binary structure required by ODBC Driver 18:
139
173
  # [4 bytes representing the length of the token string] followed by [the token string bytes].