isa-data 1.0.0__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 (691) hide show
  1. isa_data-1.0.0/PKG-INFO +172 -0
  2. isa_data-1.0.0/README.md +121 -0
  3. isa_data-1.0.0/isa_data/__init__.py +28 -0
  4. isa_data-1.0.0/isa_data/adapters/__init__.py +27 -0
  5. isa_data-1.0.0/isa_data/adapters/base/__init__.py +14 -0
  6. isa_data-1.0.0/isa_data/adapters/base/base_adapter.py +240 -0
  7. isa_data-1.0.0/isa_data/adapters/base/database_adapter.py +1010 -0
  8. isa_data-1.0.0/isa_data/adapters/file_adapters/__init__.py +68 -0
  9. isa_data-1.0.0/isa_data/adapters/file_adapters/base_adapter.py +372 -0
  10. isa_data-1.0.0/isa_data/adapters/file_adapters/csv_adapter.py +584 -0
  11. isa_data-1.0.0/isa_data/adapters/file_adapters/document_adapter.py +741 -0
  12. isa_data-1.0.0/isa_data/adapters/file_adapters/excel_adapter.py +467 -0
  13. isa_data-1.0.0/isa_data/adapters/sink_adapters/__init__.py +81 -0
  14. isa_data-1.0.0/isa_data/adapters/sink_adapters/base_sink_adapter.py +165 -0
  15. isa_data-1.0.0/isa_data/adapters/sink_adapters/csv_adapter.py +451 -0
  16. isa_data-1.0.0/isa_data/adapters/sink_adapters/delta_lake_adapter.py +417 -0
  17. isa_data-1.0.0/isa_data/adapters/sink_adapters/duckdb_adapter.py +283 -0
  18. isa_data-1.0.0/isa_data/adapters/sink_adapters/parquet_adapter.py +466 -0
  19. isa_data-1.0.0/isa_data/adapters/source_adapters/README.md +361 -0
  20. isa_data-1.0.0/isa_data/adapters/source_adapters/__init__.py +65 -0
  21. isa_data-1.0.0/isa_data/adapters/source_adapters/base_adapter.py +215 -0
  22. isa_data-1.0.0/isa_data/adapters/source_adapters/bigquery_adapter.py +468 -0
  23. isa_data-1.0.0/isa_data/adapters/source_adapters/clickhouse_adapter.py +393 -0
  24. isa_data-1.0.0/isa_data/adapters/source_adapters/deltalake_adapter.py +434 -0
  25. isa_data-1.0.0/isa_data/adapters/source_adapters/elasticsearch_adapter.py +456 -0
  26. isa_data-1.0.0/isa_data/adapters/source_adapters/mongodb_adapter.py +343 -0
  27. isa_data-1.0.0/isa_data/adapters/source_adapters/mysql_adapter.py +283 -0
  28. isa_data-1.0.0/isa_data/adapters/source_adapters/oracle_adapter.py +333 -0
  29. isa_data-1.0.0/isa_data/adapters/source_adapters/postgresql_adapter.py +323 -0
  30. isa_data-1.0.0/isa_data/adapters/source_adapters/redis_adapter.py +401 -0
  31. isa_data-1.0.0/isa_data/adapters/source_adapters/registry.py +306 -0
  32. isa_data-1.0.0/isa_data/adapters/source_adapters/s3_adapter.py +546 -0
  33. isa_data-1.0.0/isa_data/adapters/source_adapters/snowflake_adapter.py +334 -0
  34. isa_data-1.0.0/isa_data/adapters/source_adapters/sqlserver_adapter.py +320 -0
  35. isa_data-1.0.0/isa_data/adapters/vendor_collectors/README.md +99 -0
  36. isa_data-1.0.0/isa_data/adapters/vendor_collectors/__init__.py +88 -0
  37. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/__init__.py +85 -0
  38. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/apicurio_backend.py +277 -0
  39. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/auth/__init__.py +15 -0
  40. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/auth/api_key.py +28 -0
  41. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/auth/base.py +54 -0
  42. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/auth/manual_upload.py +27 -0
  43. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/auth/oauth2.py +79 -0
  44. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/base_collector.py +161 -0
  45. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/checkpoint.py +72 -0
  46. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/file_feed_collector.py +250 -0
  47. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/http_client.py +175 -0
  48. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/managed_web_data_collector.py +49 -0
  49. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/manifest_loader.py +221 -0
  50. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/pagination.py +184 -0
  51. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/rate_limiter.py +105 -0
  52. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/result.py +61 -0
  53. isa_data-1.0.0/isa_data/adapters/vendor_collectors/_base/schema_validator.py +232 -0
  54. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/__init__.py +16 -0
  55. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/_stub.py +42 -0
  56. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/amazon_ads.py +339 -0
  57. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/amazon_spapi.py +213 -0
  58. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/amazon_vc.py +122 -0
  59. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/coupang.py +261 -0
  60. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/douyin.py +280 -0
  61. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/ga4.py +285 -0
  62. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/google_ads.py +386 -0
  63. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/homedepot.py +194 -0
  64. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/jd.py +476 -0
  65. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/lazada.py +311 -0
  66. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/lowes.py +151 -0
  67. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/meta_ads.py +416 -0
  68. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/overstock.py +285 -0
  69. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/ozon.py +245 -0
  70. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/pdd.py +323 -0
  71. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/rakuten.py +308 -0
  72. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/shopee.py +252 -0
  73. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/shopify.py +239 -0
  74. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/temu.py +339 -0
  75. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/tmall.py +610 -0
  76. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/walmart_connect.py +322 -0
  77. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/walmart_marketplace.py +458 -0
  78. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/wayfair.py +98 -0
  79. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/wildberries.py +237 -0
  80. isa_data-1.0.0/isa_data/adapters/vendor_collectors/connectors/xiaomi.py +256 -0
  81. isa_data-1.0.0/isa_data/adapters/vendor_collectors/providers/__init__.py +44 -0
  82. isa_data-1.0.0/isa_data/adapters/vendor_collectors/providers/_managed_base.py +177 -0
  83. isa_data-1.0.0/isa_data/adapters/vendor_collectors/providers/bright_data.py +106 -0
  84. isa_data-1.0.0/isa_data/adapters/vendor_collectors/providers/oxylabs.py +110 -0
  85. isa_data-1.0.0/isa_data/adapters/vendor_collectors/providers/router.py +102 -0
  86. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/__init__.py +0 -0
  87. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/conftest.py +111 -0
  88. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_amazon_ads_connector.py +322 -0
  89. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_amazon_spapi_connector.py +305 -0
  90. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_apicurio_backend.py +278 -0
  91. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_auth.py +107 -0
  92. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_base_collector.py +104 -0
  93. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_checkpoint.py +42 -0
  94. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_connectors_smoke.py +158 -0
  95. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_coupang_connector.py +303 -0
  96. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_douyin_connector.py +251 -0
  97. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_file_feed_collector.py +147 -0
  98. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_ga4_connector.py +380 -0
  99. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_google_ads_connector.py +415 -0
  100. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_homedepot_connector.py +279 -0
  101. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_http_client.py +80 -0
  102. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_jd_connector.py +469 -0
  103. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_lazada_connector.py +389 -0
  104. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_lowes_connector.py +219 -0
  105. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_managed_web_providers.py +165 -0
  106. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_manifest_loader.py +66 -0
  107. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_meta_ads_connector.py +314 -0
  108. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_overstock_connector.py +336 -0
  109. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_ozon_connector.py +248 -0
  110. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_pagination.py +54 -0
  111. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_pdd_connector.py +314 -0
  112. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_rakuten_connector.py +346 -0
  113. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_rate_limiter.py +40 -0
  114. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_schema_validator.py +41 -0
  115. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_shopee_connector.py +322 -0
  116. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_shopify_connector.py +274 -0
  117. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_smoke.py +37 -0
  118. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_temu_connector.py +404 -0
  119. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_tmall_connector.py +638 -0
  120. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_walmart_connect_connector.py +363 -0
  121. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_walmart_marketplace_connector.py +425 -0
  122. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_wildberries_connector.py +252 -0
  123. isa_data-1.0.0/isa_data/adapters/vendor_collectors/tests/test_xiaomi_connector.py +248 -0
  124. isa_data-1.0.0/isa_data/api/__init__.py +3 -0
  125. isa_data-1.0.0/isa_data/api/v1/__init__.py +45 -0
  126. isa_data-1.0.0/isa_data/api/v1/access_control.py +145 -0
  127. isa_data-1.0.0/isa_data/api/v1/active_metadata.py +176 -0
  128. isa_data-1.0.0/isa_data/api/v1/agent_fleet.py +736 -0
  129. isa_data-1.0.0/isa_data/api/v1/analytics.py +133 -0
  130. isa_data-1.0.0/isa_data/api/v1/audit.py +123 -0
  131. isa_data-1.0.0/isa_data/api/v1/catalog.py +3713 -0
  132. isa_data-1.0.0/isa_data/api/v1/catalog_auth.py +89 -0
  133. isa_data-1.0.0/isa_data/api/v1/commerce_products.py +115 -0
  134. isa_data-1.0.0/isa_data/api/v1/copilot.py +246 -0
  135. isa_data-1.0.0/isa_data/api/v1/digital.py +430 -0
  136. isa_data-1.0.0/isa_data/api/v1/digital_assets.py +413 -0
  137. isa_data-1.0.0/isa_data/api/v1/enterprise_audit.py +343 -0
  138. isa_data-1.0.0/isa_data/api/v1/etl.py +599 -0
  139. isa_data-1.0.0/isa_data/api/v1/fabric.py +386 -0
  140. isa_data-1.0.0/isa_data/api/v1/federation.py +435 -0
  141. isa_data-1.0.0/isa_data/api/v1/governance.py +286 -0
  142. isa_data-1.0.0/isa_data/api/v1/governance_lineage.py +195 -0
  143. isa_data-1.0.0/isa_data/api/v1/governance_notifications.py +110 -0
  144. isa_data-1.0.0/isa_data/api/v1/indicators.py +196 -0
  145. isa_data-1.0.0/isa_data/api/v1/ingestion.py +515 -0
  146. isa_data-1.0.0/isa_data/api/v1/lake.py +718 -0
  147. isa_data-1.0.0/isa_data/api/v1/lineage.py +884 -0
  148. isa_data-1.0.0/isa_data/api/v1/me.py +918 -0
  149. isa_data-1.0.0/isa_data/api/v1/me_cost_tracker.py +363 -0
  150. isa_data-1.0.0/isa_data/api/v1/me_metrics.py +203 -0
  151. isa_data-1.0.0/isa_data/api/v1/me_rate_limit.py +161 -0
  152. isa_data-1.0.0/isa_data/api/v1/me_storage.py +124 -0
  153. isa_data-1.0.0/isa_data/api/v1/metadata.py +707 -0
  154. isa_data-1.0.0/isa_data/api/v1/notebook.py +223 -0
  155. isa_data-1.0.0/isa_data/api/v1/quality.py +730 -0
  156. isa_data-1.0.0/isa_data/api/v1/scm_products.py +68 -0
  157. isa_data-1.0.0/isa_data/api/v1/unified_products.py +180 -0
  158. isa_data-1.0.0/isa_data/api/v1/user.py +614 -0
  159. isa_data-1.0.0/isa_data/api/v1/vector_stores.py +537 -0
  160. isa_data-1.0.0/isa_data/contracts/__init__.py +2 -0
  161. isa_data-1.0.0/isa_data/contracts/com_products.py +3351 -0
  162. isa_data-1.0.0/isa_data/contracts/data_products/__init__.py +139 -0
  163. isa_data-1.0.0/isa_data/contracts/data_products/analysis_result_record.schema.json +276 -0
  164. isa_data-1.0.0/isa_data/contracts/data_products/analysis_run_record.schema.json +126 -0
  165. isa_data-1.0.0/isa_data/contracts/data_products/artifact_definition.schema.json +300 -0
  166. isa_data-1.0.0/isa_data/contracts/data_products/artifact_surface.py +369 -0
  167. isa_data-1.0.0/isa_data/contracts/data_products/examples/analysis_result_notebook_only.json +34 -0
  168. isa_data-1.0.0/isa_data/contracts/data_products/examples/analysis_result_with_model_run.json +38 -0
  169. isa_data-1.0.0/isa_data/contracts/data_products/examples/analysis_run_notebook_only.json +23 -0
  170. isa_data-1.0.0/isa_data/contracts/data_products/examples/analysis_run_with_model_run.json +27 -0
  171. isa_data-1.0.0/isa_data/contracts/data_products/examples/artifact_market_opportunity_model_pack.json +35 -0
  172. isa_data-1.0.0/isa_data/contracts/data_products/examples/artifact_product_360_table.json +34 -0
  173. isa_data-1.0.0/isa_data/contracts/data_products/examples/model_governance_ad_budget_recommendations.json +80 -0
  174. isa_data-1.0.0/isa_data/contracts/data_products/examples/model_governance_customer_risk.json +77 -0
  175. isa_data-1.0.0/isa_data/contracts/data_products/examples/model_governance_market_opportunity.json +31 -0
  176. isa_data-1.0.0/isa_data/contracts/data_products/examples/model_governance_price_recommendation_agent.json +34 -0
  177. isa_data-1.0.0/isa_data/contracts/data_products/examples/publication/commercial_tower_ad_budget_recommendations.json +146 -0
  178. isa_data-1.0.0/isa_data/contracts/data_products/examples/publication/commercial_tower_customer_risk.json +144 -0
  179. isa_data-1.0.0/isa_data/contracts/data_products/examples/publication/commercial_tower_kpi_snapshot.json +166 -0
  180. isa_data-1.0.0/isa_data/contracts/data_products/examples/publication/commercial_tower_market_opportunity.json +186 -0
  181. isa_data-1.0.0/isa_data/contracts/data_products/examples/publication/commercial_tower_price_recommendations.json +146 -0
  182. isa_data-1.0.0/isa_data/contracts/data_products/examples/publication/commercial_tower_product_360.json +142 -0
  183. isa_data-1.0.0/isa_data/contracts/data_products/examples/worked/content_generation_context.json +371 -0
  184. isa_data-1.0.0/isa_data/contracts/data_products/examples/worked/product_360.json +265 -0
  185. isa_data-1.0.0/isa_data/contracts/data_products/framework.py +1576 -0
  186. isa_data-1.0.0/isa_data/contracts/data_products/interface_definition.schema.json +249 -0
  187. isa_data-1.0.0/isa_data/contracts/data_products/legacy_adapters.py +569 -0
  188. isa_data-1.0.0/isa_data/contracts/data_products/model_governance_definition.schema.json +489 -0
  189. isa_data-1.0.0/isa_data/contracts/data_products/policy_definition.schema.json +254 -0
  190. isa_data-1.0.0/isa_data/contracts/data_products/product_certification_report.schema.json +660 -0
  191. isa_data-1.0.0/isa_data/contracts/data_products/product_certification_snapshot.schema.json +632 -0
  192. isa_data-1.0.0/isa_data/contracts/data_products/product_definition.schema.json +543 -0
  193. isa_data-1.0.0/isa_data/contracts/data_products/product_status_record.schema.json +751 -0
  194. isa_data-1.0.0/isa_data/core/__init__.py +54 -0
  195. isa_data-1.0.0/isa_data/core/billing.py +374 -0
  196. isa_data-1.0.0/isa_data/core/clients/__init__.py +293 -0
  197. isa_data-1.0.0/isa_data/core/clients/duckdb_client.py +94 -0
  198. isa_data-1.0.0/isa_data/core/clients/minio_client.py +109 -0
  199. isa_data-1.0.0/isa_data/core/clients/model_client.py +283 -0
  200. isa_data-1.0.0/isa_data/core/clients/nats_client.py +190 -0
  201. isa_data-1.0.0/isa_data/core/clients/neo4j_client.py +109 -0
  202. isa_data-1.0.0/isa_data/core/clients/postgres_client.py +101 -0
  203. isa_data-1.0.0/isa_data/core/clients/qdrant_client.py +107 -0
  204. isa_data-1.0.0/isa_data/core/clients/redis_client.py +105 -0
  205. isa_data-1.0.0/isa_data/core/config/__init__.py +86 -0
  206. isa_data-1.0.0/isa_data/core/config/app_config.py +218 -0
  207. isa_data-1.0.0/isa_data/core/config/consul_config.py +57 -0
  208. isa_data-1.0.0/isa_data/core/config/data_config.py +280 -0
  209. isa_data-1.0.0/isa_data/core/config/infra_config.py +85 -0
  210. isa_data-1.0.0/isa_data/core/config/logging_config.py +47 -0
  211. isa_data-1.0.0/isa_data/core/config/model_config.py +53 -0
  212. isa_data-1.0.0/isa_data/core/config/service_config.py +62 -0
  213. isa_data-1.0.0/isa_data/core/edition.py +57 -0
  214. isa_data-1.0.0/isa_data/core/errors.py +161 -0
  215. isa_data-1.0.0/isa_data/core/health.py +153 -0
  216. isa_data-1.0.0/isa_data/core/logging.py +118 -0
  217. isa_data-1.0.0/isa_data/core/metrics.py +262 -0
  218. isa_data-1.0.0/isa_data/core/middleware.py +37 -0
  219. isa_data-1.0.0/isa_data/core/pool_config.py +57 -0
  220. isa_data-1.0.0/isa_data/core/resilience.py +166 -0
  221. isa_data-1.0.0/isa_data/core/security.py +65 -0
  222. isa_data-1.0.0/isa_data/db/__init__.py +19 -0
  223. isa_data-1.0.0/isa_data/db/session.py +134 -0
  224. isa_data-1.0.0/isa_data/main.py +424 -0
  225. isa_data-1.0.0/isa_data/models/__init__.py +60 -0
  226. isa_data-1.0.0/isa_data/models/base.py +34 -0
  227. isa_data-1.0.0/isa_data/models/dto/__init__.py +93 -0
  228. isa_data-1.0.0/isa_data/models/dto/base_models.py +88 -0
  229. isa_data-1.0.0/isa_data/models/dto/data_models.py +184 -0
  230. isa_data-1.0.0/isa_data/models/dto/graph_models.py +193 -0
  231. isa_data-1.0.0/isa_data/models/dto/interfaces.py +289 -0
  232. isa_data-1.0.0/isa_data/models/dto/pdf_models.py +139 -0
  233. isa_data-1.0.0/isa_data/models/notebook_run.py +137 -0
  234. isa_data-1.0.0/isa_data/models/product_spec.py +214 -0
  235. isa_data-1.0.0/isa_data/models/project.py +218 -0
  236. isa_data-1.0.0/isa_data/models/vector_store.py +273 -0
  237. isa_data-1.0.0/isa_data/processors/__init__.py +5 -0
  238. isa_data-1.0.0/isa_data/processors/chunking/__init__.py +139 -0
  239. isa_data-1.0.0/isa_data/processors/chunking/audio/__init__.py +35 -0
  240. isa_data-1.0.0/isa_data/processors/chunking/audio/chunker.py +750 -0
  241. isa_data-1.0.0/isa_data/processors/chunking/audio/config.py +58 -0
  242. isa_data-1.0.0/isa_data/processors/chunking/audio/convenience.py +232 -0
  243. isa_data-1.0.0/isa_data/processors/chunking/audio/strategies.py +31 -0
  244. isa_data-1.0.0/isa_data/processors/chunking/base.py +226 -0
  245. isa_data-1.0.0/isa_data/processors/chunking/image/__init__.py +32 -0
  246. isa_data-1.0.0/isa_data/processors/chunking/image/chunker.py +659 -0
  247. isa_data-1.0.0/isa_data/processors/chunking/image/config.py +54 -0
  248. isa_data-1.0.0/isa_data/processors/chunking/image/convenience.py +257 -0
  249. isa_data-1.0.0/isa_data/processors/chunking/image/strategies.py +27 -0
  250. isa_data-1.0.0/isa_data/processors/chunking/tests/__init__.py +5 -0
  251. isa_data-1.0.0/isa_data/processors/chunking/tests/conftest.py +372 -0
  252. isa_data-1.0.0/isa_data/processors/chunking/tests/test_audio_chunking.py +835 -0
  253. isa_data-1.0.0/isa_data/processors/chunking/tests/test_image_chunking.py +453 -0
  254. isa_data-1.0.0/isa_data/processors/chunking/tests/test_text_chunking.py +443 -0
  255. isa_data-1.0.0/isa_data/processors/chunking/tests/test_timeseries_chunking.py +1032 -0
  256. isa_data-1.0.0/isa_data/processors/chunking/tests/test_unified_chunker.py +657 -0
  257. isa_data-1.0.0/isa_data/processors/chunking/tests/test_video_chunking.py +559 -0
  258. isa_data-1.0.0/isa_data/processors/chunking/text/__init__.py +42 -0
  259. isa_data-1.0.0/isa_data/processors/chunking/text/chunker.py +884 -0
  260. isa_data-1.0.0/isa_data/processors/chunking/text/config.py +63 -0
  261. isa_data-1.0.0/isa_data/processors/chunking/text/convenience.py +313 -0
  262. isa_data-1.0.0/isa_data/processors/chunking/text/strategies.py +28 -0
  263. isa_data-1.0.0/isa_data/processors/chunking/timeseries/__init__.py +44 -0
  264. isa_data-1.0.0/isa_data/processors/chunking/timeseries/chunker.py +957 -0
  265. isa_data-1.0.0/isa_data/processors/chunking/timeseries/config.py +76 -0
  266. isa_data-1.0.0/isa_data/processors/chunking/timeseries/convenience.py +408 -0
  267. isa_data-1.0.0/isa_data/processors/chunking/timeseries/strategies.py +34 -0
  268. isa_data-1.0.0/isa_data/processors/chunking/unified.py +396 -0
  269. isa_data-1.0.0/isa_data/processors/chunking/video/__init__.py +36 -0
  270. isa_data-1.0.0/isa_data/processors/chunking/video/chunker.py +762 -0
  271. isa_data-1.0.0/isa_data/processors/chunking/video/config.py +59 -0
  272. isa_data-1.0.0/isa_data/processors/chunking/video/convenience.py +229 -0
  273. isa_data-1.0.0/isa_data/processors/chunking/video/strategies.py +34 -0
  274. isa_data-1.0.0/isa_data/processors/data_processors/__init__.py +32 -0
  275. isa_data-1.0.0/isa_data/processors/data_processors/analytics/__init__.py +10 -0
  276. isa_data-1.0.0/isa_data/processors/data_processors/analytics/statistics_processor.py +780 -0
  277. isa_data-1.0.0/isa_data/processors/data_processors/base_data_processor.py +380 -0
  278. isa_data-1.0.0/isa_data/processors/data_processors/core/__init__.py +15 -0
  279. isa_data-1.0.0/isa_data/processors/data_processors/core/data_quality_processor.py +1430 -0
  280. isa_data-1.0.0/isa_data/processors/data_processors/docs/csv_processor.md +0 -0
  281. isa_data-1.0.0/isa_data/processors/data_processors/docs/metadata_extractor.md +260 -0
  282. isa_data-1.0.0/isa_data/processors/data_processors/management/metadata/__init__.py +0 -0
  283. isa_data-1.0.0/isa_data/processors/data_processors/management/metadata/metadata_extractor.py +942 -0
  284. isa_data-1.0.0/isa_data/processors/data_processors/preprocessors/__init__.py +25 -0
  285. isa_data-1.0.0/isa_data/processors/data_processors/preprocessors/cleaning/__init__.py +0 -0
  286. isa_data-1.0.0/isa_data/processors/data_processors/preprocessors/cleaning/column_standardizer.py +363 -0
  287. isa_data-1.0.0/isa_data/processors/data_processors/preprocessors/csv_processor.py +402 -0
  288. isa_data-1.0.0/isa_data/processors/data_processors/preprocessors/loading/__init__.py +0 -0
  289. isa_data-1.0.0/isa_data/processors/data_processors/preprocessors/loading/file_format_detector.py +175 -0
  290. isa_data-1.0.0/isa_data/processors/data_processors/preprocessors/validation/__init__.py +0 -0
  291. isa_data-1.0.0/isa_data/processors/data_processors/preprocessors/validation/data_type_analyzer.py +400 -0
  292. isa_data-1.0.0/isa_data/processors/data_processors/tests/__init__.py +0 -0
  293. isa_data-1.0.0/isa_data/processors/data_processors/tests/test_metadata_extractor.py +206 -0
  294. isa_data-1.0.0/isa_data/processors/data_processors/tests/test_semantic_enricher.py +310 -0
  295. isa_data-1.0.0/isa_data/processors/data_processors/transformation/__init__.py +37 -0
  296. isa_data-1.0.0/isa_data/processors/data_processors/transformation/data_aggregator.py +492 -0
  297. isa_data-1.0.0/isa_data/processors/data_processors/transformation/transform_base.py +457 -0
  298. isa_data-1.0.0/isa_data/processors/data_processors/utilities/__init__.py +8 -0
  299. isa_data-1.0.0/isa_data/processors/data_processors/utilities/feature_processor.py +1658 -0
  300. isa_data-1.0.0/isa_data/processors/data_processors/visualization/__init__.py +0 -0
  301. isa_data-1.0.0/isa_data/processors/data_processors/visualization/chart_generators/__init__.py +43 -0
  302. isa_data-1.0.0/isa_data/processors/data_processors/visualization/chart_generators/chart_base.py +397 -0
  303. isa_data-1.0.0/isa_data/processors/data_processors/visualization/chart_generators/static_chart_generator.py +510 -0
  304. isa_data-1.0.0/isa_data/processors/data_processors/visualization/export_engines/__init__.py +26 -0
  305. isa_data-1.0.0/isa_data/processors/data_processors/visualization/export_engines/export_base.py +415 -0
  306. isa_data-1.0.0/isa_data/processors/file_processors/__init__.py +69 -0
  307. isa_data-1.0.0/isa_data/processors/file_processors/asset_detector.py +843 -0
  308. isa_data-1.0.0/isa_data/processors/file_processors/audio_processor.py +595 -0
  309. isa_data-1.0.0/isa_data/processors/file_processors/docs/markdown_processor.md +184 -0
  310. isa_data-1.0.0/isa_data/processors/file_processors/docs/pdf_processor.md +324 -0
  311. isa_data-1.0.0/isa_data/processors/file_processors/docs/regex_extractor.md +0 -0
  312. isa_data-1.0.0/isa_data/processors/file_processors/image_processor.py +435 -0
  313. isa_data-1.0.0/isa_data/processors/file_processors/markdown_processor.py +253 -0
  314. isa_data-1.0.0/isa_data/processors/file_processors/office_processor.py +929 -0
  315. isa_data-1.0.0/isa_data/processors/file_processors/pdf_processor.py +1093 -0
  316. isa_data-1.0.0/isa_data/processors/file_processors/regex_extractor.py +271 -0
  317. isa_data-1.0.0/isa_data/processors/file_processors/table_processor.py +630 -0
  318. isa_data-1.0.0/isa_data/processors/file_processors/tests/__init__.py +0 -0
  319. isa_data-1.0.0/isa_data/processors/file_processors/tests/pdf_processor_test_results.json +4481 -0
  320. isa_data-1.0.0/isa_data/processors/file_processors/tests/test_markdown_processor.py +388 -0
  321. isa_data-1.0.0/isa_data/processors/file_processors/tests/test_pdf_processoer.py +257 -0
  322. isa_data-1.0.0/isa_data/processors/file_processors/tests/test_regex_extractor.py +0 -0
  323. isa_data-1.0.0/isa_data/processors/file_processors/text_chunking.py +1384 -0
  324. isa_data-1.0.0/isa_data/processors/file_processors/text_processor.py +300 -0
  325. isa_data-1.0.0/isa_data/processors/file_processors/unified_asset_processor.py +774 -0
  326. isa_data-1.0.0/isa_data/processors/file_processors/video_processor.py +726 -0
  327. isa_data-1.0.0/isa_data/repositories/__init__.py +15 -0
  328. isa_data-1.0.0/isa_data/repositories/vector_store_repository.py +285 -0
  329. isa_data-1.0.0/isa_data/routers_registry.py +178 -0
  330. isa_data-1.0.0/isa_data/routes_registry.py +129 -0
  331. isa_data-1.0.0/isa_data/services/__init__.py +9 -0
  332. isa_data-1.0.0/isa_data/services/data_fabric_service/__init__.py +29 -0
  333. isa_data-1.0.0/isa_data/services/data_fabric_service/active_metadata/__init__.py +19 -0
  334. isa_data-1.0.0/isa_data/services/data_fabric_service/active_metadata/active_metadata_service.py +155 -0
  335. isa_data-1.0.0/isa_data/services/data_fabric_service/active_metadata/change_detector.py +67 -0
  336. isa_data-1.0.0/isa_data/services/data_fabric_service/active_metadata/config.py +49 -0
  337. isa_data-1.0.0/isa_data/services/data_fabric_service/active_metadata/models.py +61 -0
  338. isa_data-1.0.0/isa_data/services/data_fabric_service/active_metadata/schema_monitor.py +81 -0
  339. isa_data-1.0.0/isa_data/services/data_fabric_service/active_metadata/schema_store.py +124 -0
  340. isa_data-1.0.0/isa_data/services/data_fabric_service/catalog/__init__.py +57 -0
  341. isa_data-1.0.0/isa_data/services/data_fabric_service/catalog/data_catalog_service.py +1357 -0
  342. isa_data-1.0.0/isa_data/services/data_fabric_service/catalog/models.py +385 -0
  343. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/__init__.py +99 -0
  344. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/adapters/__init__.py +5 -0
  345. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/adapters/generic_jdbc_adapter.py +315 -0
  346. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/backend_registry.py +229 -0
  347. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/catalog_sync_engine.py +316 -0
  348. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/__init__.py +27 -0
  349. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/auth.py +122 -0
  350. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/bi_backend.py +421 -0
  351. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/client.py +309 -0
  352. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/deploy/__init__.py +86 -0
  353. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/deploy/backends.py +261 -0
  354. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/deploy/gate.py +96 -0
  355. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/deploy/plan.py +677 -0
  356. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/errors.py +98 -0
  357. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/governance_backend.py +529 -0
  358. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/handoff/__init__.py +80 -0
  359. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/handoff/config.py +242 -0
  360. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/handoff/ct_assertions.py +105 -0
  361. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/handoff/ct_projections.py +548 -0
  362. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/handoff/engine.py +894 -0
  363. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/indicator_backend.py +342 -0
  364. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/master_data_backend.py +183 -0
  365. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/provisioning/__init__.py +68 -0
  366. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/provisioning/dialect.py +125 -0
  367. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/provisioning/env_context.py +157 -0
  368. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/provisioning/translator.py +397 -0
  369. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/scaffolding/__init__.py +70 -0
  370. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/scaffolding/config.py +82 -0
  371. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/scaffolding/engine.py +324 -0
  372. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin/warehouse_backend.py +356 -0
  373. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/dataphin_adapter.py +490 -0
  374. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/external_schema_monitor.py +181 -0
  375. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/federated_adapter.py +84 -0
  376. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/federated_lineage_merger.py +220 -0
  377. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/iceberg/__init__.py +34 -0
  378. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/iceberg/errors.py +28 -0
  379. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/iceberg/hms_catalog.py +404 -0
  380. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/iceberg_adapter.py +352 -0
  381. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/landing_zone_service.py +228 -0
  382. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/local_indicator_backend.py +113 -0
  383. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/local_warehouse_backend.py +82 -0
  384. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/models.py +70 -0
  385. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/platform_registry.py +116 -0
  386. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/protocols.py +384 -0
  387. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/query_router.py +283 -0
  388. isa_data-1.0.0/isa_data/services/data_fabric_service/federation/sync_models.py +88 -0
  389. isa_data-1.0.0/isa_data/services/data_fabric_service/intelligent_query_service.py +1367 -0
  390. isa_data-1.0.0/isa_data/services/data_fabric_service/lineage/__init__.py +160 -0
  391. isa_data-1.0.0/isa_data/services/data_fabric_service/lineage/ai_impact_analyzer.py +420 -0
  392. isa_data-1.0.0/isa_data/services/data_fabric_service/lineage/ai_lineage_service.py +567 -0
  393. isa_data-1.0.0/isa_data/services/data_fabric_service/lineage/ai_sql_parser.py +437 -0
  394. isa_data-1.0.0/isa_data/services/data_fabric_service/lineage/impact_analyzer.py +440 -0
  395. isa_data-1.0.0/isa_data/services/data_fabric_service/lineage/lineage_explainer.py +563 -0
  396. isa_data-1.0.0/isa_data/services/data_fabric_service/lineage/lineage_graph.py +639 -0
  397. isa_data-1.0.0/isa_data/services/data_fabric_service/lineage/lineage_store.py +623 -0
  398. isa_data-1.0.0/isa_data/services/data_fabric_service/lineage/models.py +251 -0
  399. isa_data-1.0.0/isa_data/services/data_fabric_service/lineage/product_lineage.py +307 -0
  400. isa_data-1.0.0/isa_data/services/data_fabric_service/lineage/semantic_column_mapper.py +522 -0
  401. isa_data-1.0.0/isa_data/services/data_fabric_service/lineage/sql_parser.py +511 -0
  402. isa_data-1.0.0/isa_data/services/data_fabric_service/metadata/__init__.py +0 -0
  403. isa_data-1.0.0/isa_data/services/data_fabric_service/metadata/base_metadata_store.py +59 -0
  404. isa_data-1.0.0/isa_data/services/data_fabric_service/quality/__init__.py +185 -0
  405. isa_data-1.0.0/isa_data/services/data_fabric_service/quality/ai_anomaly_detector.py +487 -0
  406. isa_data-1.0.0/isa_data/services/data_fabric_service/quality/ai_profiler.py +738 -0
  407. isa_data-1.0.0/isa_data/services/data_fabric_service/quality/ai_quality_service.py +604 -0
  408. isa_data-1.0.0/isa_data/services/data_fabric_service/quality/ai_rules_engine.py +497 -0
  409. isa_data-1.0.0/isa_data/services/data_fabric_service/quality/knowledge_quality_evaluator.py +296 -0
  410. isa_data-1.0.0/isa_data/services/data_fabric_service/quality/models.py +775 -0
  411. isa_data-1.0.0/isa_data/services/data_fabric_service/quality/rules_engine.py +598 -0
  412. isa_data-1.0.0/isa_data/services/data_fabric_service/quality/unified_quality_service.py +149 -0
  413. isa_data-1.0.0/isa_data/services/data_fabric_service/query/__init__.py +0 -0
  414. isa_data-1.0.0/isa_data/services/data_fabric_service/query/base_query_executor.py +99 -0
  415. isa_data-1.0.0/isa_data/services/data_fabric_service/semantic/__init__.py +59 -0
  416. isa_data-1.0.0/isa_data/services/data_fabric_service/semantic/dimension_mapper.py +430 -0
  417. isa_data-1.0.0/isa_data/services/data_fabric_service/semantic/metric_resolver.py +480 -0
  418. isa_data-1.0.0/isa_data/services/data_fabric_service/semantic/metrics_store.py +63 -0
  419. isa_data-1.0.0/isa_data/services/data_fabric_service/semantic/models.py +327 -0
  420. isa_data-1.0.0/isa_data/services/data_fabric_service/semantic/semantic_resolver.py +698 -0
  421. isa_data-1.0.0/isa_data/services/data_fabric_service/semantic/term_resolver.py +468 -0
  422. isa_data-1.0.0/isa_data/services/data_infra_service/__init__.py +22 -0
  423. isa_data-1.0.0/isa_data/services/data_infra_service/access_control/__init__.py +26 -0
  424. isa_data-1.0.0/isa_data/services/data_infra_service/access_control/models.py +103 -0
  425. isa_data-1.0.0/isa_data/services/data_infra_service/access_control/rbac_service.py +237 -0
  426. isa_data-1.0.0/isa_data/services/data_infra_service/agent_fleet/__init__.py +100 -0
  427. isa_data-1.0.0/isa_data/services/data_infra_service/agent_fleet/detection_events_consumer.py +325 -0
  428. isa_data-1.0.0/isa_data/services/data_infra_service/agent_fleet/entity_extractor.py +690 -0
  429. isa_data-1.0.0/isa_data/services/data_infra_service/agent_fleet/response_vectorizer.py +727 -0
  430. isa_data-1.0.0/isa_data/services/data_infra_service/analytics/__init__.py +24 -0
  431. isa_data-1.0.0/isa_data/services/data_infra_service/analytics/config.py +34 -0
  432. isa_data-1.0.0/isa_data/services/data_infra_service/analytics/data_eda.py +806 -0
  433. isa_data-1.0.0/isa_data/services/data_infra_service/analytics/duckdb_executor.py +23 -0
  434. isa_data-1.0.0/isa_data/services/data_infra_service/analytics/incremental_refresh.py +28 -0
  435. isa_data-1.0.0/isa_data/services/data_infra_service/analytics/materialized_view_service.py +53 -0
  436. isa_data-1.0.0/isa_data/services/data_infra_service/analytics/mv_builder.py +53 -0
  437. isa_data-1.0.0/isa_data/services/data_infra_service/analytics/mv_registry_store.py +75 -0
  438. isa_data-1.0.0/isa_data/services/data_infra_service/analytics/query_router.py +22 -0
  439. isa_data-1.0.0/isa_data/services/data_infra_service/analytics/scheduler.py +42 -0
  440. isa_data-1.0.0/isa_data/services/data_infra_service/audit/__init__.py +38 -0
  441. isa_data-1.0.0/isa_data/services/data_infra_service/audit/audit_service.py +211 -0
  442. isa_data-1.0.0/isa_data/services/data_infra_service/audit/models.py +88 -0
  443. isa_data-1.0.0/isa_data/services/data_infra_service/augmentation/__init__.py +0 -0
  444. isa_data-1.0.0/isa_data/services/data_infra_service/augmentation/augmentation_service.py +220 -0
  445. isa_data-1.0.0/isa_data/services/data_infra_service/augmentation/data_enrichment.py +272 -0
  446. isa_data-1.0.0/isa_data/services/data_infra_service/augmentation/external_integration.py +184 -0
  447. isa_data-1.0.0/isa_data/services/data_infra_service/augmentation/merge_validation.py +311 -0
  448. isa_data-1.0.0/isa_data/services/data_infra_service/cdc_processor.py +718 -0
  449. isa_data-1.0.0/isa_data/services/data_infra_service/clean_data_analytics_service.py +444 -0
  450. isa_data-1.0.0/isa_data/services/data_infra_service/data_analytics_service.py +2047 -0
  451. isa_data-1.0.0/isa_data/services/data_infra_service/digital_assets/__init__.py +35 -0
  452. isa_data-1.0.0/isa_data/services/data_infra_service/digital_assets/asset_landing.py +447 -0
  453. isa_data-1.0.0/isa_data/services/data_infra_service/ingestion/README.md +579 -0
  454. isa_data-1.0.0/isa_data/services/data_infra_service/ingestion/__init__.py +40 -0
  455. isa_data-1.0.0/isa_data/services/data_infra_service/ingestion/batch_processor.py +555 -0
  456. isa_data-1.0.0/isa_data/services/data_infra_service/ingestion/cdc_listener.py +343 -0
  457. isa_data-1.0.0/isa_data/services/data_infra_service/ingestion/ingestion_service.py +703 -0
  458. isa_data-1.0.0/isa_data/services/data_infra_service/management/metadata/__init__.py +0 -0
  459. isa_data-1.0.0/isa_data/services/data_infra_service/management/metadata/data_explorer.py +922 -0
  460. isa_data-1.0.0/isa_data/services/data_infra_service/management/metadata/metadata_catalog_service.py +1319 -0
  461. isa_data-1.0.0/isa_data/services/data_infra_service/management/metadata/metadata_embedding.py +972 -0
  462. isa_data-1.0.0/isa_data/services/data_infra_service/management/metadata/metadata_semantic_service.py +635 -0
  463. isa_data-1.0.0/isa_data/services/data_infra_service/management/metadata/metadata_store_service.py +520 -0
  464. isa_data-1.0.0/isa_data/services/data_infra_service/management/metadata/semantic_enricher.py +979 -0
  465. isa_data-1.0.0/isa_data/services/data_infra_service/management/quality/__init__.py +39 -0
  466. isa_data-1.0.0/isa_data/services/data_infra_service/management/quality/quality_assessment.py +797 -0
  467. isa_data-1.0.0/isa_data/services/data_infra_service/management/quality/quality_improvement.py +853 -0
  468. isa_data-1.0.0/isa_data/services/data_infra_service/management/quality/quality_management_service.py +720 -0
  469. isa_data-1.0.0/isa_data/services/data_infra_service/management/quality/quality_monitoring.py +1077 -0
  470. isa_data-1.0.0/isa_data/services/data_infra_service/pipeline_orchestrator.py +753 -0
  471. isa_data-1.0.0/isa_data/services/data_infra_service/preprocessor/__init__.py +34 -0
  472. isa_data-1.0.0/isa_data/services/data_infra_service/preprocessor/data_cleaning.py +476 -0
  473. isa_data-1.0.0/isa_data/services/data_infra_service/preprocessor/data_loading.py +312 -0
  474. isa_data-1.0.0/isa_data/services/data_infra_service/preprocessor/data_validation.py +447 -0
  475. isa_data-1.0.0/isa_data/services/data_infra_service/preprocessor/dataframe_preprocessor.py +112 -0
  476. isa_data-1.0.0/isa_data/services/data_infra_service/preprocessor/preprocessor_service.py +792 -0
  477. isa_data-1.0.0/isa_data/services/data_infra_service/query/__init__.py +0 -0
  478. isa_data-1.0.0/isa_data/services/data_infra_service/query/query_matcher.py +1050 -0
  479. isa_data-1.0.0/isa_data/services/data_infra_service/query/sql_executor.py +2162 -0
  480. isa_data-1.0.0/isa_data/services/data_infra_service/query/sql_generator.py +821 -0
  481. isa_data-1.0.0/isa_data/services/data_infra_service/query/sql_guardrail.py +207 -0
  482. isa_data-1.0.0/isa_data/services/data_infra_service/query/sql_query_service.py +542 -0
  483. isa_data-1.0.0/isa_data/services/data_infra_service/residency/__init__.py +40 -0
  484. isa_data-1.0.0/isa_data/services/data_infra_service/residency/policy.py +317 -0
  485. isa_data-1.0.0/isa_data/services/data_infra_service/storage/__init__.py +35 -0
  486. isa_data-1.0.0/isa_data/services/data_infra_service/storage/agent_fleet/README.md +233 -0
  487. isa_data-1.0.0/isa_data/services/data_infra_service/storage/agent_fleet/__init__.py +58 -0
  488. isa_data-1.0.0/isa_data/services/data_infra_service/storage/agent_fleet/agent_iceberg_writer.py +1084 -0
  489. isa_data-1.0.0/isa_data/services/data_infra_service/storage/base_data_lake.py +75 -0
  490. isa_data-1.0.0/isa_data/services/data_infra_service/storage/data_lake_service.py +524 -0
  491. isa_data-1.0.0/isa_data/services/data_infra_service/storage/delta_lake_manager.py +412 -0
  492. isa_data-1.0.0/isa_data/services/data_infra_service/storage/deprecated/__init__.py +0 -0
  493. isa_data-1.0.0/isa_data/services/data_infra_service/storage/deprecated/data_persistence.py +494 -0
  494. isa_data-1.0.0/isa_data/services/data_infra_service/storage/deprecated/data_storage_service.py +458 -0
  495. isa_data-1.0.0/isa_data/services/data_infra_service/storage/deprecated/storage_catalog.py +495 -0
  496. isa_data-1.0.0/isa_data/services/data_infra_service/storage/deprecated/storage_path_resolver.py +398 -0
  497. isa_data-1.0.0/isa_data/services/data_infra_service/storage/deprecated/storage_target_selection.py +508 -0
  498. isa_data-1.0.0/isa_data/services/data_infra_service/storage/iceberg_std_writer.py +402 -0
  499. isa_data-1.0.0/isa_data/services/data_infra_service/storage/zone_management_service.py +547 -0
  500. isa_data-1.0.0/isa_data/services/data_infra_service/streaming/__init__.py +71 -0
  501. isa_data-1.0.0/isa_data/services/data_infra_service/streaming/change_data_processor.py +426 -0
  502. isa_data-1.0.0/isa_data/services/data_infra_service/streaming/incremental_processor.py +562 -0
  503. isa_data-1.0.0/isa_data/services/data_infra_service/streaming/models.py +318 -0
  504. isa_data-1.0.0/isa_data/services/data_infra_service/streaming/streaming_ingestion.py +497 -0
  505. isa_data-1.0.0/isa_data/services/data_infra_service/streaming/upsert_manager.py +490 -0
  506. isa_data-1.0.0/isa_data/services/data_infra_service/transformation/__init__.py +24 -0
  507. isa_data-1.0.0/isa_data/services/data_infra_service/transformation/business_rules.py +564 -0
  508. isa_data-1.0.0/isa_data/services/data_infra_service/transformation/data_aggregation.py +302 -0
  509. isa_data-1.0.0/isa_data/services/data_infra_service/transformation/feature_engineering.py +454 -0
  510. isa_data-1.0.0/isa_data/services/data_infra_service/transformation/lang_extractor.py +1096 -0
  511. isa_data-1.0.0/isa_data/services/data_infra_service/transformation/transformation_service.py +359 -0
  512. isa_data-1.0.0/isa_data/services/data_infra_service/visualization/__init__.py +0 -0
  513. isa_data-1.0.0/isa_data/services/data_infra_service/visualization/data_visualization.py +1213 -0
  514. isa_data-1.0.0/isa_data/services/data_product_service/README.md +252 -0
  515. isa_data-1.0.0/isa_data/services/data_product_service/__init__.py +34 -0
  516. isa_data-1.0.0/isa_data/services/data_product_service/analytics/__init__.py +60 -0
  517. isa_data-1.0.0/isa_data/services/data_product_service/analytics/user_churn_prediction.py +578 -0
  518. isa_data-1.0.0/isa_data/services/data_product_service/analytics/user_intent_prediction.py +513 -0
  519. isa_data-1.0.0/isa_data/services/data_product_service/analytics/user_ltv_prediction.py +455 -0
  520. isa_data-1.0.0/isa_data/services/data_product_service/analytics/user_trends.py +431 -0
  521. isa_data-1.0.0/isa_data/services/data_product_service/base/__init__.py +9 -0
  522. isa_data-1.0.0/isa_data/services/data_product_service/base/base_product.py +271 -0
  523. isa_data-1.0.0/isa_data/services/data_product_service/basic/__init__.py +19 -0
  524. isa_data-1.0.0/isa_data/services/data_product_service/basic/user_360.py +446 -0
  525. isa_data-1.0.0/isa_data/services/data_product_service/basic/user_order_history.py +271 -0
  526. isa_data-1.0.0/isa_data/services/data_product_service/basic/user_profile.py +313 -0
  527. isa_data-1.0.0/isa_data/services/data_product_service/behavior/__init__.py +62 -0
  528. isa_data-1.0.0/isa_data/services/data_product_service/behavior/user_behavior_patterns.py +433 -0
  529. isa_data-1.0.0/isa_data/services/data_product_service/behavior/user_engagement_metrics.py +549 -0
  530. isa_data-1.0.0/isa_data/services/data_product_service/behavior/user_feature_usage.py +502 -0
  531. isa_data-1.0.0/isa_data/services/data_product_service/behavior/user_journey_analysis.py +569 -0
  532. isa_data-1.0.0/isa_data/services/data_product_service/catalog_seed/__init__.py +33 -0
  533. isa_data-1.0.0/isa_data/services/data_product_service/catalog_seed/isa_data_products.py +388 -0
  534. isa_data-1.0.0/isa_data/services/data_product_service/commerce/__init__.py +34 -0
  535. isa_data-1.0.0/isa_data/services/data_product_service/commerce/com_product_service.py +779 -0
  536. isa_data-1.0.0/isa_data/services/data_product_service/commerce/isa_model_client.py +218 -0
  537. isa_data-1.0.0/isa_data/services/data_product_service/consumer_contracts.py +524 -0
  538. isa_data-1.0.0/isa_data/services/data_product_service/context/__init__.py +12 -0
  539. isa_data-1.0.0/isa_data/services/data_product_service/governance/__init__.py +43 -0
  540. isa_data-1.0.0/isa_data/services/data_product_service/governance/alert_dispatcher.py +278 -0
  541. isa_data-1.0.0/isa_data/services/data_product_service/governance/certification_runner.py +354 -0
  542. isa_data-1.0.0/isa_data/services/data_product_service/governance/cross_modal_lineage.py +105 -0
  543. isa_data-1.0.0/isa_data/services/data_product_service/governance/curation_gate.py +101 -0
  544. isa_data-1.0.0/isa_data/services/data_product_service/governance/federation_monitor.py +92 -0
  545. isa_data-1.0.0/isa_data/services/data_product_service/governance/gdpr_service.py +118 -0
  546. isa_data-1.0.0/isa_data/services/data_product_service/governance/gold_promotion_gate.py +124 -0
  547. isa_data-1.0.0/isa_data/services/data_product_service/governance/notification_service.py +268 -0
  548. isa_data-1.0.0/isa_data/services/data_product_service/governance/output_port_service.py +351 -0
  549. isa_data-1.0.0/isa_data/services/data_product_service/governance/pii_classification_service.py +137 -0
  550. isa_data-1.0.0/isa_data/services/data_product_service/governance/pii_detector.py +202 -0
  551. isa_data-1.0.0/isa_data/services/data_product_service/governance/policy_evaluator.py +579 -0
  552. isa_data-1.0.0/isa_data/services/data_product_service/governance/product_status_service.py +351 -0
  553. isa_data-1.0.0/isa_data/services/data_product_service/governance/product_versioning.py +152 -0
  554. isa_data-1.0.0/isa_data/services/data_product_service/governance/publication_workflow.py +445 -0
  555. isa_data-1.0.0/isa_data/services/data_product_service/governance/sla_monitor_service.py +481 -0
  556. isa_data-1.0.0/isa_data/services/data_product_service/lineage/__init__.py +36 -0
  557. isa_data-1.0.0/isa_data/services/data_product_service/lineage/lineage_models.py +142 -0
  558. isa_data-1.0.0/isa_data/services/data_product_service/lineage/lineage_service.py +99 -0
  559. isa_data-1.0.0/isa_data/services/data_product_service/recommendations/__init__.py +76 -0
  560. isa_data-1.0.0/isa_data/services/data_product_service/recommendations/user_content_recommendations.py +696 -0
  561. isa_data-1.0.0/isa_data/services/data_product_service/recommendations/user_graph_recommendations.py +784 -0
  562. isa_data-1.0.0/isa_data/services/data_product_service/recommendations/user_product_recommendations.py +882 -0
  563. isa_data-1.0.0/isa_data/services/data_product_service/recommendations/user_social_recommendations.py +791 -0
  564. isa_data-1.0.0/isa_data/services/data_product_service/scm/__init__.py +2 -0
  565. isa_data-1.0.0/isa_data/services/data_product_service/scm/scm_product_service.py +219 -0
  566. isa_data-1.0.0/isa_data/services/data_product_service/scoping.py +79 -0
  567. isa_data-1.0.0/isa_data/services/data_product_service/social/__init__.py +12 -0
  568. isa_data-1.0.0/isa_data/services/data_product_service/unified/__init__.py +37 -0
  569. isa_data-1.0.0/isa_data/services/data_product_service/unified/cross_type_relationships.py +116 -0
  570. isa_data-1.0.0/isa_data/services/data_product_service/unified/knowledge_product_registry.py +140 -0
  571. isa_data-1.0.0/isa_data/services/data_product_service/unified/knowledge_quality_evaluator.py +126 -0
  572. isa_data-1.0.0/isa_data/services/data_product_service/unified/knowledge_quality_gate.py +159 -0
  573. isa_data-1.0.0/isa_data/services/data_product_service/unified/knowledge_zone_manager.py +182 -0
  574. isa_data-1.0.0/isa_data/services/digital_service/ARCHITECTURE.md +329 -0
  575. isa_data-1.0.0/isa_data/services/digital_service/__init__.py +51 -0
  576. isa_data-1.0.0/isa_data/services/digital_service/base/__init__.py +32 -0
  577. isa_data-1.0.0/isa_data/services/digital_service/base/base_rag_service.py +1054 -0
  578. isa_data-1.0.0/isa_data/services/digital_service/base/rag_exceptions.py +34 -0
  579. isa_data-1.0.0/isa_data/services/digital_service/base/rag_models.py +298 -0
  580. isa_data-1.0.0/isa_data/services/digital_service/config/__init__.py +4 -0
  581. isa_data-1.0.0/isa_data/services/digital_service/config/analytics_config.py +112 -0
  582. isa_data-1.0.0/isa_data/services/digital_service/config/eval_datasets/basic_functionality.json +39 -0
  583. isa_data-1.0.0/isa_data/services/digital_service/config/eval_datasets/multihop_reasoning.json +17 -0
  584. isa_data-1.0.0/isa_data/services/digital_service/config/eval_datasets/multilingual.json +17 -0
  585. isa_data-1.0.0/isa_data/services/digital_service/docs/rag_status.md +148 -0
  586. isa_data-1.0.0/isa_data/services/digital_service/enhanced_digital_service.py +1547 -0
  587. isa_data-1.0.0/isa_data/services/digital_service/evaluation/__init__.py +20 -0
  588. isa_data-1.0.0/isa_data/services/digital_service/evaluation/dataset_manager.py +251 -0
  589. isa_data-1.0.0/isa_data/services/digital_service/evaluation/diagnostic_service.py +615 -0
  590. isa_data-1.0.0/isa_data/services/digital_service/evaluation/evaluation_service.py +379 -0
  591. isa_data-1.0.0/isa_data/services/digital_service/evaluation/metrics_service.py +543 -0
  592. isa_data-1.0.0/isa_data/services/digital_service/evaluation/reporting_service.py +376 -0
  593. isa_data-1.0.0/isa_data/services/digital_service/patterns/__init__.py +24 -0
  594. isa_data-1.0.0/isa_data/services/digital_service/patterns/crag_rag_service.py +775 -0
  595. isa_data-1.0.0/isa_data/services/digital_service/patterns/custom_rag_service.py +1626 -0
  596. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/__init__.py +17 -0
  597. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/attribute_extractor.py +379 -0
  598. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/core/__init__.py +40 -0
  599. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/core/config.py +302 -0
  600. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/core/dask_manager.py +266 -0
  601. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/core/strategies.py +639 -0
  602. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/core/types.py +254 -0
  603. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/docs/attribute_extractor.md +451 -0
  604. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/docs/design_guidance.md +266 -0
  605. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/docs/entity_extractor.md +470 -0
  606. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/docs/graph_constructor.md +283 -0
  607. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/docs/knowledge_retriever.md +373 -0
  608. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/docs/neo4j_client.md +415 -0
  609. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/docs/neo4j_store.md +352 -0
  610. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/docs/relation_extractor.md +292 -0
  611. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/domains/business.yaml +291 -0
  612. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/domains/codebase.yaml +303 -0
  613. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/domains/medical.yaml +262 -0
  614. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/embedding_utils.py +247 -0
  615. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/entity_extractor.py +478 -0
  616. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/graph_constructor.py +1155 -0
  617. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/knowledge_retriever.py +578 -0
  618. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/neo4j_store.py +266 -0
  619. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag/relation_extractor.py +448 -0
  620. isa_data-1.0.0/isa_data/services/digital_service/patterns/graph_rag_service.py +733 -0
  621. isa_data-1.0.0/isa_data/services/digital_service/patterns/hyde_rag_service.py +423 -0
  622. isa_data-1.0.0/isa_data/services/digital_service/patterns/pageindex/__init__.py +46 -0
  623. isa_data-1.0.0/isa_data/services/digital_service/patterns/pageindex/index_generator.py +591 -0
  624. isa_data-1.0.0/isa_data/services/digital_service/patterns/pageindex/tree_search.py +436 -0
  625. isa_data-1.0.0/isa_data/services/digital_service/patterns/pageindex/utils.py +326 -0
  626. isa_data-1.0.0/isa_data/services/digital_service/patterns/pageindex_rag_service.py +513 -0
  627. isa_data-1.0.0/isa_data/services/digital_service/patterns/rag_fusion_service.py +499 -0
  628. isa_data-1.0.0/isa_data/services/digital_service/patterns/raptor_rag_service.py +729 -0
  629. isa_data-1.0.0/isa_data/services/digital_service/patterns/self_rag_service.py +725 -0
  630. isa_data-1.0.0/isa_data/services/digital_service/patterns/simple_rag_service.py +562 -0
  631. isa_data-1.0.0/isa_data/services/digital_service/pdf_extract_service.py +721 -0
  632. isa_data-1.0.0/isa_data/services/digital_service/rag_factory.py +883 -0
  633. isa_data-1.0.0/isa_data/services/digital_service/utils/__init__.py +63 -0
  634. isa_data-1.0.0/isa_data/services/digital_service/utils/chunking_adapter.py +407 -0
  635. isa_data-1.0.0/isa_data/services/digital_service/utils/convenience_functions.py +125 -0
  636. isa_data-1.0.0/isa_data/services/digital_service/utils/deep_search/__init__.py +10 -0
  637. isa_data-1.0.0/isa_data/services/digital_service/utils/deep_search/models.py +224 -0
  638. isa_data-1.0.0/isa_data/services/digital_service/utils/deep_search/result_fusion.py +313 -0
  639. isa_data-1.0.0/isa_data/services/digital_service/utils/policy_agent.py +402 -0
  640. isa_data-1.0.0/isa_data/services/digital_service/utils/retrieval_funnel.py +264 -0
  641. isa_data-1.0.0/isa_data/services/digital_service/utils/retrieval_supervisor.py +331 -0
  642. isa_data-1.0.0/isa_data/services/digital_service/utils/search_adapter.py +543 -0
  643. isa_data-1.0.0/isa_data/services/feature_store_service/__init__.py +43 -0
  644. isa_data-1.0.0/isa_data/services/model_import_service.py +566 -0
  645. isa_data-1.0.0/isa_data/services/notebook_service/__init__.py +34 -0
  646. isa_data-1.0.0/isa_data/services/notebook_service/executor.py +466 -0
  647. isa_data-1.0.0/isa_data/services/notebook_service/metrics_extractor.py +206 -0
  648. isa_data-1.0.0/isa_data/services/notebook_service/models.py +160 -0
  649. isa_data-1.0.0/isa_data/services/notebook_service/storage.py +257 -0
  650. isa_data-1.0.0/isa_data/services/product_spec/__init__.py +48 -0
  651. isa_data-1.0.0/isa_data/services/product_spec/deploy_contract/__init__.py +86 -0
  652. isa_data-1.0.0/isa_data/services/product_spec/deploy_contract/loader.py +299 -0
  653. isa_data-1.0.0/isa_data/services/product_spec/deploy_contract/namespace.py +127 -0
  654. isa_data-1.0.0/isa_data/services/product_spec/deploy_contract/protocol.py +577 -0
  655. isa_data-1.0.0/isa_data/services/product_spec/seed_data.py +123 -0
  656. isa_data-1.0.0/isa_data/services/product_spec/seeder.py +105 -0
  657. isa_data-1.0.0/isa_data/services/product_spec/spec_source.py +319 -0
  658. isa_data-1.0.0/isa_data/services/vector_service/__init__.py +226 -0
  659. isa_data-1.0.0/isa_data/services/vector_service/backends/__init__.py +28 -0
  660. isa_data-1.0.0/isa_data/services/vector_service/backends/factory.py +181 -0
  661. isa_data-1.0.0/isa_data/services/vector_service/backends/milvus_backend.py +266 -0
  662. isa_data-1.0.0/isa_data/services/vector_service/backends/qdrant_backend.py +470 -0
  663. isa_data-1.0.0/isa_data/services/vector_service/base/__init__.py +52 -0
  664. isa_data-1.0.0/isa_data/services/vector_service/base/exceptions.py +63 -0
  665. isa_data-1.0.0/isa_data/services/vector_service/base/models.py +130 -0
  666. isa_data-1.0.0/isa_data/services/vector_service/base/vector_db.py +457 -0
  667. isa_data-1.0.0/isa_data/services/vector_service/chunking/__init__.py +67 -0
  668. isa_data-1.0.0/isa_data/services/vector_service/chunking/advanced_chunkers.py +828 -0
  669. isa_data-1.0.0/isa_data/services/vector_service/chunking/chunking_service.py +1154 -0
  670. isa_data-1.0.0/isa_data/services/vector_service/chunking/models.py +136 -0
  671. isa_data-1.0.0/isa_data/services/vector_service/search/__init__.py +29 -0
  672. isa_data-1.0.0/isa_data/services/vector_service/search/hybrid_search.py +433 -0
  673. isa_data-1.0.0/isa_data/services/vector_service/search/mmr_reranker.py +426 -0
  674. isa_data-1.0.0/isa_data/services/vector_service/updates/__init__.py +36 -0
  675. isa_data-1.0.0/isa_data/services/vector_service/updates/incremental_service.py +624 -0
  676. isa_data-1.0.0/isa_data/services/vector_store/__init__.py +69 -0
  677. isa_data-1.0.0/isa_data/services/vector_store/integrations.py +330 -0
  678. isa_data-1.0.0/isa_data/services/vector_store/manager.py +344 -0
  679. isa_data-1.0.0/isa_data/services/vector_store/pipeline.py +255 -0
  680. isa_data-1.0.0/isa_data/services/vector_store/providers.py +173 -0
  681. isa_data-1.0.0/isa_data/services/vector_store/schemas.py +105 -0
  682. isa_data-1.0.0/isa_data.egg-info/PKG-INFO +172 -0
  683. isa_data-1.0.0/isa_data.egg-info/SOURCES.txt +689 -0
  684. isa_data-1.0.0/isa_data.egg-info/dependency_links.txt +1 -0
  685. isa_data-1.0.0/isa_data.egg-info/requires.txt +44 -0
  686. isa_data-1.0.0/isa_data.egg-info/top_level.txt +1 -0
  687. isa_data-1.0.0/pyproject.toml +120 -0
  688. isa_data-1.0.0/setup.cfg +4 -0
  689. isa_data-1.0.0/tests/test_async_data.py +662 -0
  690. isa_data-1.0.0/tests/test_async_digital.py +563 -0
  691. isa_data-1.0.0/tests/test_pageindex_evaluation.py +454 -0
@@ -0,0 +1,172 @@
1
+ Metadata-Version: 2.4
2
+ Name: isa-data
3
+ Version: 1.0.0
4
+ Summary: isA_Data — data analytics, data-fabric, and data-product SDK for the isA platform
5
+ Author: Data Analytics Team
6
+ License: Proprietary
7
+ Requires-Python: >=3.12
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: fastapi>=0.104.1
10
+ Requires-Dist: uvicorn[standard]>=0.24.0
11
+ Requires-Dist: python-multipart>=0.0.9
12
+ Requires-Dist: pydantic>=2.5.0
13
+ Requires-Dist: pydantic-settings>=2.0.0
14
+ Requires-Dist: asyncpg>=0.29.0
15
+ Requires-Dist: psycopg[binary]>=3.0.0
16
+ Requires-Dist: sqlalchemy[asyncio]>=2.0
17
+ Requires-Dist: duckdb>=0.9.0
18
+ Requires-Dist: numpy>=1.24.0
19
+ Requires-Dist: pandas>=2.0.0
20
+ Requires-Dist: polars-lts-cpu>=0.20.0
21
+ Requires-Dist: pyarrow>=14.0.0
22
+ Requires-Dist: openpyxl>=3.1.0
23
+ Requires-Dist: matplotlib>=3.8.0
24
+ Requires-Dist: httpx>=0.25.2
25
+ Requires-Dist: aiohttp>=3.9.0
26
+ Requires-Dist: requests>=2.31.0
27
+ Requires-Dist: python-dotenv>=1.0.0
28
+ Requires-Dist: pyyaml>=6.0
29
+ Requires-Dist: structlog>=23.2.0
30
+ Requires-Dist: python-logging-loki>=0.3.1
31
+ Requires-Dist: prometheus-client>=0.19.0
32
+ Requires-Dist: feast<0.50,>=0.40
33
+ Requires-Dist: redis>=5.0.0
34
+ Requires-Dist: isa-common>=0.6.0
35
+ Requires-Dist: isa-model[cloud]>=0.5.7
36
+ Provides-Extra: bigdata
37
+ Requires-Dist: deltalake>=1.2.0; extra == "bigdata"
38
+ Requires-Dist: minio>=7.2.0; extra == "bigdata"
39
+ Requires-Dist: pyiceberg[hive]>=0.7.0; extra == "bigdata"
40
+ Provides-Extra: dev
41
+ Requires-Dist: pytest>=8.0.0; extra == "dev"
42
+ Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
43
+ Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
44
+ Requires-Dist: pytest-aiohttp>=1.0.0; extra == "dev"
45
+ Requires-Dist: aiosqlite>=0.19.0; extra == "dev"
46
+ Requires-Dist: papermill>=2.4.0; extra == "dev"
47
+ Requires-Dist: nbformat>=5.10; extra == "dev"
48
+ Requires-Dist: nbclient>=0.10; extra == "dev"
49
+ Requires-Dist: jupyter-client>=8.0.0; extra == "dev"
50
+ Requires-Dist: ipykernel>=6.29; extra == "dev"
51
+
52
+ # isA_Data
53
+
54
+ **Cloud Data Analytics & Processing Center**
55
+
56
+ ## 🎯 Purpose
57
+
58
+ 独立的数据分析云服务,处理数据处理、分析、可视化等任务。
59
+ 从 `isA_MCP/tools/services/data_analytics_service` 迁移而来,提供 API 服务。
60
+
61
+ ## 🏗️ Architecture
62
+
63
+ ```
64
+ isA_Data/
65
+ ├── app/
66
+ │ ├── main.py # FastAPI 主服务
67
+ │ ├── config.py # 配置管理
68
+ │ └── api/
69
+ │ ├── analytics.py # 数据分析端点
70
+ │ ├── processing.py # 数据处理端点
71
+ │ └── visualization.py # 数据可视化端点
72
+
73
+ ├── services/
74
+ │ ├── analytics/ # [迁移自 isA_MCP]
75
+ │ │ ├── pandas_ops.py # Pandas 操作
76
+ │ │ ├── statistical.py # 统计分析
77
+ │ │ └── ml_analysis.py # ML 分析
78
+ │ │
79
+ │ ├── processing/
80
+ │ │ ├── etl.py # ETL 处理
81
+ │ │ ├── cleaning.py # 数据清洗
82
+ │ │ └── transformation.py # 数据转换
83
+ │ │
84
+ │ └── storage/
85
+ │ ├── database.py # 数据库操作
86
+ │ └── cache.py # 缓存管理
87
+
88
+ ├── core/
89
+ │ ├── logging.py
90
+ │ └── clients/
91
+ │ └── model_client.py # ISA Model 客户端
92
+
93
+ ├── deployment/
94
+ │ ├── docker/
95
+ │ │ └── Dockerfile
96
+ │ └── kubernetes/
97
+ │ └── deployment.yaml
98
+
99
+ ├── tests/
100
+ │ └── test_analytics.py
101
+
102
+ ├── requirements.txt
103
+ └── README.md
104
+ ```
105
+
106
+ ## 📡 API Endpoints
107
+
108
+ ### Data Analytics
109
+ ```
110
+ POST /api/v1/data/analyze
111
+ POST /api/v1/data/statistics
112
+ POST /api/v1/data/ml/predict
113
+ ```
114
+
115
+ ### Data Processing
116
+ ```
117
+ POST /api/v1/data/clean
118
+ POST /api/v1/data/transform
119
+ POST /api/v1/data/aggregate
120
+ ```
121
+
122
+ ### Data Visualization
123
+ ```
124
+ POST /api/v1/data/visualize/chart
125
+ POST /api/v1/data/visualize/dashboard
126
+ ```
127
+
128
+ ## 🚀 Usage
129
+
130
+ ### As Standalone Service
131
+ ```bash
132
+ # Start server
133
+ uvicorn app.main:app --host 0.0.0.0 --port 8001
134
+
135
+ # Or with Docker
136
+ docker-compose up
137
+ ```
138
+
139
+ ### Called from isA_MCP
140
+ ```python
141
+ # isA_MCP 中通过 API 调用
142
+ from tools.services.data_analytics_service import ISA_Data_Client
143
+
144
+ client = ISA_Data_Client(base_url="http://localhost:8001")
145
+ result = await client.analyze_data(
146
+ data=df,
147
+ analysis_type="descriptive"
148
+ )
149
+ ```
150
+
151
+ ## 💡 Benefits
152
+
153
+ 1. **专注**: 专门处理数据相关任务
154
+ 2. **性能**: 可以部署在大内存机器上处理大数据
155
+ 3. **隔离**: 数据处理故障不影响 MCP 主服务
156
+ 4. **可复用**: 多个服务都可以调用数据分析能力
157
+ 5. **扩展**: 未来可以添加更多数据源和分析能力
158
+
159
+ ## 🔄 Migration Status
160
+
161
+ - [ ] Phase 1: 基础架构搭建
162
+ - [ ] Phase 2: 迁移 data_analytics 模块
163
+ - [ ] Phase 3: FastAPI 端点实现
164
+ - [ ] Phase 4: 数据库集成
165
+ - [ ] Phase 5: isA_MCP 集成测试
166
+ - [ ] Phase 6: 生产部署
167
+
168
+ ## 🔗 Related Projects
169
+
170
+ - **isA_MCP**: MCP 工具层(API 调用端)
171
+ - **isA_OS**: Web & OS 操作云服务
172
+ - **isA_Model**: 模型服务
@@ -0,0 +1,121 @@
1
+ # isA_Data
2
+
3
+ **Cloud Data Analytics & Processing Center**
4
+
5
+ ## 🎯 Purpose
6
+
7
+ 独立的数据分析云服务,处理数据处理、分析、可视化等任务。
8
+ 从 `isA_MCP/tools/services/data_analytics_service` 迁移而来,提供 API 服务。
9
+
10
+ ## 🏗️ Architecture
11
+
12
+ ```
13
+ isA_Data/
14
+ ├── app/
15
+ │ ├── main.py # FastAPI 主服务
16
+ │ ├── config.py # 配置管理
17
+ │ └── api/
18
+ │ ├── analytics.py # 数据分析端点
19
+ │ ├── processing.py # 数据处理端点
20
+ │ └── visualization.py # 数据可视化端点
21
+
22
+ ├── services/
23
+ │ ├── analytics/ # [迁移自 isA_MCP]
24
+ │ │ ├── pandas_ops.py # Pandas 操作
25
+ │ │ ├── statistical.py # 统计分析
26
+ │ │ └── ml_analysis.py # ML 分析
27
+ │ │
28
+ │ ├── processing/
29
+ │ │ ├── etl.py # ETL 处理
30
+ │ │ ├── cleaning.py # 数据清洗
31
+ │ │ └── transformation.py # 数据转换
32
+ │ │
33
+ │ └── storage/
34
+ │ ├── database.py # 数据库操作
35
+ │ └── cache.py # 缓存管理
36
+
37
+ ├── core/
38
+ │ ├── logging.py
39
+ │ └── clients/
40
+ │ └── model_client.py # ISA Model 客户端
41
+
42
+ ├── deployment/
43
+ │ ├── docker/
44
+ │ │ └── Dockerfile
45
+ │ └── kubernetes/
46
+ │ └── deployment.yaml
47
+
48
+ ├── tests/
49
+ │ └── test_analytics.py
50
+
51
+ ├── requirements.txt
52
+ └── README.md
53
+ ```
54
+
55
+ ## 📡 API Endpoints
56
+
57
+ ### Data Analytics
58
+ ```
59
+ POST /api/v1/data/analyze
60
+ POST /api/v1/data/statistics
61
+ POST /api/v1/data/ml/predict
62
+ ```
63
+
64
+ ### Data Processing
65
+ ```
66
+ POST /api/v1/data/clean
67
+ POST /api/v1/data/transform
68
+ POST /api/v1/data/aggregate
69
+ ```
70
+
71
+ ### Data Visualization
72
+ ```
73
+ POST /api/v1/data/visualize/chart
74
+ POST /api/v1/data/visualize/dashboard
75
+ ```
76
+
77
+ ## 🚀 Usage
78
+
79
+ ### As Standalone Service
80
+ ```bash
81
+ # Start server
82
+ uvicorn app.main:app --host 0.0.0.0 --port 8001
83
+
84
+ # Or with Docker
85
+ docker-compose up
86
+ ```
87
+
88
+ ### Called from isA_MCP
89
+ ```python
90
+ # isA_MCP 中通过 API 调用
91
+ from tools.services.data_analytics_service import ISA_Data_Client
92
+
93
+ client = ISA_Data_Client(base_url="http://localhost:8001")
94
+ result = await client.analyze_data(
95
+ data=df,
96
+ analysis_type="descriptive"
97
+ )
98
+ ```
99
+
100
+ ## 💡 Benefits
101
+
102
+ 1. **专注**: 专门处理数据相关任务
103
+ 2. **性能**: 可以部署在大内存机器上处理大数据
104
+ 3. **隔离**: 数据处理故障不影响 MCP 主服务
105
+ 4. **可复用**: 多个服务都可以调用数据分析能力
106
+ 5. **扩展**: 未来可以添加更多数据源和分析能力
107
+
108
+ ## 🔄 Migration Status
109
+
110
+ - [ ] Phase 1: 基础架构搭建
111
+ - [ ] Phase 2: 迁移 data_analytics 模块
112
+ - [ ] Phase 3: FastAPI 端点实现
113
+ - [ ] Phase 4: 数据库集成
114
+ - [ ] Phase 5: isA_MCP 集成测试
115
+ - [ ] Phase 6: 生产部署
116
+
117
+ ## 🔗 Related Projects
118
+
119
+ - **isA_MCP**: MCP 工具层(API 调用端)
120
+ - **isA_OS**: Web & OS 操作云服务
121
+ - **isA_Model**: 模型服务
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Data Analytics Service Package
4
+
5
+ A comprehensive data analytics service implementing the MCP architecture.
6
+ Provides tools and services for data extraction, processing, and analysis.
7
+ """
8
+
9
+ # Package metadata
10
+ __version__ = "1.0.0"
11
+ __author__ = "Data Analytics Team"
12
+
13
+ # Core functionality - only import what actually exists and works
14
+ try:
15
+ from .models.dto.base_models import AssetType
16
+
17
+ # Only import working components
18
+ __all__ = ["AssetType"]
19
+
20
+ except ImportError as e:
21
+ # Graceful fallback if imports fail
22
+ __all__ = []
23
+ print(f"Warning: Some data analytics components not available: {e}")
24
+
25
+
26
+ def get_version():
27
+ """Get package version."""
28
+ return __version__
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Database, file, and graph adapters for metadata extraction
4
+ """
5
+
6
+ from .source_adapters import (
7
+ DatabaseAdapter,
8
+ PostgreSQLAdapter,
9
+ MySQLAdapter,
10
+ SQLServerAdapter,
11
+ )
12
+ from .file_adapters import FileAdapter, ExcelAdapter, CSVAdapter, DocumentAdapter
13
+
14
+ # Graph adapters not available
15
+ # from .graph_adapters import Neo4jAdapter
16
+
17
+ __all__ = [
18
+ "DatabaseAdapter",
19
+ "PostgreSQLAdapter",
20
+ "MySQLAdapter",
21
+ "SQLServerAdapter",
22
+ "FileAdapter",
23
+ "ExcelAdapter",
24
+ "CSVAdapter",
25
+ "DocumentAdapter",
26
+ # "Neo4jAdapter" # Not available
27
+ ]
@@ -0,0 +1,14 @@
1
+ """
2
+ isa_data.adapters.base
3
+ ======================
4
+
5
+ The IDataSource/IDataTarget adapter family (distinct from the metadata-extractor
6
+ ``source_adapters`` family). ``BaseAdapter`` provides the common lifecycle
7
+ (initialize/health_check/capabilities/stats); ``UnifiedDatabaseAdapter`` is the
8
+ concrete async SQL DataSource/DataTarget over asyncpg/aiomysql/aiosqlite.
9
+ """
10
+
11
+ from .base_adapter import BaseAdapter
12
+ from .database_adapter import UnifiedDatabaseAdapter
13
+
14
+ __all__ = ["BaseAdapter", "UnifiedDatabaseAdapter"]
@@ -0,0 +1,240 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Base Adapter for Data Analytics Service
4
+
5
+ Provides common functionality for all adapters.
6
+ """
7
+
8
+ import asyncio
9
+ import logging
10
+ from abc import ABC, abstractmethod
11
+ from typing import Dict, Any, Optional
12
+ from datetime import datetime
13
+
14
+ from isa_data.models.dto.interfaces import IAdapter
15
+ from isa_data.models.dto.data_models import DataSource, DataTarget
16
+
17
+ logger = logging.getLogger(__name__)
18
+
19
+ class BaseAdapter(IAdapter, ABC):
20
+ """
21
+ Base adapter class providing common functionality
22
+
23
+ All adapters should inherit from this class and implement
24
+ the abstract methods for their specific data source/target type.
25
+ """
26
+
27
+ def __init__(self, name: str, adapter_type: str):
28
+ self.name = name
29
+ self.adapter_type = adapter_type
30
+ self.config: Dict[str, Any] = {}
31
+ self.is_initialized = False
32
+ self.last_health_check: Optional[datetime] = None
33
+ self.health_status = "unknown"
34
+ self.connection = None
35
+
36
+ # Statistics tracking
37
+ self.stats = {
38
+ 'total_operations': 0,
39
+ 'successful_operations': 0,
40
+ 'failed_operations': 0,
41
+ 'last_operation_time': None,
42
+ 'average_response_time': 0.0
43
+ }
44
+
45
+ self.logger = logging.getLogger(f"{__name__}.{name}")
46
+
47
+ async def initialize(self, config: Dict[str, Any]) -> bool:
48
+ """
49
+ Initialize adapter with configuration
50
+
51
+ Args:
52
+ config: Adapter configuration
53
+
54
+ Returns:
55
+ True if initialization successful
56
+ """
57
+ try:
58
+ self.config = config
59
+ self.logger.info(f"Initializing {self.name} adapter")
60
+
61
+ # Validate configuration
62
+ if not await self._validate_config(config):
63
+ raise ValueError(f"Invalid configuration for {self.name} adapter")
64
+
65
+ # Perform adapter-specific initialization
66
+ await self._initialize_adapter()
67
+
68
+ self.is_initialized = True
69
+ self.logger.info(f"{self.name} adapter initialized successfully")
70
+ return True
71
+
72
+ except Exception as e:
73
+ self.logger.error(f"Failed to initialize {self.name} adapter: {e}")
74
+ self.is_initialized = False
75
+ return False
76
+
77
+ async def health_check(self) -> bool:
78
+ """
79
+ Check if adapter is healthy
80
+
81
+ Returns:
82
+ True if adapter is healthy
83
+ """
84
+ try:
85
+ if not self.is_initialized:
86
+ self.health_status = "not_initialized"
87
+ return False
88
+
89
+ # Perform adapter-specific health check
90
+ is_healthy = await self._perform_health_check()
91
+
92
+ self.health_status = "healthy" if is_healthy else "unhealthy"
93
+ self.last_health_check = datetime.now()
94
+
95
+ return is_healthy
96
+
97
+ except Exception as e:
98
+ self.logger.error(f"Health check failed for {self.name} adapter: {e}")
99
+ self.health_status = "error"
100
+ self.last_health_check = datetime.now()
101
+ return False
102
+
103
+ def get_capabilities(self) -> Dict[str, Any]:
104
+ """
105
+ Get adapter capabilities
106
+
107
+ Returns:
108
+ Dictionary containing adapter capabilities
109
+ """
110
+ base_capabilities = {
111
+ 'name': self.name,
112
+ 'type': self.adapter_type,
113
+ 'initialized': self.is_initialized,
114
+ 'health_status': self.health_status,
115
+ 'last_health_check': self.last_health_check.isoformat() if self.last_health_check else None,
116
+ 'statistics': self.stats.copy()
117
+ }
118
+
119
+ # Add adapter-specific capabilities
120
+ specific_capabilities = self._get_specific_capabilities()
121
+ base_capabilities.update(specific_capabilities)
122
+
123
+ return base_capabilities
124
+
125
+ def get_stats(self) -> Dict[str, Any]:
126
+ """Get adapter statistics"""
127
+ return self.stats.copy()
128
+
129
+ def _update_stats(self, operation_time: float, success: bool):
130
+ """Update adapter statistics"""
131
+ self.stats['total_operations'] += 1
132
+ self.stats['last_operation_time'] = datetime.now().isoformat()
133
+
134
+ if success:
135
+ self.stats['successful_operations'] += 1
136
+ else:
137
+ self.stats['failed_operations'] += 1
138
+
139
+ # Update average response time
140
+ if self.stats['successful_operations'] > 0:
141
+ current_avg = self.stats['average_response_time']
142
+ total_successful = self.stats['successful_operations']
143
+ self.stats['average_response_time'] = (
144
+ (current_avg * (total_successful - 1) + operation_time) / total_successful
145
+ )
146
+
147
+ async def _execute_with_stats(self, operation_name: str, operation_func, *args, **kwargs):
148
+ """Execute operation with statistics tracking"""
149
+ import time
150
+ start_time = time.time()
151
+
152
+ try:
153
+ self.logger.debug(f"Executing {operation_name} operation")
154
+ result = await operation_func(*args, **kwargs)
155
+
156
+ execution_time = time.time() - start_time
157
+ self._update_stats(execution_time, True)
158
+
159
+ self.logger.debug(f"{operation_name} completed in {execution_time:.2f}s")
160
+ return result
161
+
162
+ except Exception as e:
163
+ execution_time = time.time() - start_time
164
+ self._update_stats(execution_time, False)
165
+
166
+ self.logger.error(f"{operation_name} failed after {execution_time:.2f}s: {e}")
167
+ raise
168
+
169
+ # Abstract methods that must be implemented by subclasses
170
+
171
+ @abstractmethod
172
+ async def _validate_config(self, config: Dict[str, Any]) -> bool:
173
+ """
174
+ Validate adapter configuration
175
+
176
+ Args:
177
+ config: Configuration to validate
178
+
179
+ Returns:
180
+ True if configuration is valid
181
+ """
182
+ pass
183
+
184
+ @abstractmethod
185
+ async def _initialize_adapter(self) -> None:
186
+ """
187
+ Perform adapter-specific initialization
188
+
189
+ This method should establish connections, validate credentials,
190
+ and perform any other setup required for the adapter.
191
+ """
192
+ pass
193
+
194
+ @abstractmethod
195
+ async def _perform_health_check(self) -> bool:
196
+ """
197
+ Perform adapter-specific health check
198
+
199
+ Returns:
200
+ True if adapter is healthy
201
+ """
202
+ pass
203
+
204
+ @abstractmethod
205
+ def _get_specific_capabilities(self) -> Dict[str, Any]:
206
+ """
207
+ Get adapter-specific capabilities
208
+
209
+ Returns:
210
+ Dictionary containing adapter-specific capabilities
211
+ """
212
+ pass
213
+
214
+ # Utility methods
215
+
216
+ def _ensure_initialized(self):
217
+ """Ensure adapter is initialized"""
218
+ if not self.is_initialized:
219
+ raise RuntimeError(f"{self.name} adapter is not initialized")
220
+
221
+ async def _safe_close_connection(self):
222
+ """Safely close connection if it exists"""
223
+ if self.connection:
224
+ try:
225
+ if hasattr(self.connection, 'close'):
226
+ close_method = getattr(self.connection, 'close')
227
+ if asyncio.iscoroutinefunction(close_method):
228
+ await close_method()
229
+ else:
230
+ close_method()
231
+ elif hasattr(self.connection, 'disconnect'):
232
+ disconnect_method = getattr(self.connection, 'disconnect')
233
+ if asyncio.iscoroutinefunction(disconnect_method):
234
+ await disconnect_method()
235
+ else:
236
+ disconnect_method()
237
+ except Exception as e:
238
+ self.logger.warning(f"Error closing connection: {e}")
239
+ finally:
240
+ self.connection = None